24小时热门版块排行榜    

查看: 1876  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

837729744

铜虫 (小有名气)

[求助] 帮忙看下这个udf有问题吗?初始化没问题,点计算出错

帮忙看下这个udf有问题吗?初始化没问题,点计算出错

#include "udf.h"                                                /*包括常规宏*/
#include "sg_mphase.h"                                        /*包括体积分数宏*/
#define  LAT_HT 2260000                                          /*定义水蒸汽潜热*/
#define  pi 3.1415                                            /*圆周率常数*/
#define  R 8314                                             /*gas constant 8.314j/mol.K*/
#define  moleweight 0.018                                   /*SI unit water mole weight 0.018kg/mol */
#define A 7.19621
#define B 1730.63
#define C 233.426
DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn)                   /*定义液相源项*/
{
  Thread *mix_th, *sec_th;                                    /*混合相、第二相 定义计算区域指针*/
  real m_dot_l;                                                /*蒸发冷凝速率  定义液相质量转移*/
  real P_SAT ;                                
  mix_th = THREAD_SUPER_THREAD(pri_th);                        /*指向混合区的主相即液相的指针*/
  sec_th = THREAD_SUB_THREAD(mix_th, 1);                      /* 指向单相控制区的气相的指针*/
  P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3;     /*定义饱和蒸汽压与液相温度的关系式,即antoine公式*/
if(C_P(cell, sec_th)< P_SAT)
   {m_dot_l = -(P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); /*定义液相向气相转移的速率,如果气相的压力小于一定温度下的饱和蒸汽压,液相向气相发生质量转移*/
   dS[eqn]= -2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th));                 /*定义源项对质量转移偏导,fabs为取绝对值*/
   }
else
   {m_dot_l = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); /*定义液相向气相转移的速率,如果气相压力大于一定温度下的饱和蒸汽压,气相向液相发生质量转移*/
   dS[eqn] = 0;                        /*由于气相向液相转移,所以液相的质量源项对质量转移的偏导为零*/
   }
return m_dot_l;
}
DEFINE_SOURCE(vap_src, cell, sec_th, dS, eqn)
{
  Thread *mix_th, *pri_th;
  real m_dot_v;
  real P_SAT ;
  mix_th = THREAD_SUPER_THREAD(sec_th);
  pri_th = THREAD_SUB_THREAD(mix_th, 0);
  P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3;
if(C_P(cell, sec_th)< P_SAT)
{
  m_dot_v = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th));
  dS[eqn] =0;
}
else
  {m_dot_v = -(P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th));  
  dS[eqn]=-2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th));
  }
return m_dot_v;
}
DEFINE_SOURCE(enrg_src, cell, mix_th, dS, eqn)
{
Thread *pri_th,*sec_th;
real m_dot;
real P_SAT;
pri_th=THREAD_SUB_THREAD(mix_th,0);
sec_th=THREAD_SUB_THREAD(mix_th,1);
P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3;
if(C_P(cell, sec_th)< P_SAT)
{
  m_dot =- (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th));
  dS[eqn]=-2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th));
}
else
{
m_dot = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th));
dS[eqn]=2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th));
}

return LAT_HT*m_dot;

}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangdarui

铜虫 (正式写手)

引用回帖:
15楼: Originally posted by 转石千仞 at 2013-09-08 09:03:24
最好的资料,莫过于原英文的帮助文件,没有其它比这个更好,它包括理论部分,例子部分,还有UDF部分。
你先克服一下,慢慢就看习惯了。...

好的 谢谢啦
16楼2013-09-10 21:49:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

837729744

铜虫 (小有名气)

错误代码:Error: Floating point error: invalid number

Error Object: ()
把所有质量转移速率和求导的式子改成为=0,(m_dot=0;dS[eqn]=0),可以进行计算,是不是式子的问题啊?求指导
2楼2013-09-05 10:39:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)

击破长空

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
837729744: 金币+8 2013-09-05 11:04:03
1592203609: 金币+3, 谢谢回帖 2013-09-05 16:01:15
引用回帖:
2楼: Originally posted by 837729744 at 2013-09-05 10:39:39
错误代码:Error: Floating point error: invalid number

Error Object: ()
把所有质量转移速率和求导的式子改成为=0,(m_dot=0;dS=0),可以进行计算,是不是式子的问题啊?求指导

这种情况下,建议你对计算的数据进行检查。
你可以采用程序截断的形式,用Message插入可能出问题的位置前后,看是否能输出语言与数据,这样可以检测你的程序运行到哪里出现了浮点错误。
你还可以用Error语句来控制程序的停止,你可以让程序运行到任意位置停止,以便不让程序在每一个控制容积里运行。
出现浮点错误的原因,是你计算出现极大或极小值,比0等等。
调试程序需要耐心与经验,祝你好运!
故善战人之势,如转圆石于千仞之山者,势也
3楼2013-09-05 10:51:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)

击破长空

【答案】应助回帖

★ ★
1592203609: 金币+2, 谢谢回帖 2013-09-05 16:01:29
引用回帖:
2楼: Originally posted by 837729744 at 2013-09-05 10:39:39
错误代码:Error: Floating point error: invalid number

Error Object: ()
把所有质量转移速率和求导的式子改成为=0,(m_dot=0;dS=0),可以进行计算,是不是式子的问题啊?求指导

你的求导的式子,可能产生了极大值,“变化“太大,你的方程立马发散。
故善战人之势,如转圆石于千仞之山者,势也
4楼2013-09-05 10:52:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +3 process2012 2026-08-23 4/200 2026-08-23 12:54 by huixian257
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 h4CP7TrQR8Lg 2026-08-22 5/250 2026-08-23 12:09 by LR9qGULyN2ew
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 9/450 2026-08-23 10:44 by IXZuIJ2Q7OVy
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 10/500 2026-08-23 07:17 by OEbVnUOu01ol
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 5/250 2026-08-23 04:07 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 04:04 by OEbVnUOu01ol
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QTy3jDtz1uLt 2026-08-21 9/450 2026-08-23 03:04 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 QTy3jDtz1uLt 2026-08-21 11/550 2026-08-23 02:55 by OEbVnUOu01ol
[基金申请] 范进中举一文的中心思想 +3 zjuhero 2026-08-22 4/200 2026-08-22 20:02 by mycsru
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见