Aero-Matic是一种Web应用程序,它使用HTML接口在飞机上收集用户提交的数据,然后生成配置文件,以与JSBSIM Flight Dynamics模型一起使用。在建模飞机时,Aero-Matic试图在简单和准确性之间取得平衡。生成的配置文件将导致合理的飞机模型,并且仅基于几个数据点,这些数据点应该可以从书籍或互联网来源轻松获得。
假设我们想制作MIG-21的模型。在这种情况下,我们将需要两个配置文件,一个Aero配置和一个引擎配置。显然,我们不需要MIG-21的螺旋桨配置。
第一步是在浏览器中打开空气。第一步是为MIG-21定义发动机。从世界空中的百科全书中,我找到了有关MIG-21使用的引擎的以下信息。姓名:Tumansky_R25,类型:涡轮,推力(不加燃烧):10000磅和燃烧后的燃烧,但注入水。请注意,您为引擎选择的名称应该是合适的文件名,因此仅使用合适的字符。
当您单击“生成”按钮时,Aero-Matic将将信息发送到Engine2.php ,该信息将进行一些计算并将结果发送回您。结果看起来像垃圾,因为配置文件并不意味着在浏览器窗口中看起来不错。如果您查看文档源,则会看到该文件的真实情况。使用文件名Tumansky_R25.xml保存此文件,然后将其与所有其他引擎一起放入$FGROOT/Engine目录中。
跳过螺旋桨形式,填充空气形式。您必须首先选择英语或指标的单元系统。您不能混合单位!现在用于飞机数据。对于MIG-21,我有以下数据。名称:MIG21,类型:单引擎战斗机,最大起飞重量:22,000磅,跨度:23.5英尺,长度:51.75英尺,机翼面积:247平方英尺,三轮车起落架(意味着第三个车轮在主车轮的前面),一个发动机,发动机,发动机类型:涡轮机,发动机布局:Aft FuseLage。我的消息来源没有说MIG-21是否具有偏航阻尼器,但是由于它是高性能的喷气机,所以我会认为它需要一个。
现在,单击“生成”,数据将发送到Aero2.php ,该数据将进行一些计算,并将配置文件返回给您。与以前的配置文件一样,它看起来像浏览器窗口中的垃圾,但是如果您查看文档源,则将看起来正确。将此文件另存为Mig21.xml ,然后将其放入$FGROOT/Aircraft/Mig21文件夹中。现在,您将必须在文本编辑器中打开文件并进行更改。在Aero文件的“推进”部分中,您将找到对引擎名称Mig21_engine的文件名的引用。编辑此名称以阅读Tumansky_R25 。现在,您的MIG-21将与正确的引擎匹配。
如果您对多引擎飞机进行建模,则必须为每个发动机进行上述更改。如果要建模螺旋桨驱动的飞机,则还必须更改推进器文件名,以反映螺旋桨配置文件的文件名。这必须为每个螺旋桨做。
笔记!!请注意,可以将某些浏览器配置为添加HTML标签并在不告诉您的情况下对文件进行其他更改。这将防止航空摩托车工作!另外,在显示文档源时,一些浏览器将重新加载当前页面。这可能会导致不良文件。另外,请注意将要获取缓存页面而不是新页面的浏览器。
Engine.php根据下表为JSBSIM引擎模块创建配置文件:
| 引擎类型 | JSBSIM模块 |
|---|---|
| 活塞 | fgpiston |
| 涡轮 | fgturbine |
| 涡轮螺旋桨飞机 | fgturbine |
| 火箭 | fgrocket |
用户输入首先转换为英语单元。然后打印标题,并将用户输入回声为注释。现在, engine2.php打印针对发动机类型的数据。活塞发动机进行的唯一计算是位移,该计算基于假定的每立方英寸0.625 hp。所有其他活塞发动机值都是“典型”。
涡轮发动机的假定旁路比为1.0,TSFC为0.8。模块所需的其他数据充满了“典型”值。如果选择的话,将启用燃烧和注入水。
涡轮螺旋桨发动机被建模为旁路比为0的涡轮机,TSFC为0.55。使用1 HP等于2.24磅推力的粗糙近似值将最大功率值转换为最大推力值。然后将推力设置为高速下降,从而模拟螺旋桨。
火箭发动机是乔恩·伯恩特(Jon Berndt)的X-15发动机。
Prop.php首先将用户输入转换为英语单元,然后将输入回声为注释。螺旋桨是通过首先估计总“线性刀片英寸”(即所有刀片长度的总和)来建模的,即吸收发动机的功率。我使用马力的平方根的5.3倍,这是一种基于曲线拟合发动机/支撑组合样品的配方。这里没有科学。使用以下图表估算刀片的数量:
| 发动机马力 | 刀片数 |
|---|---|
| <400 | 2 |
| 400 < - <1400 | 3 |
| 1400+ | 4 |
每个刀片的质量估计为每英尺0.9317 sl。其余值是“典型”。
Aero.php首先将用户输入转换为英语单位。第一个计算是根据此图表,根据飞机类型估算机翼载荷以最大的重量:
| 飞机类型 | 机翼加载(PSF) |
|---|---|
| 滑翔机 | 7 |
| 轻单 | 14 |
| 轻双胞胎 | 29 |
| 第二次世界大战战斗机,赛车手,特技战斗机 | 45 |
| 单引擎透射/超音速战斗机 | 95 |
| 两个发动机透射/超音速战斗机 | 100 |
| 两次发动机跨通心运输 | 110 |
| 三个发动机跨通心运输 | 110 |
| 四个+发动机跨通心运输 | 110 |
| 多引擎道具运输 | 57 |
如果用户不提供机翼区域,则使用机翼加载和最大重量来估计一个。如果用户确实提供机翼区域,则计算实际的机翼加载,并用来代替图表值。
一旦建立了机翼区域,将其按机翼跨度分开,以给出平均的空气动力和弦。通过将机翼面积乘以飞机类型,尾巴表面的区域估计。从飞机长度和类型中估算出尾表面的矩臂。
使用罗斯卡姆的公式和常数,用于各种飞机类型的飞机惯性矩约三轴。目前,我将瞬间增加了50%,以弥补控制棒中缺乏感觉。
通过根据飞机类型将最大重量多于将最大重量多于最大重量的估计,可以估计飞机的ZFW,零燃料的重量。该值在JSBSIM配置中称为“空重”。
接下来,估计飞机的重心CG位置。当估计水平稳定器矩臂时,已经假定纵向(X轴)位置,因此该距离用于以英寸为英寸的鼻子从鼻子中获得CG的纵向位置。 CG位于X和Y轴的交点上,在飞机侧向符号的假设下,因此Y位置为零。我将CG的垂直(Z)位置放在中心线以下。为简单起见,空气动力学中心的位置与CG相同,只是它在CG上方有点以帮助稳定性。
然后根据飞机类型估算飞行员目镜的位置。
起落架位置基于CG位置。三轮车主轮略微放置在CG后面,而Taildragger主轮则稍微向前。主齿轮的横向扩展是机翼跨度和飞机类型的函数。主齿轮的Z位置基于飞机的长度。这是从中心线到轮胎底部的英寸距离,当齿轮伸展并自由悬挂时。请注意,滑翔机提出了一个问题,即JSBSIM目前支持三个接地接触点,而滑翔机需要五个(主轮,鼻子滑动,尾车轮和两个机翼尖端)。从飞机长度和主齿轮的位置估计鼻子或尾车轮的位置。
发动机和推进器根据用户选择的发动机布局以及引擎间距和位置的一些假设定位。 N+1燃油箱适用于N引擎飞机。所有燃油箱都位于重力中心,含有500磅的燃料。
每架飞机的FCS,飞行控制系统都是相同的,除了偏航阻尼器,只有在用户需要的情况下才添加。
升力力是基于由假定的CL_0,CL_ALPHA和CL_MAX用于飞机类型的LIFT-VS-ALPHA曲线。根据飞机类型估算了由于皮瓣引起的额外升降机。某些类型的升降机会降低,这是由于快速制动器(或扰流板)。所有类型的电梯挠度都具有基于飞机类型的电梯挠度。
阻力力由CD0(零升级),CDI(诱导的拖动),CDMACH(由于可压缩性引起),CDFLAP,CDGEAR,CDGEAR,CDSB(Speedbrakes),CDBETA(由于侧滑而拖动)和CDDE(由于电梯偏转而引起的阻力)。
唯一使用的侧面力是由于偏航角(侧滑)引起的力。
使用的滚动矩是CLBETA(由于侧滑而滚动),CLP(滚动阻尼),CLR(由于偏航速率而引起的滚动),CLDA(由于ailerons引起的滚动)和CLDR(由于舵偏转而引起的滚动)。
所使用的音高矩是CMALPHA(由于攻击角的俯仰),CMDE(由于电梯的偏转而引起的俯仰),CMQ(由于俯仰速率)和CMADOT(由于Alpha速率引起的俯仰)。
偏航矩是CNBETA(由于侧滑而引起的偏航),CNR(偏航阻尼),CNDR(由于舵偏转引起的偏航)和CNDA(不良偏航)。
这是基于David P. Culp的原始PHP应用程序,并已由Bertrand Coconnier移植到HTML/CSS/JavaScript上。