|
楼主 |
发表于 2007-4-11 11:29:58
|
显示全部楼层
分段源,编译问题!!
[这个贴子最后由maplelxfeng在 2007/04/11 11:45am 第 1 次编辑]
相应的程序:
#include "udf.h"
#define B1 0.5 //surface adsorption rate
#define n 0.5 //decay coefficient
#define STM 1/2592000 //second to month
DEFINE_SOURCE(t_source,cell,thread,dS,eqn) //heat
{
real source;
real x[ND_ND];
real t = RP_Get_Real("flow-time");
real yue=t*STM+1;
if(yue<5)
source=13.508*yue*yue*yue*yue+158.78*yue*yue*yue-629.59*yue*yue+1001.8*yue-591.96;
dS[eqn]=(1-B1)*exp(-n*x[1])*(-9.8774*yue*yue*yue*yue+112.17*yue*yue*yue-428.47*yue*yue+667.36*yue-283.19);
else if(5<=yue<9)
source=7.9213*yue*yue*yue*yue-119.22*yue*yue*yue+592.81*yue*yue-1116.9*yue+717.52;
dS[eqn]=(1-B1)*exp(-n*x[1])*(0.5214*yue*yue*yue*yue
-26.861*yue*yue*yue+205.6*yue*yue-504.99*yue+516.04);
else if(9<=yue<13)
source=-1.1321*yue*yue*yue*yue+17.908*yue*yue*yue
-102.19*yue*yue+215.64*yue-128.86;
dS[eqn]=(1-B1)*exp(-n*x[1])*(-6.9335*yue*yue*yue*yue
+87.048*yue*yue*yue-378.56*yue*yue+664.11*yue-264.24);
else if
source=0.00000000;
dS[eqn]=0.00000000;
return source;
}
望高手指点!先谢过 |
|