fluent的dpm中使粒子粒径长大的问题?
DEFINE_DPM_LAW(condenshumidlaw,p,coupled)
{
real area = M_PI * (P_DIAM(p)*P_DIAM(p)); /*M_PI is accurate PI Value*/
real mp_dot;
cell_t c = RP_CELL(&p->cCell); /* Get Cell and Thread from */
Thread *t = RP_THREAD(&p->cCell); /* Particle Structure */
/* This law only used if Humidity > 1.0) */
mp_dot = CONDENS*area*(myHumidity(c,t)-1.0);
if(mp_dot>0.0)
{
P_MASS(p) = MAX((P_MASS(p) + mp_dot*(p->time_step)),MINMASS);
P_DIAM(p) = pow(P_MASS(p) * 6. / (P_RHO(p) * M_PI), 1./3.);
P_T(p)=C_T(c,t); /* Assume condensing particle is in thermal
equilibrium with fluid in cell */
}
}
帮助中看到这个程序,但是这个程序是让质量增大再用除法使每个粒子的粒径增大的,
求问可不可以调用每个粒子的当地温度压力然后经过公式计算使每个粒子分别长大,
需要什么命令?
先谢过大家了!
快过年了,就祝大家鸡年大吉吧! 返回小木虫查看更多
搞错了,这个其实也是对每个粒子进行质量增大,然后直径增大。
我也想学这个软件,求推荐资料
顶
P_MASS(p) = MAX((P_MASS(p) + 1e-9*(p->time_step)),MINMASS);
这里面的 p->time_step 是迭代每步的时间还是 粒子在流域中的停留时间啊
最好还是买本书学一下,我还有些帮助资料不过是师兄留下来的
在这儿再发一个问题,dpm初始位置的随机分布怎么做?
比如我在流域内gambit画了一条线(二维),想让粒子在这条线附近随机生成,该怎么做啊,给个提示或粒子就行
多谢了,祝大家元宵节快乐
你这个是让颗粒物吸湿增长的吧。。留给你的这段代码是当RH>1时候 譬如1.2,然后用 (1.2-1)*颗粒物存在时间来计算颗粒物质量的。。(太扯了一点)
你想要的用颗粒物所在网格的温度和压力来计算相对湿度 然后加上其他公式来算吸湿增长是可以的。。
你要的参数在help-> udf manual -> additional macros for writing udfs->data access macros->cell macros里,