找回密码
 注册
查看: 2343|回复: 2

自由表面问题向浪子轻狂请教!

[复制链接]
发表于 2011-3-7 16:12:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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;
}
我的这种方法可以实现吗?如果不能有没有什么方法能实现这一功能!

                                                                                                         谢谢
发表于 2011-3-8 05:55:54 | 显示全部楼层
DEFINE_SOURCE 这个宏里不需要再begin_c_loop了。
不用C_VOF,直接使用密度判断界面,然后赋值。
发表于 2011-3-8 08:50:05 | 显示全部楼层
看来UDF编程队伍还是越来越壮大了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表