| 查看: 1400 | 回复: 1 | ||
[求助]
求助UDF 已有1人参与
|
我用fluent中的UDF编的程序在点编译(compile)的时候为什么显示下面的错误啊,“line 50: non-integer subscript expression: float.”第50行( m_0=C_UDSI(c,t,M0) 是一个宏调用啊,提示的意思是下标不是整数,而是浮点型,可是我定义的就不是整数啊,定义什么类型怎么还会有限制呢,太不理解了。多谢各位帮帮忙,我就这么点金币,都给了。 #include "udf.h" #include "mem.h" #include "sg_udms.h" #include "math.h" real pi=3.141593; real T=300.0; real KB=1.38e-23; /*Boltzmann constant*/ real rou_air=1.225; /*air density*/ real rou_particle=4.0e3; /*particle density*/ real m_0,m_1,m_2; /*moment variables*/ enum { M0, M1, M2, N_REQUIRED_UDS }; /*functions for calculating Mk*/ double m_k(real k) { return pow(m_0,(1./2.)*pow(k,2.)-(3./2.)*k+1.)*pow(m_1,-pow(k,2.)+2.*k)*pow(m_2,(1./2.)*pow(k,2.)-(1./2.)*k); } /*Make sure there are enough user defined-scalars*/ DEFINE_ADJUST(adjust,domain) { if(n_uds<N_REQUIRED_UDS) Internal_Error("not enough user-defined scalars allocated”); } DEFINE_DIFFUSIVITY(Moment_diffusivity,c,t,i) { real D_mol; /*molecular diffusivity*/ real D_tur; /*turbulent diffusivity*/ real D_eff; /*effective diffusivity*/ real v_g; /*mean particle volume*/ real d_p; /*mean particle diameter*/ real f; /*friction coefficient*/ real c; /*slip corretion factor*/ real l=6.91e-8; /*mean free path of air*/ real mu=1.86e-05; /*air viscosity*/ real A1=1.257, A2=0.4, A3=0.55; real Sct=0.7; /*turbulent schmidt number*/ m_0=C_UDSI(c,t,M0); m_1=C_UDSI(c,t,M1); m_2=C_UDSI(c,t,M2); v_g=pow(m_1,2.)/(pow(m_0,3./2.)*pow(m_2,1./2.)); d_p=pow((6./pi)*v_g,1./3.); c=1.+2.*l*(A1+A2*exp(-A3*d_p/l))/d_p; f=3.*pi*mu*d_p/c; D_mol=KB*T/f; D_tur=C_MU_T(c,t)/rou_air*Sct; D_eff=D_mol+D_tur; return D_eff; } [ Last edited by xgp198749 on 2013-11-12 at 13:36 ] |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有9人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
2楼2017-11-27 11:09:35












是一个宏调用啊,提示的意思是下标不是整数,而是浮点型,可是我定义的就不是整数啊,定义什么类型怎么还会有限制呢,太不理解了。
回复此楼