求教各位FLUENT大神,udf編程大神:
做一個溴化鋰吸收水蒸氣的模擬,在模擬水蒸氣進入溴化鋰溶液區(qū)域凝結(jié)為水這一過程時,初始化時出現(xiàn)如下問題:
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 erro to your distributor.
Error Object:#f
這個問題也是做fluent模擬經(jīng)常遇到的問題了,我做了以下嘗試去消除這個錯誤:
1.先初始化,迭代一步后,再導入udf--問題依舊
2.先保存退出軟件后,再重新打開--問題依舊
3.將4個udf分別拆開后,分別導入--沒有出現(xiàn)問題
4.將其中的兩個udf組合起來,導入--問題依舊(據(jù)此推斷是udf的問題),下面是我的udf;將DEFINE_SOURCE(liq_src…)和DEFINE_SOURCE(vap_src…)這兩個udf組合在一起,出現(xiàn)了開始的同樣問題。請大神幫忙看下,問題出在哪?滴水之恩,涌泉相報,謝謝大神們。!
附件截圖是我引用udf的三個位置,附件文件是我的udf。
#include "udf.h"
#include "sg_mphase.h"
#define T_SAT 278
#define LAT_HT 2260000
DEFINE_SPECIFIC_HEAT(my_user_cp, T, Tref, h, yi)
{
real cp=1200.176+2164.7398*pow(0.35,1.16317)+0.0229*pow(T,1.306682)+0.3285*pow(0.35,1.16317)*pow(T,1.306682);
*h = cp*(T-Tref);
return cp;
}
DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn)//與下面組合后出現(xiàn)問題
{
Thread *mix_th,*sec_th;
real m_dot_l;
mix_th=THREAD_SUPER_THREAD(pri_th);
sec_th=THREAD_SUB_THREAD(mix_th,1);
if(C_T(cell,mix_th)>=T_SAT)
{
m_dot_l=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
dS[eqn]=-0.1*C_R(cell,pri_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
}
else
{
m_dot_l=0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
dS[eqn]=0.0;
}
return m_dot_l;
}
DEFINE_SOURCE(vap_src,cell,sec_th,dS,eqn)//與上面組合后出現(xiàn)問題
{
Thread *mix_th,*pri_th;
real m_dot_v;
mix_th=THREAD_SUPER_THREAD(sec_th);
pri_th=THREAD_SUB_THREAD(mix_th,0);
if(C_T(cell, mix_th)>=T_SAT)
{
m_dot_v=0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
dS[eqn]=0.0;
}
else
{
m_dot_v=-0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
dS[eqn]=-0.1*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
}
return m_dot_v;
}
DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn)
{
Thread *pri_th,*sec_th;
real m_dot;
pri_th=THREAD_SUB_THREAD(mix_th,0);
sec_th=THREAD_SUB_THREAD(mix_th,1);
if(C_T(cell, mix_th)>=T_SAT)
{
m_dot=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;
dS[eqn]=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)/T_SAT;
}
else
{
m_dot=0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(T_SAT-C_T(cell,mix_th))/T_SAT;
dS[eqn]=-0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)/T_SAT;
}
return LAT_HT*m_dot;
}
![求助Error:FLUENT received fatal signal (ACCESS-VIOLATION)]()
QQ1.png
![求助Error:FLUENT received fatal signal (ACCESS-VIOLATION)-1]()
QQ2.png
![求助Error:FLUENT received fatal signal (ACCESS-VIOLATION)-2]()
QQ3.png |