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的回帖

转石千仞

金虫 (正式写手)

击破长空

引用回帖:
11楼: Originally posted by 837729744 at 2013-09-07 08:37:34
还有就是都是在什么情况下,才用求导啊(dS=),明白为什么要对上式求导,求导的作用是什么?...

是为了加快收敛。
你应该去看相关理论些的书,你要明白,并不是所有答案,别人都可以告诉你的。你要自己去寻找。

» 本帖已获得的红花(最新10朵)

故善战人之势,如转圆石于千仞之山者,势也
12楼2013-09-07 10:16:23
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +11 kulium 2026-08-21 14/700 2026-08-24 02:12 by 流流伤
[基金申请] 范进中举一文的中心思想 +4 炎黄贵胄 2026-08-22 5/250 2026-08-24 02:09 by 流流伤
[基金申请] 2026国自然函评费到账 +16 羊腰板 2026-08-21 17/850 2026-08-23 23:02 by tianxiaochun
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 15/750 2026-08-23 20:44 by 大萍1987
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 明天放榜? +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 家与远方
信息提示
请填处理意见