手把手教你怎么用UDS解自己的方程

发布时间:2018-06-30 17:11:20

手把手教你怎么用UDS解自己的方程

所谓UDS,就是用户自定义标量方程,这类方程大致表达式如下:

依次为时间项,对流项,扩散项,源项。
当然其中有可能有些不同,不过只要是对流扩散型的方程,都可以用UDS来解(前面有人讨论只包含对流而没有扩散的方程用UDS来解的例子,不过效果据说不好:),跳过)。与标准对流扩散方程多出来的部分,都可以写到SOURCE(源项)里面。
以下解一个如下的POSSION方程为例,来介绍一下整个UDS求解的流程:

1:准备工作
将方程与UDS标准方程对比,发现没有时间项,对流项,同时多出一项,我们将方程化为标准形式,可以看出该项可作为源项来处理。即:

该源项用UDF加入到求解方程中,调用的宏为DEFINE_SOURCE,具体参见帮助的相关章节,这里该UDF可写为:
#include "udf.h"
DEFINE_SOURCE(uds_source,c,t,dS,eqn)
{
real x[ND_ND];
real source;
C_CENTROID(x,c,t);
source=-sin(C_UDSI(c,t,0));
dS[eqn]=-cos(C_UDSI(c,t,0));
return source;
}
其中的dS[eqn]source的剃度,用来加快收敛。
2:设置UDS

准备工作完成,现在启动FLUENT,先读入CAS文件,编译连接好该UDF文件。

然后,如下图所示操作,

点开,出现

UDS项由0加到1,如下图:

底下FLUX FUNCTION是对应对流项设置的,由于其中我们的POSSION方程没有对流项,所以选择NONE,点击OKUDS加入成功,出现如下图的提示,提醒UDS加入了,是否需要修改UDS扩散系数,点击OK

进入材料面版,可以看见底下的UDS属性,点击EDIT,由于PISSION方程前面没有系数,所以定义扩散系数为1

3:边界条件设置
进入边界条件面版,首先是加入前面设置的源项,如下图:

然后是WALL边界等的UDS边界条件设置,这里有标量值以及流通量两个选项,根据需要选择。

4,求解设置
可以选择计算UDS与否,以及亚松弛因子的调节,如下图:

5,最后,初始化,求解。
后记:本篇的POSSION方程的例子不包括对流项和时间项,所以没有详细讲解。如果包括时间项,参见帮助DEFINE_UDS_UNSTEADY一节,包括对流项,参见DEFINE_UDS_FLUX一节注意:默认的对流项的MASS FLUX RATE是对于于多项流的,对于单相流,请自己写DEFINE_UDS_FLUX

手把手教你怎么用UDS解自己的方程

相关推荐