我用fluent模拟含不凝气体水蒸气凝结的例子,自编udf,运行时存在问题,希望大神们帮忙看一下
-
案例中有air、水蒸气和液体水,自己编写了定义物性的udf和水蒸气、液体水的源项以及能量源项所有的udf都可正常编译和加载。
单独加载物性udf时,模拟正常运行。
当加载水蒸气源项时,一运行就会提示error:received a fatal sognal (segmentation fault)
当加载液体水源项时,一运行就会提示error:divergence detected in amg solve : x-momentum
(该案例所打开的模型,vof模型和组分输运模型,组分输运模型定义气体mixture包含air和水蒸气,vof模型:第一相是气体mixture,第二相是液体水)
(所加载的液体源项)
(加载气体源项时,运行出现的错误)
(加载液体源项时,运行出现的错误)
下面是我所修改的蒸汽源项的udf
液体的源项udf跟气相udf大致相同
(这个是源项的公式)
求大神们帮忙看一下问题出在大概那个位置
拜谢!!! -
按我的经验来看,自定义源项后发散,一般都是源项太大了。你可以这么测试,
- 设定源项大小为较小的常数,比如 1e-6,如果不发散,基本就确定是源项太大了;
- 用 UDM 把源项储存下来,看看大小。
-
@zousiyu 感谢大神的建议,上午的时候我将源项直接设定为一个很小的常数,fluent还是运行不了,还是udf本身存在问题我准备一块一块的试错,看看到底是那个地方出现了问题
-
问题已经解决了,是因为上面的程序没有对网格进行循环,只是对一个网格的所有面进行了循环,所以才存在问题
-
你好,我是大四学生,正在做毕设,换热器湿工况的模拟,也在编写冷凝的udf,想向学长咨询一下,请问你做的是二维工况么?为什么在气液共存区也会发生冷凝啊,不应该只发生在接触表面么? 能加个联系方式交流一下么,万分感谢。qq1554024438
-
@Ding 我做的是三维工况,二维工况也是同理。你这样想一下,冷凝液是会变厚的,原理上来说应该涉及到相平衡,气液界面就是一个气液分子热运动平衡界面,当符合相应条件,是会发生相应的冷凝或是蒸发工况的
-
@Ding 我现在也在忙着自己毕业的事情,有点自顾不暇,没有太多空闲的时间对别人进行帮助。
如果你有问题直接在这里问就可以,有大神会帮你解答,我空闲时间也会进来看一眼,如果我知道我会直接回答的。
见谅 -
@中国石油大学研究生 那能分享一下udf代码么?邮箱1554024438@qq.com
-
@Ding 这个还是得你自己编写,我可以帮你看看问题,我的成品不能直接给你
-
@中国石油大学研究生 对所有网格循环是怎么编写呢?
-
@Ding 这个需要用begin_c_loop宏进行实现,即在外层套上这个宏即可
-
-
-
能帮我看下问题么?初始化就卡住了,怀疑程序是不是程序是死循环
我参考的这篇文献
-
@Ding 你需要一句一句的看。
具体方法是:从上至下把无关的先注释掉,一句一句往里加,每一次都用fluent进行编译、初始化、模拟,看是加入那一句之后才出现的问题,这样才能看出是哪里出现了问题。
你这样单独看是很难发现问题的 -
楼主,最后问题解决了吗
-
@中国石油大学研究生
您好,
1.麻烦问一下您udf中的mass_transfer_coeff=vapor_densitydiffusivity/distance(C_YI(cell,first,0)- water_mass_fraction)/(1-water_mass_fraction);
为什么/distance*(C_YI(cell,first,0)- water_mass_fraction)这一段能表示公式最后的偏导数?我的理解是您想把偏ω改为Δω,distance是否表示偏n?
您udf中说water_mass_fraction应该和C_YI(cell,first,0)所获取的值相同,那么C_YI(cell,first,0)- water_mass_fraction是否结果为0,该如何理解?
偏ω/偏n是否可以想办法写为相邻两网格的ω差/两网格的体心距离?
2.我看一些文章里说上式的ρ应该是湿空气的密度,您udf里用的是水蒸气的密度,请问用哪一个密度更合理
3.air_molecular应该是干空气气体摩尔质量,取28.9合适吗?
4.最后乘10倍是系数吗?我看一些文章中是没有乘10的。
论坛登录问题反馈可联系 li.dy@dyfluid.com