24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3111  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

13386846246

铜虫 (小有名气)

[求助] udf不能正确调用颗粒的宏的值进行计算

采用多表面燃烧模型模拟煤颗粒燃烧,使用DEFINE_PR_RATE计算颗粒反应,并读取颗粒质量P_INIT_MASS(p),和颗粒温度P_T(p),以监测计算过程。
用fprintf(fpOut2,"%f\n",P_T(p));和fprintf(fpOut1,"%f\n",P_INIT_MASS(p));输出,
可是导出的P_T(p)数据与在material面板中设置的颗粒密度值相等,P_INIT_MASS数据与在离散相中设置的颗粒直径数值相等,其他颗粒的宏输出也不正确。
udf不能正确地调用P_INIT_MASS(p)与P_T(p)的值。请教下各位,这是为什么?
#include "udf.h"
#define A1 10.6313
#define E1 5.1811e+07
DEFINE_PR_RATE(user_pr_rate,c,t,r,mw,pp,p,sf,dif_i,cat_i,rr)
{
        real ash_mass = P_INIT_MASS(p)*(1.-1./3.);
    real one_minus_conv1 = MAX(0.,3*(P_MASS(p)-ash_mass)/P_INIT_MASS(p));
    real one_minus_conv = 3.*exp(2.*log(one_minus_conv1)/3.);
    real rate = A1*exp(-E1/UNIVERSAL_GAS_CONSTANT/P_T(p));
    *rr = -rate*P_INIT_MASS(p)*one_minus_conv;

        FILE *fpOut1 = fopen("P_INIT_MASS(p).txt","a";
        fprintf(fpOut1,"%f\n",P_INIT_MASS(p));
    fclose(fpOut1);

        FILE *fpOut2 = fopen("P_T(p).txt","a";
        fprintf(fpOut2,"%f\n",P_T(p));
    fclose(fpOut2);
       
        FILE *fpOut3 = fopen("P_MASS(p).txt","a";
        fprintf(fpOut3,"%f\n",P_MASS(p));
    fclose(fpOut3);
}
回复此楼

» 收录本帖的淘帖专辑推荐

实验

» 猜你喜欢

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

时完君

新虫 (初入文坛)

我目前研究的是pvt空冷系统,下表面冷却,亦即一个长方体空气通道,上表面是pv板,由于要考虑pv板对外界环境的散热和产生的电能两部分热量,所以打算用吸收的太阳辐射热量减去这两部分值得到我要的热流值,所以编程,现改编程如下,大神们有什么问题吗

#include"udf.h"
#define I 677
#define Ta 20
#define η 0.15
real ave_temp=300.0;
DEFINE_PROFILE(heat_flux,t,i)
{
   real NV_VEC(A);
   real sum_T_A=0.0;
   real sum_A=0.0;
   Thread *thread_top;
   face_t f;
   begin_f_loop(f,thread_top)
{
  F_AREA(A,f,thread_top);
  sum_A+=NV_MAG(A);
  sum_T_A+=NV_MAG(A)*F_T(f,thread_top);
}
  end_f_loop(f,thread_top)
  ave_temp=sum_T_A/sum_A;
  F_PROFILE(f,t,i)=0.855*I*sum_A-2.8*(ave_temp-Ta)*sum_A-η*(1-0.0045*(temp-298.15))*I*sum_A;
}
5楼2017-03-09 17:11:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

db0320

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
13386846246: 金币+3, 有帮助 2017-03-09 15:54:38
首先P_INIT_MASS(p),是初始质量,如果你想调用的质量是当前质量应该用P_MASS(p),另进入当前cell时的质量是P_MASS0(p)

对于你的问题,可能是由于没有告诉程序正在追踪的颗粒,在最开始加入 Tracked_Particle *p试一试。
好久没写UDF了,可能说的不对。具体你还是看一下UDF手册。

以下内容百度来的,供参考:
DEFINE_PR_RATE(name,c,t,r,mw,ci,p,sf,dif index,cat index,rr)
symbol name---- UDF name.
cell t c---- Cell index of current particle.
Thread *t---- Pointer to cell thread for particle.
Reaction *r---- Pointer to data structure that represents the current reaction.
real *mw---- Pointer to array containing gaseous and surface species molecular weights
real *ci---- Pointer to array containing gas partial pressures.
Tracked Particle *p---- Pointer to Tracked Particle data structure that contains data related to the particle being tracked.
real *sf---- Pointer to array containing mass fractions of the solid species in the particle char mass at the current time step.
int dif_index---- Diffusion controlled species as defined in the Reactions panel for the current reaction.
int cat_index---- Catalyst species as defined in the Reactions panel for the current reaction.
2楼2017-03-09 13:01:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
3楼2017-03-09 13:23:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

13386846246

铜虫 (小有名气)

13386846246: 回帖置顶 2017-03-09 16:10:48
13386846246: 取消置顶 2017-03-09 16:11:18
引用回帖:
2楼: Originally posted by db0320 at 2017-03-09 13:01:48
首先P_INIT_MASS(p),是初始质量,如果你想调用的质量是当前质量应该用P_MASS(p),另进入当前cell时的质量是P_MASS0(p)

对于你的问题,可能是由于没有告诉程序正在追踪的颗粒,在最开始加入 Tracked_Particle *p ...

谢谢您的回复,加入Tracked_Particle *p 后进行编译,出现redefinition of formal parameter 'p'问题,应该是DEFINE_PR_RATE(name,c,t,r,mw,ci,p,sf,dif index,cat index,rr)中已经声明了*p。
有些地方不明白,想问下:
(1)P_INIT_MASS(p) 在面板中并没设置参数,那P_INIT_MASS(p)的数值是怎么得到的,是根据P_INIT_DIAM(p)与P_INIT_RHO(p)计算的么?
(2)P_MASS0(p)与P_INIT_MASS(p)是什么关系?
4楼2017-03-09 15:58:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿211院校 344分 东北农业大学生物学学硕,求调剂 +5 丶风雪夜归人丶 2026-03-26 8/400 2026-03-27 19:22 by 丶风雪夜归人丶
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考研] 266求调剂 +11 阳阳哇塞 2026-03-27 12/600 2026-03-27 17:56 by yu221
[考研] 328求调剂 +6 嗯滴的基本都 2026-03-27 6/300 2026-03-27 16:49 by sanrepian
[考研] 085600材料与化工调剂 +10 A-哆啦Z梦 2026-03-23 16/800 2026-03-27 15:13 by caszguilin
[考研] 322求调剂 +4 我真的很想学习 2026-03-23 4/200 2026-03-27 13:51 by 杨杨杨紫
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[考研] 求调剂323材料与化工 +7 1124361 2026-03-24 7/350 2026-03-27 10:22 by wangjy2002
[考研] 284求调剂 +11 junqihahaha 2026-03-26 12/600 2026-03-27 04:37 by wxiongid
[考研] 333求调剂 +7 87639 2026-03-21 12/600 2026-03-26 22:08 by 不吃魚的貓
[考研] 324求调剂 +4 wysyjs25 2026-03-21 4/200 2026-03-26 20:38 by fmesaito
[考研] 0703化学求调剂 +3 丹青奶盖 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[考研] 279求调剂 +6 红衣隐官 2026-03-21 6/300 2026-03-26 18:32 by 不吃魚的貓
[考研] 085602 289分求调剂 +8 WWW西西弗斯 2026-03-24 8/400 2026-03-26 16:33 by 不吃魚的貓
[考研] 材料277求调剂 +5 min3 2026-03-24 5/250 2026-03-26 15:13 by zzll406
[考研] 一志愿河工大 081700 276求调剂 +4 地球绕着太阳转 2026-03-23 4/200 2026-03-26 14:27 by zzll406
[考研] 考研一志愿苏州大学初始315(英一)求调剂 +3 sbdksD 2026-03-24 4/200 2026-03-25 18:16 by xcjcqu
[考研] 一志愿东华大学化学070300,求调剂 +7 2117205181 2026-03-21 8/400 2026-03-22 22:55 by chixmc
[考研] 306求调剂 +5 来好运来来来 2026-03-22 5/250 2026-03-22 16:17 by BruceLiu320
[考研] 266求调剂 +3 哇呼哼呼哼 2026-03-20 3/150 2026-03-21 16:46 by barlinike
信息提示
请填处理意见