|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在下想做一个离散相的计算模型,就是一个淋水模型,其中一个面的边界条件是和落在上面的水滴的质量有关的,因此想定义一个随水的质量变化的边界条件!求高手相助!
DEFINE_PROFILE在离散相计算中什么时候被调用?
是每个时间步都会被调用一次,还是只有初始化的时候才调用啊?
另外,我是否可以用这个宏来定义一个随计算的量变化的边界条件啊!下面是我写的一个UDF,编译通过了,但一加载马上就报一个错Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
请UDF高手指教~
#include "udf.h"
#define U 5000//voltage
#define pi 3.14
#define r1 12
#define r2 4
#define rou_w 1900 //水电阻率
/*change the heat flux of the water band*/
DEFINE_PROFILE(band_flux,t,index)
{
real x[ND_ND];//用于存储面单元坐标
real r;//半径
real P;//功率
real avg_h=0;//水膜平均厚度
real R;//电阻
real I;//电流
face_t f;
cell_t c;
real NV_VEC(A);//墙总面积
real sum_mass_A=0,sum_A=0;
begin_f_loop(f,t)//循环得到面积和
{
F_AREA(A,f,t);
sum_A+=NV_MAG(A);
}
end_f_loop(f,t)
begin_c_loop(c,t)//循环得到质量和
{
sum_mass_A+=C_R(c,t)*C_VOLUME(c,t);
}
end_c_loop(c,t)
avg_h=sum_mass_A/(sum_A*1000);
R=rou_w*log(r1/r2)/(2*pi*avg_h);//积分求水膜电阻
I=U/(R+70000);//欧姆定律
begin_f_loop(f,t)//对每个单元赋予焦耳热功率
{
F_CENTROID(x,f,t);
r= sqrt(x[0]*x[0]+x[2]*x[2]);
P=I*I*rou_w/(4*pi*pi*r*r*avg_h);
F_PROFILE(f,t,index)=P;
}
end_f_loop(f,t)
} |
|