首页/文章/ 详情

我是如何开发飞机结冰软件的

6月前浏览543

关键词:飞机结冰,CFD,面元法,拉格朗日法,软件开发

熟悉我们的读者都知道,我本来就是做结构力学的出身,现在开发一些工业软件。

但实际上,我第一次正儿八经硬刚求解器,是做的CFD求解器。那会不知天高地厚,找来几本书,就开始胡乱练功。

之所以死磕CFD求解器,是因为我当时想开发一个飞机结冰软件,用来预测机翼穿云结冰的冰形。要实现这样的功能,需要进行流场计算、水滴两相流计算、结冰热力学计算。

流场计算就是第一步。大部分事情都是这样,环环相扣。要搞流体求解器,还要搞自动生成网格,因为水滴积聚结冰是一个时间过程,翼型和流场网格需要同步更新。

那个时候还没有AI,身边也没有人指导,我还瞎琢磨了很长时间的网格生成技术,处处踩坑。

流体求解器

一般来说,CFD三大数值算法,有限差分、有限体积、有限元。其中有限体积目前可以说是主流。有限体积我研究了半天也没研究明白,后来干脆转向自己熟悉的有限元法。

不久,就有了第一版跑通的程序,也不知道自己写的对不对。我用圆柱绕流的算例,又开始去写水滴两相流代码,可是水滴的轨迹有了,但是水滴始终无法撞击到圆柱上,总是绕着圆柱走。

我这时候就开始怀疑,可能是流场不对。因为这个绕流的云图和其他人总是不太一样,怪怪的。

我的速度云图

别人的速度云图

然后我就每天查资料,改代码,再查,再改。如此反复,折腾了小半年。

刚进入一个自己不熟悉的领域,一定要找人指导,不需要很细,方向能指导就行。自己关门练功,极容易走火入魔。懂行的人,一看我这个结果,应该就能意识到,问题出在我的这个圆柱相比于流场来说太大了。

或者说,我的流场域太小了,通常模拟飞机在大气中运动,都要用足够大的区域包住飞机来说做网格。我也是后来做CFD仿真,才意识到问题所在。

当时我不了解这个情况,就准备放弃了。后来科室师傅建议我用面元法做流场计算。面元法不需要流场网格,只需要知道壁面的网格即可。

这额外带来了三个好处:

(1) 编程简单了,计算效率也高了;

(2) 结冰后,网格更新简单了,只要更新壁面节点就行;

(3) 两相流计算水滴轨迹的时候,不需要通过网格插值水滴位置的速度。

面元法得到的速度云图

水滴轨迹求解

水滴在流场中的运动,受到如下条件支配:

(1) 所在位置的流场速度;

(2) 水滴自身的重力、升力、阻力。

根据受力和牛顿第二定律,可以建立水滴的运动轨迹方程。这个就是所谓的拉格朗日法。

水滴的运动轨迹是和时间相关的常微分方程,可以通过四阶龙格库塔法按时间推进求解。

蓝:流线;红:水滴轨迹

然而,当我用圆柱算例去做的时候,仍然没有做出水滴撞击的效果。

纠结了很久我才意识到。不是流场不对,也不是水滴轨迹求的不对。

是模型不对!我设置的圆柱的半径是0.5m。它实在太大了,把气流和水滴“都撑开了”。

哪有前缘半径能到半米的机翼呢。好家伙,这一个错误,就耽误了我一年多的功夫。外行最缺的就是这些常识性的东西。

冰形求解

最后一个槛是结冰模型。它要解决的问题是,水滴撞击到前缘不同单元,但是由于温度限制,所有撞击的水不一定都能结成冰。没有结冰的水又接着沿着壁面滑进另一个单元参与结冰。

听着复杂,编程起来更复杂。这个模型涉及的参数特别多,方程的参数多,求解也难,其中一步还需要通过牛顿迭代法求解。

反正也是死磕了很久,终于能算出冰形了。但是这个时候又遇到一个麻烦。文献上,一般都是通过多步法时间迭代出一个符合试验的冰形。我自己也使用过NASA 的Lewice结冰软件,一般都要设置十几步迭代才能算出好冰形。

我的程序稍微多算几步,冰就发散了。并且经过反复测试,我发现我的算法设置成两到三步,算出的冰反而效果很好。

软件封装

那个时候,生活和工作所迫,我已经花了两年多的时候在这个上面,已无心再纠结具体原因。速速对软件进行了封装,给软件取名为Spring 2D,并完成了大量案例的测试。

Spring 2D界面

Spring 2D结果、Lewice结果、试验对比

当年最开始接触这个领域的时候,我发现国内没有冰形计算效率和精度能够同时追上NASA Lewice的软件。我心想,只要这个软件开发出来,我就一战成名,库库挣大钱。

两年多过去后,软件真的做了出来,计算效率比NASA Lewice高,几秒就能算出一个冰形。精度水平也是持平的。除了一点成就感之外,我早就明白这个东西是赚不到钱的,它几乎是没有市场的,太小众了。

靠一个东西的成功,就能彻底翻身的事情,是不会发生在我们普通人身上的。即便有,也是和中彩 票的概率差不多。不是说这个东西很难,我解决了,我就发达了。不存在的,能力和变现之间还缺一个最重要的东西,就是渠道。普通人是没有渠道的。

多年谜团终破解

前面提到,大部分文献里都提出要用多步(一般十几步)才能得到好的冰形,国内这种论文更多,几乎成了铁律。像我这两三步算出来的,都不敢往外说。

一直到去年,我无意中阅读到了90年代NASA的报告。这个报告讲的是英法美三国互相交流、验证各自结冰算法的情况。

看完我大吃一惊,英国的DRA结冰程序的单步结果比多步结果更好。这和我的情况不是一样吗!

我这才意识到,我之前看问题的角度错了。结冰计算,涉及到流场、水滴、结冰热力学、网格、各种迭代还有一大堆参数。不能把它当成是一个软件,要把它当一个系统。

直白点说,就是这所有的算法和编程细节,都是系统的一部分。只要两个人,不是用的一模一样的算法和代码,那么他们开发的结冰软件就是两个系统。不同系统,自然有各自的特性。

有的系统多步算的准,有的系统少量步数算的准,这都是特性。不是一定之规。

Spring 2D不同步数结果对比

结冰软件,让我走上了开发工业软件的路。从接触它到现在有近10年的时间,期间工作、生活诸多波折变动,这个软件也是从迷雾重重中开发出来,有遗憾有惊喜,唯独没有放弃。于我而言,这个经历是一辈子难以忘怀的。


来源:静界有限元
二次开发试验有限差分
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-02-05
最近编辑:6月前
静界有限元
博士 签名征集中
获赞 27粉丝 4文章 58课程 0
点赞
收藏
作者推荐

803杂谈:古代的总师怎么当?

古散文,能够流传至今的,大多古朴大气,要么记叙历史,要么明哲析理,哪怕是观景,都要感悟出许多道理。极少小家子气的说些猫三狗四之事,更不会故弄玄虚强扯什么海德格尔。唐,柳宗元,著名的唐宋八大家之一。少年便成就才名,21岁中进士,26岁中了词科。文章千古事,熟读经史的人自然比普通人更了解文章的力量。一篇文章可以抚慰万千人之心,可以发举国之兵,可以三分天下,可以倾覆强权王朝。古代大儒都把写好文章当成了毕生的追求。当然,作为一个儒学信徒,治国平天下更是他们的第一件要务。30岁之前的柳宗元,读书、考学、游历、做官,在理想的道路上按部就班的狂奔。其祖上曾出过宰相,当时的柳宗元应该是意气风发,才华也被世人所称道。估计他时常心里也会暗暗的想,或许将来官拜宰相,尽可一展平生所学。当然,这个时候的他是万万想不到30岁后会一贬再贬,甚至在永州这个小地方窝了整整十年。说来也奇,治国平天下的理想没实现,倒让他有了足够的时间钻研学问,窝了十年,也写了十年。人生几多十年哪!宰相没当成,但是怎么当宰相,柳宗元可是钻研了不少,可以说是颇有心得。他的《种树郭橐驼传》、《梓人传》都可以看出他的政治思想。今天就来说说《梓人传》。所谓梓人,说的就是木匠,放在现在,可以叫他是土木工程师。《梓人传》讲的是木匠里的头头,往小了叫,是包工头,往大了叫,是总设计师,简称总师。在我们这个时代,各行各业出身的政治家都有,甚至一度国家级领导人都是工程师出身。搞大工程和治国,确有很多相似之处。但是在古代,万般皆下品,匠人的社会地位更是很低,一身本事被称为奇技淫巧。但是作为一个文学家,天生就是极敏感的。柳宗元很善于观察生活,总结生活。进入《梓人传》的故事。说柳宗元妹夫住在京城的光德里。有天有个木匠来到他妹夫家敲门,想租个房住,用自己的手艺帮主人干活抵扣房租。只见这匠人大包小包带了不少东西,打开一看都是写尺子圆规之类的工具。要说还是古时候的手艺人把技术看的很重,核心技术从来都靠脑子记,连本结构力学之类的工具书都不带。问他有什么能耐,木匠倒是大言不惭,他说:“我是搞总体设计的。只要给我 草图,我就能拿出实施方案。然后我再指挥众工匠去实现它。离了我,大家就不能建成一栋房子。所有如果给官府干活,我得到的奉禄比别人多三倍,如果给私人家里干活,我取全部报酬的一大半。”柳宗元听他吹完牛,起了好奇心。有一天,就进了木匠的住屋,估计是想聊聊天。这时候柳宗元就发现,木匠的床缺了腿却不修理。柳宗元就问:老哥你床腿坏了,这是你的专业,咋不修修啊。木匠说:我过两天喊个木匠来修。这给柳宗元惊了个呆,心说你前几天还吹,什么没你就建不成房子,自己的床腿坏了都不会修。看来又是个不学无术的大忽悠。后来,京兆尹(首都市长)将要修建官衙的房屋,不知怎么的,这木匠竟然中标,拿到了这个项目。柳宗元又来了好奇心,心说这个木匠啥也不会,还能建市委办公大楼?于是柳宗元这次就跑到现场去看。这一看,又惊了个呆。只见施工现场,所有工人都围着那个匠人。边上是一面墙,墙上画了大概一张A3图纸大小的设计图,图里面细致详尽地画出了房子的建筑构造。木匠左手拿着长尺,右手拿着木杖,看着图。好像是估算各个结构的承力情况。然后挥动他的木杖说:“用斧子砍!”那拿斧子的就跑到右边去砍。回头指着木材说:“用锯子锯!”那拿锯的就跑到左边去锯。不一会,拿斧子的砍,拿刀的削,全都看着他的脸色,等待他的发指令,没有一个敢自做主张的。凡是干的不对劲的人,立马被他当场骂走。就这样,过了一段时间,大楼建好了,竟然和图上所绘丝毫不差!建成后,木匠拿起笔,在一根柱子写道:某年某月某日某某修建,落款是他的大名。而其他被他指挥的工匠都不在上面列名。木匠的字不算好看,不算难看,但是却有种奇异的魔力镇住了柳宗元。这个哥们真牛,只动脑子,坚决不动手!总揽全局,千军万马如臂使指,真总师也。所谓,劳心者役人,劳力者役于人啊。 然后柳宗元由此及彼,联想到治国与建房同理。并仔细对比了总师和宰相的相似性,总师用尺规设计图纸,宰相定法度立制度;总师让善使锯子的人锯木头,宰相选贤举能治理国家;总师看图纸,脑子里就能规划好房屋的建造方案,宰相知一地而知天下。 当然这还远远不够,总师需要项目委托方充分的信任,不干涉他的设计。宰相需要天子的鼎力支持和理解,不能朝令夕改。 如果对方不信任呢?答曰:卷其术,默其智,悠尔而去,不屈吾道!来源:静界有限元

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈