大涡模拟脉动速度入口UDF
-
@cccrrryyy 使用Fluent 自带的扰动方法是不是指入口边界使用平均速度入口,脉动速度在Fluctualing Velocity Algorithm 选择相应方法生成。 因为我想要学习他的脉动风速入口的生成方法,现在脉动风速生成方法好多都是选择RFG方法生成,老师要我们紧跟潮流,而且还有后续关于多相流的研究要做。
代码关于公式、表达式的部分应该没啥问题,我担心是一些关于Fluent的宏使用的对不对,还有随机数的部分不知道有没有问题,以及关于UDF中随时间变化的部分。
目前的情况是FLUENT编译通过了,但初始化流场耗时时间很长还且出错,使用Standard Initialization初始化没有任何提示信息,但开始计算也会出现发散,错误信息如下。
(使用Hybird Initialization是因为计算域有比较明确的入口和出口)
-
@低碳生活 按你描述的应该没啥问题啊,至少Fluent用UDF给入口速度是很常规的操作,这里不应该有问题。会不会是随机数这一块?Fluent有自带随机数的,需要你在UDF开头 #include "random.h" ,查了一下好像是uniform_random()这个函数,可以产生0到1之间的平均分布的随机数。应该还会有其他的函数吧。总感觉随机数这种最好是有现成的就用现成的,自己写容易出问题。按你说的原文中是用MATLAB去做,可能也是因为MATLAB产生随机数很方便,一个rand()函数就做完了,不需要你给seed。
另外就是代码细节方面了,比如整数尽量写成1.0啊2.0啊之类的,特别是涉及到除法的。
Fluent自带的比如vortex method属于合成类型的方法,我不太清楚和你说的RFG本质上有没有区别,印象中一直觉得合成方法比较真实和高效的(也有可能我落伍了 )。看看有没有真正搞湍流入口的人来给你解答啦~
-
-
udf出错基本上就是除以了0值,或者出现了极大值与极小值,也有可能是调用梯度梯度值不存在而报错,基本上你编写的方程没问题的话,就按照这思路找吧,一点一点的message,