在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前天和同学聊天,我问他,我的Spring-ICE到底有没有前途? “没,太小众。” 不得不承认,这家伙的回答扎心又客观。 这个软件的算法,我前后花了近两年的时间,探索,调试。是我迄今为止做过的最难也是最系统的软件。 好巧不巧,刚读研究生,接手的第一个项目也是算法开发。工作后,发起的第一个冲锋,也是做程序。 不过我可绝非是个程序员,归根结底,我们是做工程的,所谓的算法、软件等等,目的都是为了完成数值计算,以解决工程实际问题为第一要务。 这个软件从完成后,至今未曾给我带来任何直接的收益,荣誉上的也好,金钱上的也罢。但是,通过这个过程,我对工程分析软件的定位,对数值算法的理解等多个层面的认知提高了很多。从个人科技树的角度,这个科技可能点歪了,但确实收获良多。 我希望能从头到尾,把这个算法的一些心得和思考整理出来,为己鉴,为后人鉴。
1 Spring-ICE结冰软件简介
之前在往期的文章里,简单介绍过。此处再提下。 这款软件的功能是要完成翼型在特定飞行工况、气象工况下的结冰冰型的预测。 (1) 要完成冰型的预测,就必须先计算流场,拿到速度分布的数据。 (2) 其后,我们假定翼型前方有大量过悬浮小水滴,在流场的推动下,水滴往翼面上撞击,从而确定出,翼型哪些地方被水撞到了,撞到了多少。 (3) 最后,根据热平衡,计算这些水冻结多少,流到翼面其他地方多少。 (4) 水冻成冰以后,翼面的边界上长出冰了,这时候,流场发生变化,再重复上述的步骤,继续结冰。 这里面主要的大块,是流场计算、水滴撞击的计算、热平衡的分析。要想把这个过程成功的实施并衔接得当,还要完成诸如翼型几何的处理、冰型的生长更新等多个零散的细节难点。 再进一步,你还希望别人拿过来就能很快用起来这个软件,那么就需要便捷的操作,越简单越好。这就意味着,算法的鲁棒性、强大的前后处理都要非常完备。 再再进一步,你还想要它算的足够准,那就需要足够的试验数据来校准算法。 Spring-ICE基本上走完了上面的步骤。今天就先介绍下它的翼型前处理算法。
Spring-ICE LOGO Spring-ICE 操作界面
2 翼型前处理—过密点的稀疏化处理Spring-ICE首先加了对过密点的稀疏化处理模块。之所以做这个处理,是为了防止过密点影响计算效率。经过测试,100—150个点左右,足够保证计算精度。Spring-ICE没有对过少的点做加密处理,是因为大部分的从业者,在做网格时,都有着网格不能太粗的常识。 稀疏化的处理方法如下: (1) 定义一个参考长度,这个相当于是一个衡量是否过密的标尺,如果你希望整个翼型节点在150左右,那么这个参考长度就可以定为翼型总弧长的1/150。 (2) 从尾缘点开始,逐个进行如下步骤: n 固定住当前点,向下搜索,逐个确定处于参考长度内的点。 n 消除参考长度内的点。 (3) 更新翼型点。进入下个循环 参考标尺示意
稀疏化后的结果 3 翼型前处理—前缘区域的加密
稀疏化处理后,可能会面临前缘点布置不够精密的问题。为此对前缘点进行适当加密。这个加密不是说在两个点直接加一个中点。我们知道,节点连在一起是折线,直接在折线上加点,意义不大。所以需要通过样条曲线,完成加密。 思路如下: (1) 搜索出前缘加密区的点,你可以定义前5%或者10%作为加密区。Spring-ICE定义的是5%。 (2) 建立加密区样条; (3) 根据样条函数,通过极坐标方式完成新的点排布。 (4) 用新的加密点替换原来翼型的加密区。 加密后的结果 3 小结
上面的方法只是一个参考,如果你有更好的思路或者对这款软件有兴趣,欢迎通过微信公众号联系我们。 微信公众号:320科技工作室。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论