24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2325  |  回复: 5

keen_xq

铁虫 (小有名气)

[求助] DPM宏命令Begin_particle_cell_loop(p,c,t)的使用问题 已有1人参与

各位同学 有没有使用Fluent中 这个 begin_particle_cell_loop(p,c,t)宏呢,该宏出现在DEFINE_DPM_SPRAY_COLLIDE中,看帮助上的解释,该宏应该是遍历单元中所有的颗粒。我想用该宏求出单元中 颗粒的体积分数,命令如下。 该命令在编译中没问题,计算时崩溃。我调试过多次,最后发现 begin_particle_cell_loop(pi,c,t)不能再DEFINE_DPM_DRAG中使用,一旦使用,求解就没办法进行,我也尝试在其他宏 如DEFINE_DPM_SCALE_UPDATA 和DEFINE_DPM_BODY_FORCE中调用均失败。有没有大牛使用过该宏,求指点迷津,被折磨了好久了。


DEFINE_DPM_DRAG(particle_drag_force,Re,p)
{
        real dd,Vsum=0.0;
        cell_t c=P_CELL(p);
        Thread *t =P_CELL_THREAD(p);
        Particle *pi;
        begin_particle_cell_loop(pi,c,t)
        {
                Vsum+=M_PI*pow(P_DIAM(pi),3.0)/6.0;
        }end_particle_cell_loop(pi,c,t)

        C_UDMI(c,t,0)=Vsum/C_VOLUME(c,t);  //求体相积分数;//
        if(C_UDMI(c,t,0)>1)
                C_UDMI(c,t,0)=1.0;

        if(Dragsign==1)
                dd=Cdrag_force1(p,Re);
        else if(Dragsign==2)
                dd=Cdrag_force2(p,Re);
        else if(Dragsign==3)
                dd=Cdrag_force3(p,Re);
        else if(Dragsign==4)
                dd=Cdrag_force4(p,Re);
        else
                dd=Cdrag_force5(p,Re);
        return dd*pow(1-C_UDMI(c,t,0),5.0/3.0)/pow(1-C_UDMI(c,t,0),2.0);
}
回复此楼

» 猜你喜欢

勿忘初心,方得始终。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liukan12

银虫 (小有名气)

【答案】应助回帖

你的理解有误区 实际上这个宏需要先要把particle在cell中间建立索引列表 所以需要先把particle封装一下 就是说 首先你需要一个particle bin
否则你是会报错的
其实一个单元内的颗粒总数是有简单的求法的

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

ANSYSFluent流体仿真研究人员。
2楼2019-06-15 14:43:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

keen_xq

铁虫 (小有名气)

膜拜大神。请问大神,你所说的particle bin如何创建,或者如何得到?在fluent UDF 手册中关于这个宏我只发现在DEFINE_DPM_SPRAY_COLLIDE中存在,关于这个宏的介绍也是一笔带过。大神,你能详细说下,或则推荐个资料吗,udf手册中的介绍很不详细,有很多都需要自己结合程序推出是什么意思。。大神,我udf的目的是想遍历每个流体单元中所有的气泡,通过累加其体积然后求得气相的体积分数。大神,你能推荐下简单的方法吗?不胜感激。。还有金币奉上

发自小木虫Android客户端
勿忘初心,方得始终。
3楼2019-06-16 00:11:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

keen_xq

铁虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by liukan12 at 2019-06-15 14:43:25
你的理解有误区 实际上这个宏需要先要把particle在cell中间建立索引列表 所以需要先把particle封装一下 就是说 首先你需要一个particle bin
否则你是会报错的
其实一个单元内的颗粒总数是有简单的求法的

膜拜大神。请问大神,你所说的particle bin如何创建,或者如何得到?在fluent UDF 手册中关于这个宏我只发现在DEFINE_DPM_SPRAY_COLLIDE中存在,关于这个宏的介绍也是一笔带过。大神,你能详细说下,或则推荐个资料吗,udf手册中的介绍很不详细,有很多都需要自己结合程序推出是什么意思。。我udf的目的是想遍历每个流体单元中所有的气泡,通过累加其体积然后求得气相的体积分数。大神,你能推荐下简单的方法吗?不胜感激。。还有金币奉上

发自小木虫Android客户端
勿忘初心,方得始终。
4楼2019-06-16 00:15:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

钱潇

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
4楼: Originally posted by keen_xq at 2019-06-16 00:15:38
膜拜大神。请问大神,你所说的particle bin如何创建,或者如何得到?在fluent UDF 手册中关于这个宏我只发现在DEFINE_DPM_SPRAY_COLLIDE中存在,关于这个宏的介绍也是一笔带过。大神,你能详细说下,或则推荐个资料 ...

请问楼主解决这个问题了吗,我也是希望通过UDF获得流体域的气液比,结果,出各种问题
5楼2020-05-19 16:44:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

钱潇

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
5楼: Originally posted by 钱潇 at 2020-05-19 16:44:38
请问楼主解决这个问题了吗,我也是希望通过UDF获得流体域的气液比,结果,出各种问题...

There is a loop available for looping over all the particles in a cell. But it does not work if used directly. Actually the array to bin the particles in the cell is not allocated by default. It has to be done before using this loop and then it will run ok.

So, at the top of the routine, please put,

Alloc_Storage_Vars(domain, SV_DPM_PARTICLE_BIN, SV_NULL);
bin_particles_in_cells(domain);

and at the botton, free up the memory with,

Free_Storage_Vars(domain, SV_DPM_PARTICLE_BIN, SV_NULL);
I am attaching my test UDF. It worked nicely for a simple 2d case in Linux.

#include "udf.h"
#include "surf.h"

DEFINE_ON_DEMAND(cell)
{

Domain *d=Get_Domain(1);
cell_t c;
int id;
Particle *p;

Thread *c_thread=Lookup_Thread(d,2); /*In my case 2 was the id of the fluid thread. Please change this number accordingly */

Alloc_Storage_Vars(d, SV_DPM_PARTICLE_BIN, SV_NULL);
bin_particles_in_cells(d);

begin_c_loop(c, c_thread)

{
/* Message("Cell_index=%dn",c);*/
begin_particle_cell_loop(p,c,c_thread)
{
id=p->part_id;
Message(" cell index=%d part_id=%d ",c,id);
}
end_particle_cell_loop(p,c,c_thread)
}

end_c_loop(c, c_thread)

Free_Storage_Vars(d, SV_DPM_PARTICLE_BIN, SV_NULL);

}
6楼2020-05-19 18:00:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 keen_xq 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 302分求调剂 一志愿安徽大学085601 +8 zyx上岸! 2026-04-04 8/400 2026-04-05 23:08 by lbsjt
[考研] 生物与医药求调剂 +5 heguanhua 2026-04-05 6/300 2026-04-05 22:58 by Hdyxbekcb
[考研] 308求调剂 +4 maverick^_^ 2026-04-03 4/200 2026-04-05 19:08 by 蓝云思雨
[考研] 301求调剂 +3 XYPLR 2026-04-05 4/200 2026-04-05 19:07 by XYPLR
[考研] 312求调剂 +3 Say Never 2026-04-04 3/150 2026-04-05 11:19 by guoweigw
[考研] 材料调剂 +11 吴棂颖! 2026-04-03 11/550 2026-04-04 09:56 by 小小树2024
[考研] 294求调剂 +6 Grey_Ey 2026-04-03 6/300 2026-04-03 20:46 by 欣喜777
[考研] 考研调剂 +8 不爱喝饮料 2026-04-03 8/400 2026-04-03 16:40 by Mistake-J
[考研] 293求调剂 +5 末未mm 2026-04-02 6/300 2026-04-03 15:20 by 王保杰33
[考研] 334求调剂 +9 Trying] 2026-03-31 9/450 2026-04-03 15:18 by 琢珥丶
[考研] 303求调剂 +3 一色清羽 2026-04-02 4/200 2026-04-03 10:22 by 蓝云思雨
[考研] 一志愿厦门大学材料工程专硕354找调剂!!! +8 贝呗钡钡 2026-03-30 8/400 2026-04-03 09:41 by hypershenger
[考研] 318求调剂,计算材料方向 +10 吸喵有害笙命 2026-04-01 11/550 2026-04-02 16:29 by oooqiao
[考研] 286分调剂 +20 Faune 2026-03-30 22/1100 2026-04-02 13:24 by clyblh
[考研] 311求调剂 +14 蓝月亮亮 2026-03-30 14/700 2026-04-02 12:18 by 1753564080
[考研] 377求调剂 +3 RASKIN 2026-04-02 3/150 2026-04-02 09:45 by zzchen2000
[考研] 【求调剂】新能源材料本科,一志愿211,初试321 +6 求调剂学校, 2026-04-02 6/300 2026-04-02 09:41 by 晴空210210
[考研] 265求调剂 +11 yelck 2026-04-01 12/600 2026-04-01 19:12 by 549790059
[考研] 0703一志愿南师大334求调剂 +4 seven7yu 2026-03-30 4/200 2026-04-01 16:10 by oooqiao
[考研] 求调剂,一志愿北林食品与营养095500,301分,已过六级,有科研经历 +4 快乐储蓄罐 2026-03-31 4/200 2026-04-01 09:26 by JourneyLucky
信息提示
请填处理意见