顶部banner
Logo 折叠
学习从这里开始
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

技术邻
技术引领职场价值
电话
0571-86682823
商务合作
service@jishulink.com

Fluent 串行UDF改并行UDF? 100

浏览: 4172 回答: 3

串行可以计算,但是按照网上和帮助上改成并行的,结果并行计算和串行结果不一样(可以肯定并行计算错了),实在没搞明白host和node该怎么设,有没有大神指导一下改怎么改啊?UDF是求取特定体积的,涉及了循环,初步猜测是不同node的值没有汇总,导致结果中时间列是对的,变量列是错的....

#include "udf.h"

DEFINE_EXECUTE_AT_END(execute_at_end)

{

FILE *fp;

fp = fopen("vf.txt", "a");

real volume = 0.0;

real mass_fraction = 0.0;

real v = 0.0;

real vf = 0.0;

real flow_time = RP_Get_Real("flow-time");

int cold_index = 0;


#if !RP_HOST

Domain * d;

Thread * tc;

cell_t c;

d = Get_Domain(1);

#endif


#if !RP_HOST

thread_loop_c(tc, d)

{

begin_c_loop_int(c, tc)

{

mass_fraction = C_YI(c, tc, cold_index);

if (mass_fraction>0.13253545)

{

volume = C_VOLUME(c, tc);

v += volume;

}

}

vf = v * 100 / 0.01720534;

end_c_loop_int(c, tc)

}

#endif


#if !RP_HOST

fprintf(fp, "%f, %f \n", flow_time, vf);

fclose(fp);

#endif

}


全部回答 (3)

默认 最新
NANK 2017年7月27日
fluent在并行计算时,整个计算网格会由主节点(host)分为若干个计算量相当的子区域,分配至各个计算结点(computer node)上。 host只存储网格的分区信息,因而不能进行涉及单元循环的计算,而可以进行从computer node上返回值的相关计算以及其它C语言允许的计算; computer node则可以进行本节点上分配的区域内网格循环的相关计算。在将串行udf修改为并行的时,确定好哪些程序段是需要在host上编译执行,哪些是需要在computer node上编译执行,协调好两者之间的数据传递即可, 具体参考Udf manual中的parallel considerations
2017年7月27日
已采纳 评论 点赞
技术邻问答 2017年7月27日
@EAC @NANK
2017年7月27日
评论 点赞
Samenov 2017年7月26日
在末尾加入v = PRF_GRSUM1(v)后,可以计算了,但是为什么并行和串行的结果,在小数数值上还有不同,UDF是不是还有问题?对于begin_c_loop_int 宏,在求取单元体积上时,只需要单元内部循环就可以了吗?不需要把外部单元一起循环吧?
2017年7月26日
评论 点赞

相似问题

查看全部
  • Fluent编写UDF出现一些问题? 1个回答

    我需要编写的是一个温度随时间变化的边界条件。温度随时间变化的公式如图片所示。下面是我自己编写的udf: #include "udf.h" #define K1 6.2831852/8760 #define K2 2.6/438000 DEFINE_PROFILE(boundary_temperature,t,i) { real x[ND_ND]; /* this will hold the pos

  • fluent 如何udf控制多入口逐个进气? 3个回答

    有2个进气口,如何控制入口1进气1s然后关闭,入口2进气1s然后关闭,然后循环作用。尝试学udf控制,但失败了(从效果图看还是两个口同时进气)。请教大神们如何编写udf或有什么招。 我的udf如下: #include "udf.h" DEFINE_PROFILE(inlet1_pressure, thread, position) { real t; face_t f; begin_f_loop(

  • 求助:Fluent中导入UDF 2个回答

    #include "udf.h" #include "math.h" FILE *result; DEFINE_EXECUTE_AT_END(pressure_end) { result=fopen("Pressure_GET.txt","a"); Domain *d d=Get_Domain(1); Thread *t; cell_t c; real pressure; real A[ND_ND

推荐阅读

转子旋转的周期性模型-水冷电机散热仿真

转子旋转的周期性模型-水冷电机散热仿真

技术邻小李 技术邻小李
¥100
step by step 教你如何在abaqus中使用实体单元和连接单元建立螺栓连接

step by step 教你如何在abaqus中使用实体单元和连接单元建立螺栓连接

幻想飞翔 幻想飞翔
¥30
2020全英华人汽车工程协会年会Part 2——汽车产品工程研发的数字化未来

2020全英华人汽车工程协会年会Part 2——汽车产品工程研发的数字化未来

陈东陈 陈东陈
免费
测量不确定度的应用实践

测量不确定度的应用实践

HBK测试与测量 HBK测试与测量
免费
无网格划分软件midas MeshFree - 功能培训

无网格划分软件midas MeshFree - 功能培训

MIDAS官方 MIDAS官方
免费
探究实时仿真GPU求解器加速汽车行业设计创新

探究实时仿真GPU求解器加速汽车行业设计创新

Ansys中国 Ansys中国
免费
Fluent中升力和阻力的计算

Fluent中升力和阻力的计算

宁博士CAE团队 宁博士CAE团队
免费
【入门案例02】Abaqus——钢筋混凝土构件的碳纤维布+钢板加固模拟

【入门案例02】Abaqus——钢筋混凝土构件的碳纤维布+钢板加固模拟

臻元咨询
¥30
张量计算课程合集

张量计算课程合集

引垂思汀 引垂思汀
¥50
精品课程A30-考虑初始缺陷的栓焊连接组合节点滞回模拟

精品课程A30-考虑初始缺陷的栓焊连接组合节点滞回模拟

大平-结构工程 大平-结构工程
¥598
vof案例-射流

vof案例-射流

CFD流 CFD流
免费
线控底盘市场趋势分析

线控底盘市场趋势分析

小木匠砍树 小木匠砍树
免费
用EVOLVE对接INSPIRE,加速产品迭代优化

用EVOLVE对接INSPIRE,加速产品迭代优化

咸鱼氮泵 咸鱼氮泵
免费
遗传算法解决(TSP)商旅问题matlab代码超详细解说(适用于新手)

遗传算法解决(TSP)商旅问题matlab代码超详细解说(适用于新手)

活泼可男_matlab教学 活泼可男_matlab教学
¥10
船舶行进过程中的流场分布规律分析

船舶行进过程中的流场分布规律分析

龙樱 龙樱
免费
BOX-3D变宽斜钢箱梁绘图及功能更新演示

BOX-3D变宽斜钢箱梁绘图及功能更新演示

敦樸DUNPU 敦樸DUNPU
免费
基于iSIGHT+Workbench的开孔平板性能优化

基于iSIGHT+Workbench的开孔平板性能优化

sjktzy sjktzy
¥5
Hyperworks CFD v2022.1前后处理教程

Hyperworks CFD v2022.1前后处理教程

ALTAIR ALTAIR
免费
品索设计-Creo自学练习集讲解(草绘部分)

品索设计-Creo自学练习集讲解(草绘部分)

深圳品索设计Creo培训 深圳品索设计Creo培训
免费
七步台阶法暗挖隧道施工

七步台阶法暗挖隧道施工

一直那么好
¥8.8