24小时热门版块排行榜    

查看: 493  |  回复: 0

张鑫93

新虫 (初入文坛)

[求助] udf中SOx代码

if (POLLUT_EQN(Pollut_Par) == EQ_SO2)
这是fluent的udf中做SOx,这个表示什么意思?没看懂。下面是完整的
static void so2_so3_rate(cell_t c, Thread* t, Pollut_Cell *Pollut, Pollut_Parameter *Pollut_Par, SOx_Parameter *SOx)
{real kf,kr,rf=0,rr=0;
real o_eq;
real r_volatile,Ys_volatile,fuels_so2_frac;
Rate_Const K_F = {1.2e6, 0.0, 39765.575};
Rate_Const K_R = {1.0e4, -1.0, 10464.625};
Rate_Const K_O = {36.64, 0.5, 27123.0};
/* SO3 + O <-> SO2 + O2 */
kf = ARRH(Pollut, K_F);
kr = ARRH(Pollut, K_R);
o_eq = ARRH(Pollut, K_O)*sqrt(MOLECON(Pollut, O2));
if (POLLUT_EQN(Pollut_Par) == EQ_SO2) {
int ifstream;
Ys_volatile = 1.e-04;
fuels_so2_frac = 1.;
for(ifstream=0; ifstream<Pollut_Par->nfstreams; ifstream++) {
rf += Pollut->r_fuel_gls[ifstream]*SOx->Ys_fuelvolat[ifstream]
*SOx->fuels_so2_frac[ifstream]*1000./Pollut_Par->sp[S].mw;
}
rf += kf*o_eq*MOLECON(Pollut, IDX(SO3));
rr = -kr*MOLECON(Pollut, O2)*MOLECON(Pollut, IDX(SO2));
}
else if (POLLUT_EQN(Pollut_Par) == EQ_SO3) {
rf = kr*MOLECON(Pollut, O2)*MOLECON(Pollut, IDX(SO2));
rr = -kf*o_eq*MOLECON(Pollut, IDX(SO3));
}
POLLUT_FRATE(Pollut) += rf;
POLLUT_RRATE(Pollut) += rr;
}
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 张鑫93 的主题更新
信息提示
请填处理意见