|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大侠:
欲用udf定义蒸汽空气单相均匀混合物的物性(密度,粘度),空气质量为混合物的5%,蒸汽为95%。
udf编译如下,导入fluent后,定义边界条件(velocity-inlet,pressure-outlet),初始化后出现错误:
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
求助原因
求助原因
udf程序:
#include "udf.h"
/*为饱和蒸汽选择某参考状态(取凝汽器内的蒸汽状态为参考状态),并确定该状态下的饱和蒸汽参数*/
real P_ref_steam=5000; /*某参考状态下的饱和蒸汽压力 Pa*/
real T_ref_steam=306.03; /*某参考状态下的饱和蒸汽温度 K*/
real Rho_ref_steam=0.03548; /*某参考状态下的饱和蒸汽密度*/
real Amu_ref_steam=10.09e-06; /*某参考状态下的饱和蒸汽粘度*/
/*为空气选择某参考状态,并确定该状态下的空气参数*/
real P_ref_air=101325; /*某参考状态下的空气压力*/
real T_ref_air=293.15; /*某参考状态下的空气温度 K*/
real Rho_ref_air=1.205; /*某参考状态下的空气密度*/
real Amu_ref_air=18.6e-06; /*某参考状态下的空气黏度*/
/**************************************************************************************/
/* 混合物密度的计算 */
/**************************************************************************************/
DEFINE_PROPERTY(cell_density,cell,thread)
{
real Rho_mix;
real P_mix,P_steam,T_mix,Rho_steam,Rho_air;
real X_air=0.05;
P_mix=ABS_P(C_P(cell,thread),op_pres); /*提取混合物的绝对压力*/
P_steam=P_mix/(1+0.622*X_air/(1-X_air)); /*计算混合物中蒸汽的分压力*/
T_mix=(20710/(10.46-log10(P_steam))+303.15)/11.0 ; /*计算混合物中蒸汽分压力下对应的饱和温度,将其作为混合物及空气所处的温度*/
Rho_steam=Rho_ref_steam*(T_ref_steam/T_mix)*(P_steam/P_ref_steam); /*计算蒸汽的密度*/
Rho_air=Rho_ref_air*(T_ref_air/T_mix)*((P_mix-P_steam)/P_ref_air); /*计算空气的密度*/
Rho_mix=1.0/(X_air/Rho_air+(1-X_air)/Rho_steam); /*计算混合物的密度*/
/*保存及返回数据*/
C_UDMI(cell,thread,0)=Rho_mix;
return Rho_mix;
}
/**************************************************************************************/
/* 混合物粘度的计算 */
/**************************************************************************************/
DEFINE_PROPERTY(cell_viscosity,cell,thread)
{
real Amu_mix;
real X_steam,Z_air,Z_steam;
real X_air=0.05;
X_steam=1-X_air;
Z_air=(X_air/29)/(X_air/29+X_steam/18); /*计算混合物中空气的摩尔浓度*/
Z_steam=1-Z_air;
Amu_mix=(Z_air*sqrt(29)*Amu_ref_air+Z_steam*sqrt(18)*Amu_ref_steam)/(Z_air*sqrt(29)+Z_steam*sqrt(18));
/*返回数据*/
C_UDMI(cell,thread,2)=Amu_mix;
return Amu_mix;
} |
|