顶部banner
Logo 折叠
全网首发仿真工程师项目实训
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

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

Fluent 串行UDF改并行UDF? 100

浏览: 4250 回答: 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

推荐阅读

Fluent UDF视频教程

Fluent UDF视频教程

技术邻小李 技术邻小李
¥200
ANSYS新版本功能速递: HFSS微放电仿真

ANSYS新版本功能速递: HFSS微放电仿真

Ansys中国 Ansys中国
免费
0#块箱梁托架法施工结构模拟

0#块箱梁托架法施工结构模拟

yudachuan1105 yudachuan1105
¥200
基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析——工作创建以及检查

基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析——工作创建以及检查

北鲲 北鲲
¥99
ABAQUS钢管混凝土柱温度场及耐火性能分析(未完)

ABAQUS钢管混凝土柱温度场及耐火性能分析(未完)

地下结构设计
¥40
5G终端天线仿真设计方法及其应用

5G终端天线仿真设计方法及其应用

Ansys中国 Ansys中国
免费
abaqus三维切削数值模拟(sph法)

abaqus三维切削数值模拟(sph法)

abaquser abaquser
¥30
基于ABAQUS和ANSYS接触分析

基于ABAQUS和ANSYS接触分析

宁博士CAE团队 宁博士CAE团队
免费
前沿技术!大数据分析及人工智能在优化软件中的应用

前沿技术!大数据分析及人工智能在优化软件中的应用

IDAJ中国 IDAJ中国
¥9.99
新一代智能头灯的动态设计评估与仿真

新一代智能头灯的动态设计评估与仿真

Ansys中国 Ansys中国
免费
UG培训第九课:自由曲面构造法

UG培训第九课:自由曲面构造法

luffy8610 luffy8610
¥20
应用ANSYS瞬态动力学法模拟啮合齿轮的高速转动

应用ANSYS瞬态动力学法模拟啮合齿轮的高速转动

夏日星空 夏日星空
¥35
一线科技工作者接受仿真咨询服务的全过程经验分享

一线科技工作者接受仿真咨询服务的全过程经验分享

技术邻直播 技术邻直播
免费
混凝土材性试块拉压数值模拟(ABAQUS通法建模初级案例3)

混凝土材性试块拉压数值模拟(ABAQUS通法建模初级案例3)

大平-结构工程 大平-结构工程
¥299
汽车仪表模具模流分析的实战讲解

汽车仪表模具模流分析的实战讲解

北卡 北卡
免费
UG有限元基础教程

UG有限元基础教程

moonshine🤓 moonshine🤓
免费
ABAQUS桁架结构强度分析

ABAQUS桁架结构强度分析

wj_2704 wj_2704
¥500
ADAS功能软件基础介绍

ADAS功能软件基础介绍

Alex王 Alex王
免费
使用已标定的车辆动力学模型提升开发效率

使用已标定的车辆动力学模型提升开发效率

VI-grade中国 VI-grade中国
免费
hypermesh_dyna小车碰撞护栏(无声)

hypermesh_dyna小车碰撞护栏(无声)

吴文泽 吴文泽
¥18