|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我做的是焊接模拟,具体模型尺寸为50×50×1。网格尺寸为0.2 现在我用vof模型把下半部分定义为工件,上半部分定义为空气,捕捉空气与工件的交界面然后再这个表面上加载一个热源!我的初步想法是用udf编程实现具体的udf如下:(编译能够通过但是不能实现功能,热源没有加载上)
#include"udf.h"
DEFINE_SOURCE(cell_heat_source,cell,mixture_thread,dS,eqn)
{
int phase_first_index,phase_second_index;
real m[ND_ND];
real x,R;
real y,z;
cell_t c;
real r=0.0003;
real source;
Thread *pri_th,*sec_th;
pri_th=THREAD_SUB_THREAD(mixture_thread,0);
sec_th=THREAD_SUB_THREAD(mixture_thread,1);
if(C_VOF(cell,pri_th)<1&&C_VOF(cell,pri_th)>0)
{
begin_c_loop(c,mixture_thread)
{
C_CENTROID(m,c,mixture_thread);
x=m[0];
y=m[1];
z=m[2];
R=sqrt(x*x+y*y);
if(R<=r)
source=1e8*exp(-3*(R*R)/(r*r)-(3*z*z)/(0.0004));
else
source=0;
}
end_c_loop(c,mixture_thread)
dS[eqn]=0;
}
else
source=dS[eqn]=0;
return source;
}
我的这种方法可以实现吗?如果不能有没有什么方法能实现这一功能!
谢谢 |
|