level 3
贴吧用户_0R16e75
楼主
在这样的圆柱流场中,对圆盘区域加载一个动量源项,可是加了以后计算却和没加一样,,有没有大佬有过这种情况的?或者看看我下面的UDF有没有问题?拜托了!(下面是速度入口,0.5m/s,上面0压力出口,source term里面加udf,udf代码在最下面)

如图所示,速度还是0.5m/s没变

UDF如下
#include "udf.h"
DEFINE_SOURCE(z_mom_source,c,t,dS,eqn)
{
real source;
real x0, y0, z0,z1,r,r1;
real x[ND_ND]; //计算域直角坐标
C_CENTROID(x,c,t);//获取网格中心坐标
x0 = x[0];
y0 = x[1];
z0 = x[2];
r = sqrt(x0*x0+y0*y0);
z1 = z0;
r1=r/1000;
if (z1 > -100&&z1<100 && r>500&&r<8000 ) //选定需要的网格加入源项
{
/*source term*/
source = -30.8756*r1*r1;
dS[eqn] = 0;
}
else
source = dS[eqn] = 0;
return source;
}
2020年02月21日 14点02分
1

如图所示,速度还是0.5m/s没变
UDF如下#include "udf.h"
DEFINE_SOURCE(z_mom_source,c,t,dS,eqn)
{
real source;
real x0, y0, z0,z1,r,r1;
real x[ND_ND]; //计算域直角坐标
C_CENTROID(x,c,t);//获取网格中心坐标
x0 = x[0];
y0 = x[1];
z0 = x[2];
r = sqrt(x0*x0+y0*y0);
z1 = z0;
r1=r/1000;
if (z1 > -100&&z1<100 && r>500&&r<8000 ) //选定需要的网格加入源项
{
/*source term*/
source = -30.8756*r1*r1;
dS[eqn] = 0;
}
else
source = dS[eqn] = 0;
return source;
}