2024年3月16日发(作者:)
1 现在用FLUENT的UDF来加入模块,但是用compiled udf时,共享库老是连不上?
解决办法:
1〉你的计算机必须安装C语言编译器。
2〉请你按照以下结构构建文件夹和存放文件:
libudf/src/*.c (*.c为你的源程序);
libudf/ntx86/2d(二维为2d,三维为3d)/makefile(由makefile_改过来的)
libudf/ntx86/2d(二维为2d,三维为3d)/user_(对文件中的SOURCE,VERSION,P
ARALLEL_NODE进行相应地编辑)
3〉通过命令提示符进入文件夹libudf/ntx86/2d/中,运行C语言命令 nmake,如果C预言
编译器按装正确和你的源程序无错误,那么此时会编译出Fluent需要的库文件(*.lib)
这时再启动Fluent就不会出错了。
2 在使用UDF中用编译连接,按照帮助文件中给出的步骤去做了,结果在连接中报错
“系统找不到指定文件”。
udf 文件可能不在工作目录中,应该把它拷到工作目录下,或者输入它的全部路径.
3 这个1e-3或者1e-4的收敛标准是相对而言的。在FLUENT中残差是以开始5步的平均值
为基准进行
比较的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你
改变初
场到比较不同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看
起来心
情很好。其实两种情况下流场是基本相同的。
由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意
义的点,
监测其速度,压力,温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。
一般来说,压力的收敛相对比较慢一些的。
是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压力系数波
动等等
尽管残差仍然维持在较高数值,但凭其他监测也可判断是否收敛。最重要的就是是否符合物
理事实
或试验结论。
残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于1%,而且即使
这样子,
收敛解也不一定准确,它和网格划分/离散化误差,以及屋里模型的准确性都有关系.所以得有
试验数
据做对比活着理论分析了
当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该可以大概
的看出
是否收敛吧?是否要残差要小到一定的程度,或者是残差不在增长,就可以一定程度上认为
是收敛
的
残差的大小不能决定是否收敛,我在用FLUENT计算时,多采用监测一个面的速度(或者是
压力、
紊动能等参数)基本上不随着计算时间的推移而变化,就认为基本达到收敛
4 据质量守恒,收敛时进、出口的流量数值应大致相等(一般认为进出口质量差值比上入口
质量的
相对值小于0.5%时收敛,但是对特殊情况可能不同 ),但符号相反,一般出口流量是负值。
5 在进行稳态计算时候,开始残差线是一直下降的,可是到后来各种残差线都显示为波形
波动,
是不是不收敛阿?
答:
有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2阶),网格太疏,网格质量太
差,
等都会使残差波动。
经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网
格质
量不好,是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,
建议作网格时多下些功夫 。
理论上说,残差的震荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡导致的结
果,
与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUTFLOW边界会好
些。
这主要根据经验判断。所以我说网格和边界条件是主要因素。
6 残差——是cell各个Face的通量之和,当收敛后,理论上当单元体内没有源相时各个面
流入的通
量也就是对物理量的输运之和应该为0。最大残差或者RSM残差反映流场与所要模拟流场
(指收敛后
应该得到的流场,当然收敛后得到的流场与真实流场之间还是存在一定的差距)的差距,残
差越小
越好,由于存在数值精度问题,不可能得到0残差,对于单精度计算一般应该低于初始残差
1e-03
以下为好,但还要看具体问题。
一般在Fluent里可以添加进出口流量监控(print or plot),当残差收敛到一定程度后,
还要看进出口流量是否达到稳定平衡,才可以确认收敛与否。
发布评论