找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10438|回复: 9

比较飞行模拟中模拟气动的方法

  [复制链接]
发表于 2014-1-30 12:15:37 | 显示全部楼层 |阅读模式
本帖最后由 rartist 于 2014-1-30 12:17 编辑

比较飞行模拟中模拟气动的方法

大家新年快乐!

自从加了美联航,也没对大家做什么贡献,最近对气动模拟有兴趣,写出自己的一些想法给大家参考。欢迎拍砖,欢迎纠错,欢迎鼓励哦。大家一起讨论一起进步嘛。写了两千多字了,发现连一半还没写完呢,可是夜深了,明天继续写吧。

如果大大们觉得这帖子发在这里不好,或者是想移动的话,请随意处置!

气动模型这个词还是我自己随便起的,是想翻译英文中FDE(Flight Dynamics Engine)这个词。直译过来的话是飞行动力学引擎。
最近越来越忙,能够抽出整块的时间飞干线客机的完整航线的机会越来越少,所以渐渐对小型通用飞机(GeneralAircraft)以及VFR飞行更加青睐。VFR飞行准备时间短,航线也比较随便,再加上一直在用的VoxATC也有对VFR的支持,可以允许我在不长的时间里也能有很好的模拟飞行体验。
在FSX中,小型通用飞机的插件种类比大型干线客机要多得多,而评价一款小飞机插件的品质,气动模拟显得尤为重要。最近一周一直在网上搜集模拟飞行气动模拟方面的资料,比较各个插件甚至各个模拟飞行平台之间气动模拟的差异。目前公认的比较成熟的模拟飞行平台我总结为一下三款:FSX,X-plane,P3Dv2。而P3D系列和FSX在气动上是换汤不换药,所以实际上就是两大派:以FSX为首的lookup table党和以X-plane为首的实时计算党。
何为FDE气动模型:
凡是对模拟飞行有点兴趣,或者是自己看过一些关于飞行的书籍的同学们一定见过这样一张图:一架C172或者类似的小飞机的侧面图,上面画着上下左右四个箭头,分别注着推力,阻力,升力,重力。这四个里其实就是飞机飞行中(模拟飞行&现实飞行)飞机受到的四个最主要的力。其实总体来时,飞机受到外力可以被总结为在三维空间中的一个矢量力和一个矢量力矩,这个力和力矩平衡飞机自身的惯性力和转动惯量,而这个力和这个力矩,就是我们要从FDE(气动模型)里计算出来的结果。首先,为什么说是矢量力呢,矢量是有大小有方向的,刚刚我说的小飞机上的四个主要的力中,除了重力,其他的力都可以称为外力,这三个里可以合称为一个有大小有方向的矢量力,大小大概等于重力,方向大概朝上与重力相反。等等,为什么说大概?因为我们最少还缺了两个力。如果我们把这个小飞机从平面上拿到空间里,重力朝下,升力朝上,推力朝前,阻力朝后,缺的就是一个朝左的力和一个朝右的力。想象一下,一架C172正在以70节的速度接近,突然一阵侧风吹来,飞行员发现,飞机不再飞向跑道了,而是貌似有飞到机场旁边农民伯伯菜园子里的趋势。这侧风加在飞机上的力,就是我们刚刚没有算进去的朝左和朝右的力。
说了这么多,这些乱七八糟的箭头和气动有什么关系呢?让我们来回顾一下,飞机受到的外力有推力,阻力,升力,东西南北风吹在飞机上产生的力,这些力说白了都是空气作用在飞机上的力(废话,飞机在天上飞,四周接触到的都是空气,当然力都是从空气来的了)。而且……这些力…..(好吧,这些压强)……都是由……空气相对于飞机表面的速度和相对的角度决定的!怎么样,瞬间觉得高端大气上档次了吧。不过,对于模拟飞行,推力可以算一个特例,因为与其去通过飞机螺旋桨相对于空气运动的速度和角度来计算空气施加在叶片上的压强,在把叶片各个地方的压强在面积上积分来算推力,直接用发动机的功率和螺旋桨叶片的效率,以及飞机相对空气的速度来估计推力更容易,而且效率更高。(其实这已经算是lookuptable了,一会我再解释到底什么事lookup table)(sorry,句子写的太长了,凑合着能理解就成了)
然而,其他的力就没有这么幸运了。举一个简单的例子,还是那架刚刚差点冲进菜园子里的C172,飞行员小伙把飞机拉起来以后在1000ft以80节平飞,配平调好,天下太平,悠然自得的时候,突然想起来自己和女朋友约好10分钟以后在100mile以外的一个机场见面,情急之下不在顾忌什么经济用油了,直接节流阀推到底。这个时候会发生什么?(我指的是除了飞机发动机的声音变大,飞机的空速表度数变高以外)对了,飞机的垂直速度会增加,以前是0的,现在可能变成了+100,而且还在增加ing,与此同时,机头开始逐渐有上扬的趋势。这是为什么?因为飞机机翼的升力主要由流过机翼的空气速度(大致为飞机的表速)和机翼相对空气流动方向的夹角(攻角Angle of attack)决定的。飞机飞行的速度快了,机翼提供的升力自然就变大了,同时呢,由于机翼提供的升力的中心在飞机重心的稍稍靠前的位置,这个力臂又把这多出来的升力转变成了多出来的仰头的力矩。所以这个飞行员小伙子如果要保持1000ft,就要顶杆,保持垂直速度,同时配平,使飞机以一个比之前80kt平飞的时候低一些的攻角飞行。
而以上的这个情景,不管是FSX,还是P3D,还是X-plane,还是look on,还是BMS,还是……,还是你手机上的小游戏,都可以实现,但是,实现的手段是不一样的。话说回来,不管是什么样的手段,都可以被归为FDE,气动模型。
Look up table
啥叫look up table?这个名字其实是X-plane的忠实粉丝们为了嘲讽FSX的气动数据不是通过计算,而是通过查表格得来的,给FSX的FDE取的名字。好比说一张课程表,五列表示一周五个工作日,八行表示每天要上的八节课,我想知道周三第二节课是什么,看表格的第三列第二行上写的课程就可以了。同样的,在FSX里每架飞机都有自己的一个大表格(其实是一个.air文件),我想知道C172在80kt以5度攻角飞行的时候翼面上产生的升力是多少,查80kt对应的那列5度攻角对应的那行里的数据就可以了。当然了,这个大表格里不止可以查到升力,同样的,升力也不仅仅只由速度和攻角决定,这样说只是为了方便大家伙儿理解。
实时计算
这个名字也是我自己取的啦,相对于FSX里那个开始模拟飞行之前就已经做好的大表格,X-plane里的气动数据是通过大气的性质(速度,温度,密度…..)以及机模的几何外形,通过有限元分析的方法和一些简单的空气动力学公式,在飞行模拟的过程中实时算出来的。至于这里我为什么说是简单的空气动力学公式,一会儿,我会解释。
说到这里,我们不难理解为什么一个和课程表一个原理的气动模型会被一个集空气动力学,有限元分析,以及积分微分等一堆高大上的手段于一身实时计算气动的方法嘲讽了吧。
如果大家还记得1204个字以前我提到的关于推力的算法,那个神马速度角度压强积分就是实时计算的例子,而那个功率效率神马的就是lookuptable 的例子啦。


今儿就写到这,明天继续分析这两种方法的利弊,敬请关注!

UAL9173

发表于 2014-1-30 12:31:25 | 显示全部楼层
前排围观技术贴!
回复

使用道具 举报

发表于 2014-1-30 13:19:59 | 显示全部楼层
哇 纯纯的技术贴啊 可惜现在FSX没法把气动做得真实 毕竟只有8个G
回复

使用道具 举报

发表于 2014-2-1 15:49:24 | 显示全部楼层
卧槽,技术神人,MARK一记
回复

使用道具 举报

发表于 2014-2-6 02:25:12 | 显示全部楼层
系統整理XP、FSX FDE 利弊點讚!
回复

使用道具 举报

发表于 2014-2-9 10:22:37 | 显示全部楼层
说实话,我对X-Plane飞机模型的精度有质疑。
回复

使用道具 举报

发表于 2014-2-14 15:04:06 | 显示全部楼层
受益匪浅,楼主真的是技术派
回复

使用道具 举报

发表于 2014-2-14 15:17:20 | 显示全部楼层
赞啊,从这篇帖子里学到了很多……原来FSX是这样的……
回复

使用道具 举报

发表于 2014-2-21 15:43:41 | 显示全部楼层
求更新!
另外,.AIR文件怎么编辑啊??
回复

使用道具 举报

发表于 2017-8-11 12:39:59 | 显示全部楼层
其实只要数据准确,这两者的差别不会很大。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表