|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大神,我最近编写了一个关于氯化锂溶液除湿的源项,程序可以导入进去,但是在初始化的时候就出现ACCESS VIOLATION提示语,请问怎么回事呢?我的UDF源项包括气相质量源项,液相质量源项,能量源项,程序如下:DEFINE_SOURCE(air_src,cell,pri_th,dS,eqn)
{
Thread *mix_th,*sec_th;
real m_v; /*表示氯化锂溶液的吸湿量*/
real mfv; /*水蒸气的质量分数*/
real t_air; /*空气的温度*/
real hr; /*湿空气的含湿量*/
real pa; /*湿空气的总压力*/
real pa_v; /*湿空气中水蒸气的分压力*/
real mfs; /*溶液中氯化锂的质量分数*/
real T; /*溶液的温度*/
real ph; /*水的表面蒸汽压*/
real C; /*计算表面蒸汽压需要用到的函数*/
real A; /*计算表面蒸汽压需要用到的函数*/
real B; /*计算表面蒸汽压需要用到的函数*/
real D; /*计算表面蒸汽压需要用到的函数*/
real ps_w; /*氯化锂溶液的表面蒸汽压*/
real hb; /*湿空气含湿量与溶液保持平衡*/
real current_time;
real K; /*除湿过程中的传质系数*/
real F; /*与温度和浓度有关的函数*/
real hmg; /*气相传质系数*/
real hml; /*液相传质系数*/
current_time=RP_Get_Real("flow-time"); /*调用气液接触时间*/
mix_th=THREAD_SUPER_THREAD(pri_th);
sec_th=THREAD_SUB_THREAD(mix_th,1);
mfv=C_YI(cell,pri_th,0);
hr=mfv/(1-mfv);
pa=ABS_P(C_P(cell,pri_th),op_pres);
pa_v=(pa*hr)/(hr+0.622);
t_air=C_T(cell,pri_th);
mfs=C_YI(cell,sec_th,0);
T=C_T(cell,sec_th);
C=1-T/647.3;
ph=22090000*exp((-7.8582*C+1.8399*pow(C,1.5)-11.7811*pow(C,3.0)+22.6705*pow(C,3.5)-15.9393*pow(C,4.0)+1.7752*pow(C,7.5))/(1-C));
A=2-pow(1+pow(mfs/0.28,4.3),0.6);
B=pow(1+pow(mfs/0.21,5.1),0.49)-1;
D=1-pow(1+pow(mfs/0.362,-4.75),-0.4)-0.03*exp(-pow(mfs-0.1,2)/0.005);
ps_w=D*(A+B*T/647.3)*ph;
hb=0.622*ps_w/(101325-ps_w);
F=-7416.1+90127.0*mfs-397003.0*pow(mfs,2.0)+756527.0*pow(mfs,3.0)-520920.0*pow(mfs,4.0)+(1989.3-24274.0*mfs+108917.0*pow(mfs,2.0)-213395.0*pow(mfs,3.0)+153709.0*pow(mfs,4.0))*(T-273.1)+(-86.8+1059.7*mfs-4766.4*pow(mfs,2.0)+9372.4*pow(mfs,3.0)-6789.3*pow(mfs,4.0))*pow(T-273.1,2.0)+(0.9+11.9*mfs+53.7*pow(mfs,2.0)-105.7*pow(mfs,3.0)+76.7*pow(mfs,4.0))*pow(T-273.1,3.0);
hmg=2*pow(0.000029/(3.14*current_time),0.5);
hml=2*pow(0.0000000013/(3.14*current_time),0.5);
K=F*hmg*hml/(hmg+F*hml);
if(0<C_VOF(cell,pri_th)&&C_VOF(cell,pri_th)<1)
{
m_v=-K*(hr-hb);
dS[eqn]=-K*(hr-hb);
}
else
m_v=dS[eqn]=0;
return m_v;
}
DEFINE_SOURCE(sol_src,cell,sec_th,dS,eqn)
{
Thread *mix_th,*pri_th;
real m_s; /*表示氯化锂溶液的吸湿量*/
real mfv; /*水蒸气的质量分数*/
real t_air; /*空气的温度*/
real hr; /*湿空气的含湿量*/
real pa; /*湿空气的总压力*/
real pa_v; /*湿空气中水蒸气的分压力*/
real mfs; /*溶液中氯化锂的质量分数*/
real T; /*溶液的温度*/
real ph; /*水的表面蒸汽压*/
real C; /*计算表面蒸汽压需要用到的函数*/
real A; /*计算表面蒸汽压需要用到的函数*/
real B; /*计算表面蒸汽压需要用到的函数*/
real D; /*计算表面蒸汽压需要用到的函数*/
real ps_w; /*氯化锂溶液的表面蒸汽压*/
real hb; /*湿空气含湿量与溶液保持平衡*/
real current_time;
real K; /*除湿过程中的传质系数*/
real F; /*与温度和浓度有关的函数*/
real hmg; /*气相传质系数*/
real hml; /*液相传质系数*/
current_time=RP_Get_Real("flow-time"); /*调用气液接触时间*/
mix_th=THREAD_SUPER_THREAD(sec_th);
sec_th=THREAD_SUB_THREAD(mix_th,0);
mfv=C_YI(cell,pri_th,0);
hr=mfv/(1-mfv);
pa=ABS_P(C_P(cell,pri_th),op_pres);
pa_v=(pa*hr)/(hr+0.622);
t_air=C_T(cell,pri_th);
mfs=C_YI(cell,sec_th,0);
T=C_T(cell,sec_th);
C=1-T/647.3;
ph=22090000*exp((-7.8582*C+1.8399*pow(C,1.5)-11.7811*pow(C,3.0)+22.6705*pow(C,3.5)-15.9393*pow(C,4.0)+1.7752*pow(C,7.5))/(1-C));
A=2-pow(1+pow(mfs/0.28,4.3),0.6);
B=pow(1+pow(mfs/0.21,5.1),0.49)-1;
D=1-pow(1+pow(mfs/0.362,-4.75),-0.4)-0.03*exp(-pow(mfs-0.1,2)/0.005);
ps_w=D*(A+B*T/647.3)*ph;
hb=0.622*ps_w/(101325-ps_w);
F=-7416.1+90127.0*mfs-397003.0*pow(mfs,2.0)+756527.0*pow(mfs,3.0)-520920.0*pow(mfs,4.0)+(1989.3-24274.0*mfs+108917.0*pow(mfs,2.0)-213395.0*pow(mfs,3.0)+153709.0*pow(mfs,4.0))*(T-273.1)+(-86.8+1059.7*mfs-4766.4*pow(mfs,2.0)+9372.4*pow(mfs,3.0)-6789.3*pow(mfs,4.0))*pow(T-273.1,2.0)+(0.9+11.9*mfs+53.7*pow(mfs,2.0)-105.7*pow(mfs,3.0)+76.7*pow(mfs,4.0))*pow(T-273.1,3.0);
hmg=2*pow(0.000029/(3.14*current_time),0.5);
hml=2*pow(0.0000000013/(3.14*current_time),0.5);
K=F*hmg*hml/(hmg+F*hml);
if(0<C_VOF(cell,sec_th)&&C_VOF(cell,sec_th)<1)
{
m_s=-K*(hr-hb);
dS[eqn]=-K*(hr-hb);
}
else
m_s=dS[eqn]=0;
return m_s;
}
DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn)
{
Thread *pri_th,*sec_th;
real m_e; /*表示氯化锂溶液的吸湿量*/
real mfv; /*水蒸气的质量分数*/
real t_air; /*空气的温度*/
real hr; /*湿空气的含湿量*/
real pa; /*湿空气的总压力*/
real pa_v; /*湿空气中水蒸气的分压力*/
real mfs; /*溶液中氯化锂的质量分数*/
real T; /*溶液的温度*/
real ph; /*水的表面蒸汽压*/
real C; /*计算表面蒸汽压需要用到的函数*/
real A; /*计算表面蒸汽压需要用到的函数*/
real B; /*计算表面蒸汽压需要用到的函数*/
real D; /*计算表面蒸汽压需要用到的函数*/
real ps_w; /*氯化锂溶液的表面蒸汽压*/
real hb; /*湿空气含湿量与溶液保持平衡*/
real current_time;
real K; /*除湿过程中的传质系数*/
real F; /*与温度和浓度有关的函数*/
real hmg; /*气相传质系数*/
real hml; /*液相传质系数*/
current_time=RP_Get_Real("flow-time"); /*调用气液接触时间*/
pri_th=THREAD_SUPER_THREAD(mix_th,0);
sec_th=THREAD_SUB_THREAD(mix_th,1);
mfv=C_YI(cell,pri_th,0);
hr=mfv/(1-mfv);
pa=ABS_P(C_P(cell,pri_th),op_pres);
pa_v=(pa*hr)/(hr+0.622);
t_air=C_T(cell,pri_th);
mfs=C_YI(cell,sec_th,0);
T=C_T(cell,sec_th);
C=1-T/647.3;
ph=22090000*exp((-7.8582*C+1.8399*pow(C,1.5)-11.7811*pow(C,3.0)+22.6705*pow(C,3.5)-15.9393*pow(C,4.0)+1.7752*pow(C,7.5))/(1-C));
A=2-pow(1+pow(mfs/0.28,4.3),0.6);
B=pow(1+pow(mfs/0.21,5.1),0.49)-1;
D=1-pow(1+pow(mfs/0.362,-4.75),-0.4)-0.03*exp(-pow(mfs-0.1,2)/0.005);
ps_w=D*(A+B*T/647.3)*ph;
hb=0.622*ps_w/(101325-ps_w);
F=-7416.1+90127.0*mfs-397003.0*pow(mfs,2.0)+756527.0*pow(mfs,3.0)-520920.0*pow(mfs,4.0)+(1989.3-24274.0*mfs+108917.0*pow(mfs,2.0)-213395.0*pow(mfs,3.0)+153709.0*pow(mfs,4.0))*(T-273.1)+(-86.8+1059.7*mfs-4766.4*pow(mfs,2.0)+9372.4*pow(mfs,3.0)-6789.3*pow(mfs,4.0))*pow(T-273.1,2.0)+(0.9+11.9*mfs+53.7*pow(mfs,2.0)-105.7*pow(mfs,3.0)+76.7*pow(mfs,4.0))*pow(T-273.1,3.0);
hmg=2*pow(0.000029/(3.14*current_time),0.5);
hml=2*pow(0.0000000013/(3.14*current_time),0.5);
K=F*hmg*hml/(hmg+F*hml);
if(0<C_VOF(cell,sec_th)&&C_VOF(cell,sec_th)<1)
{
m_e=K*(hr-hb);
dS[eqn]=K*(hr-hb);
}
else
m_e=dS[eqn]=0;
return LAT_HT*m_e;
}
有大婶能指出我的问题吗?感激不尽
|
|