许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  Fluent-Expression:计算结果导向边界条件,灵活应用

Fluent-Expression:计算结果导向边界条件,灵活应用

阅读数 5
点赞 0
article_banner

本篇文章是对下面文章的补充修改

因为文章中的这部分内容存在重大 bug,先问问你们能找到bug在哪里吗?

有bug的部分

揭晓答案:

上面的算法并不是一定收敛的,上面的算法用了下面图片的螺旋迭代 大法,逆时针螺旋是可以逐渐收敛的,但是顺时针迭代一定会发散(自己脑补出来)

而我们上面的迭代大法用的就是顺时针迭代,gg ......

所以办法之一就是改迭代方向,也就是原来速度入口要改成压力入口,以速度结果为导向开展迭代,这样不稳定的方法我不太喜欢...

我还是喜欢简单粗暴稳定收敛的二分迭代法 ,设定一个初始区间,然后取中值,判断计算的压降和目标压降关系,重新设定二分区间 ,再取中值...

怎么在Fluent里实现呢,我知道可以写udf,然而我就是不太想写...别问为什么,我就是我觉得自己编的算平均压力算不准

所以又秀一把 Expression

变量名 = 式子
VMinOrigin=6[m/s] (初始迭代下限)
VMaxOrigin=8[m/s] (初始迭代上限)
VCurrent=Average(VelocityMagnitude,["inlet"],Weight=None) (当前速度)
P_Target=(9.9026[m/s]-Average(VelocityMagnitude,["inlet"],Weight=None))*1[Pa*s/m] (目标P(V)函数)
VMin=IF(Average(StaticPressure,["inlet"],Weight=None)<=P_windCurve,VCurrent,VCurrent-exp(floor(Iteration/150)*log(0.5))*(VMaxOrigin-VMinOrigin))
(更新迭代下限,吐槽Fluent连pow函数都不给,我还得exp(floor(Iteration/150)*log(0.5)))弄出来次方
VMax=IF(Average(StaticPressure,["inlet"],Weight=None)<=P_windCurve,VCurrent+exp(floor(Iteration/150)*log(0.5))*(VMaxOrigin-VMinOrigin),VCurrent)
(更新迭代上限)
inlet-velocity=IF(Iteration<50,7[m/s],IF(mod(Iteration-1, 150)==0,0.5*(VMax+VMin),VCurrent)) (入口速度Expression)

验证:

直径0.3m,长1m,空气进口速度 7.333333m/s时,v +压降 = 9.9026

下面我们用Expression来找7.333333m/s,假定满足 v +p = 9.9026

残差曲线

入口速度

入口压力

收敛成功


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空