用的EDM和编译UDF源项,恳请前辈们看一下会不会是udf的问题?
我的udf如下
#include "udf.h"
//动力学参数常量定义
#define PRE_EXP 1.8e+08 /*(末尾输入数值)指前因子 1/s*/
#define ACTIVE 1.3e+08 /*(末尾输入数值)活化能 J/kmol*/
#define BETA 0.0 /*(末尾输入数值)温度指数*/
real arrhenius_rate(real temp)
/*定义化学反应速率函数*/
{
return PRE_EXP*pow(temp, BETA)*exp(-ACTIVE / (UNIVERSAL_GAS_CONSTANT*temp));
/*pow(a,b)函数是求a的b次方*/
}
//定义化学反应物成分以及组分数量
#define CH4 0
#define O2 1
#define CO2 2
#define H2O 3
#define N2 4
#define NUM_SPECS 5
//定义能量方程源项
DEFINE_SOURCE(energy_source, c, t, dS, eqn)
{
real delt_h, source;
/*下面是CH4生成焓 J/kmol*/
delt_h = -7.489518e+07;
source = delt_h*(-arrhenius_rate(C_T(c, t)))*C_R(c, t)*C_YI(c, t, CH4)/16;
/*计算CH4的放热速度 J/(m3 s)*/
return source;
}
//定义CH4组分方程源项
DEFINE_SOURCE(ch4_source, c, t, dS, eqn)
{
real source;
source = (-arrhenius_rate(C_T(c, t)))*C_R(c, t)*C_YI(c, t, CH4);
/*计算CH4的消耗速度 kg/(m3 s)*/
return source;
}
//定义O2组分方程源项
DEFINE_SOURCE(o2_source, c, t, dS, eqn)
{
real source;
source = 2*(-arrhenius_rate(C_T(c, t)))*C_R(c, t)*C_YI(c, t, CH4);
/*计算o2的消耗速度 kg/(m3 s)*/
return source;
}
//定义CO2组分方程源项
DEFINE_SOURCE(co2_source, c, t, dS, eqn)
{
real source;
source = (arrhenius_rate(C_T(c, t)))*C_R(c, t)*C_YI(c, t, CH4);
/*计算co2的生成速度 kg/(m3 s)*/
return source;
}
//定义H2O组分方程源项
DEFINE_SOURCE(h2o_source, c, t, dS, eqn)
{
real source;
source = 2 * (arrhenius_rate(C_T(c, t)))*C_R(c, t)*C_YI(c, t, CH4);
/*计算h2o的生成速度 kg/(m3 s)*/
return source;
}
捕获.JPG |