| 查看: 1017 | 回复: 2 | ||
| 【悬赏金币】回答本帖问题,作者113745685将赠送您 50 个金币 | ||
113745685金虫 (正式写手)
|
[求助]
求助:UDF的MASS_TRANSFER并行运算的问题!!!
|
|
|
请问各位大佬,我想用UDF实现fluent的一个蒸发冷凝模型,以替代现有的Lee模型(复现论文10.1016/j.ijheatmasstransfer.2019.118763的工作)。程序如下,串行的程序我弄出来了,但是并行的程序我不会搞,每次初始化都提示:MPI Application rank 0 exited before MPI_Finalize() with status 2. The fl process could not be started. UDM的内存位置也指定了,但是不知道为什么还是有这个问题,是程序哪里错了吗?如果有大佬能指出问题所在,在下愿意献上50个金币。 ----------------------------------------------------------------------------------------------------------------------------------------------------------------- #include "udf.h" DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index, from_species_index, to_index, to_species_index) { real m_lg=0.0; real T_SAT = 318.0; real T_Ti = 16.2; real be = 0.1; real bc = 10; #if !RP_HOST Thread *gas, *liq; liq = THREAD_SUB_THREAD(thread, from_index); gas = THREAD_SUB_THREAD(thread, to_index); C_UDMI(cell, thread, 1) = 0.; C_UDMI(cell, thread, 2) = 0.; if (C_T(cell, liq) > T_SAT + T_Ti) { m_lg = be*C_VOF(cell, liq)*C_R(cell, liq)*(C_T(cell, liq) - T_SAT) / T_SAT; /*Evaporation*/ C_UDMI(cell, thread, 1) = m_lg * 2455.e3; } else if (C_T(cell, liq) > T_SAT&&C_T(cell, liq) < T_SAT + T_Ti) { if (C_VOF(cell, liq) == 1) { m_lg = 0.0; /*Neither evaporation nor condensing*/ } else if (C_VOF(cell, liq) != 1) { m_lg = be*C_VOF(cell, liq)*C_R(cell, liq)*(C_T(cell, liq) - T_SAT) / T_SAT; /*Evaporation*/ C_UDMI(cell, thread, 1) = m_lg * 2455.e3; } } else if (C_T(cell, gas) < T_SAT) { m_lg = bc*C_VOF(cell, gas)*C_R(cell, gas)*(C_T(cell, gas) - T_SAT) / T_SAT; /*Condensing*/ C_UDMI(cell, thread, 2) = -m_lg * 2455.e3; } #if RP_NODE m_lg = PRF_GRSUM1(m_lg); #endif node_to_host_real_1(m_lg); #endif return(m_lg); } |
» 猜你喜欢
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有209人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有0人回复
113745685
金虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 996.7
- 散金: 80
- 帖子: 405
- 在线: 37.4小时
- 虫号: 12576352
- 注册: 2018-11-14
- 专业: 多相流热物理学
|
更新,我改了一下程序。注释掉了和C_UDMI有关的程序,结果就能并行运算了,问题是我在fluent里已经定义了C_UDMI的位置了,为什么还会报错,有没有大佬能解答一下? ---------------------------------------------------------------------------------------------------------------------------------- #include "udf.h" DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index, from_species_index, to_index, to_species_index) { real m_lg; real T_SAT = 318.0; real T_Ti = 16.2; real be = 0.1; real bc = 10; Thread *gas, *liq; liq = THREAD_SUB_THREAD(thread, from_index); gas = THREAD_SUB_THREAD(thread, to_index); m_lg = 0.0; /*C_UDMI(cell, thread, 1) = 0.;*/ /*C_UDMI(cell, thread, 2) = 0.;*/ if (C_T(cell, liq) > T_SAT + T_Ti) { m_lg = be*C_VOF(cell, liq)*C_R(cell, liq)*(C_T(cell, liq) - T_SAT) / T_SAT; /*Evaporation*/ C_UDMI(cell, thread, 1) = m_lg * 2455.e3; } else if (C_T(cell, liq) > T_SAT&&C_T(cell, liq) < T_SAT + T_Ti) { if (C_VOF(cell, liq) == 1) { m_lg = 0.0; /*Neither evaporation nor condensing*/ } else if (C_VOF(cell, liq) != 1) { m_lg = be*C_VOF(cell, liq)*C_R(cell, liq)*(C_T(cell, liq) - T_SAT) / T_SAT; /*Evaporation*/ /*C_UDMI(cell, thread, 1) = m_lg * 2455.e3;*/ } } else if (C_T(cell, gas) < T_SAT) { m_lg = bc*C_VOF(cell, gas)*C_R(cell, gas)*(C_T(cell, gas) - T_SAT) / T_SAT; /*Condensing*/ /*C_UDMI(cell, thread, 2) = -m_lg * 2455.e3;*/ } return(m_lg); } |
2楼2022-12-05 22:39:40
113745685
金虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 996.7
- 散金: 80
- 帖子: 405
- 在线: 37.4小时
- 虫号: 12576352
- 注册: 2018-11-14
- 专业: 多相流热物理学
3楼2022-12-06 22:06:37











回复此楼