基于matlab的Spring-ICE 结冰算法述评-(1)翼型前处理

前天和同学聊天,我问他,我的Spring-ICE到底有没有前途?

“没,太小众。”

不得不承认,这家伙的回答扎心又客观。

这个软件的算法,我前后花了近两年的时间,探索,调试。是我迄今为止做过的最难也是最系统的软件。

好巧不巧,刚读研究生,接手的第一个项目也是算法开发。工作后,发起的第一个冲锋,也是做程序。

不过我可绝非是个程序员,归根结底,我们是做工程的,所谓的算法、软件等等,目的都是为了完成数值计算,以解决工程实际问题为第一要务。

这个软件从完成后,至今未曾给我带来任何直接的收益,荣誉上的也好,金钱上的也罢。但是,通过这个过程,我对工程分析软件的定位,对数值算法的理解等多个层面的认知提高了很多。从个人科技树的角度,这个科技可能点歪了,但确实收获良多。

我希望能从头到尾,把这个算法的一些心得和思考整理出来,为己鉴,为后人鉴。

 

1 Spring-ICE结冰软件简介

 

之前在往期的文章里,简单介绍过。此处再提下。

这款软件的功能是要完成翼型在特定飞行工况、气象工况下的结冰冰型的预测。

(1)       要完成冰型的预测,就必须先计算流场,拿到速度分布的数据。

(2)       其后,我们假定翼型前方有大量过悬浮小水滴,在流场的推动下,水滴往翼面上撞击,从而确定出,翼型哪些地方被水撞到了,撞到了多少。

(3)       最后,根据热平衡,计算这些水冻结多少,流到翼面其他地方多少。

(4)       水冻成冰以后,翼面的边界上长出冰了,这时候,流场发生变化,再重复上述的步骤,继续结冰。

这里面主要的大块,是流场计算、水滴撞击的计算、热平衡的分析。要想把这个过程成功的实施并衔接得当,还要完成诸如翼型几何的处理、冰型的生长更新等多个零散的细节难点。

再进一步,你还希望别人拿过来就能很快用起来这个软件,那么就需要便捷的操作,越简单越好。这就意味着,算法的鲁棒性、强大的前后处理都要非常完备。

再再进一步,你还想要它算的足够准,那就需要足够的试验数据来校准算法。

Spring-ICE基本上走完了上面的步骤。今天就先介绍下它的翼型前处理算法。

 

1.png

Spring-ICE LOGO

2.png

Spring-ICE 操作界面

 

2 翼型前处理—过密点的稀疏化处理

Spring-ICE首先加了对过密点的稀疏化处理模块。之所以做这个处理,是为了防止过密点影响计算效率。经过测试,100—150个点左右,足够保证计算精度。Spring-ICE没有对过少的点做加密处理,是因为大部分的从业者,在做网格时,都有着网格不能太粗的常识。

稀疏化的处理方法如下:

(1)   定义一个参考长度,这个相当于是一个衡量是否过密的标尺,如果你希望整个翼型节点在150左右,那么这个参考长度就可以定为翼型总弧长的1/150。

(2)   从尾缘点开始,逐个进行如下步骤:

n  固定住当前点,向下搜索,逐个确定处于参考长度内的点。

n  消除参考长度内的点。

(3)   更新翼型点。进入下个循环

3.png

参考标尺示意

4.png

             

5.png

     稀疏化后的结果

3 翼型前处理—前缘区域的加密

 

稀疏化处理后,可能会面临前缘点布置不够精密的问题。为此对前缘点进行适当加密。这个加密不是说在两个点直接加一个中点。我们知道,节点连在一起是折线,直接在折线上加点,意义不大。所以需要通过样条曲线,完成加密。

6.png

思路如下:

(1)       搜索出前缘加密区的点,你可以定义前5%或者10%作为加密区。Spring-ICE定义的是5%。

(2)       建立加密区样条;

(3)       根据样条函数,通过极坐标方式完成新的点排布。

(4)       用新的加密点替换原来翼型的加密区。

加密后的结果

3 小结

 

上面的方法只是一个参考,如果你有更好的思路或者对这款软件有兴趣,欢迎通过微信公众号联系我们。

微信公众号:320科技工作室。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CAE320

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值