- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FLUENTUDF实例应用
UDF的应用 User-Defined Function 1、为什么要使用UDF一般来说,任何一种软件都不可能满足每一个人的要求,FLUENT也一样,其标准界面及功能并不能满足每个用户的需要。UDF正是为解决这种问题而来,使用它我们可以编写代码满足不同用户的特殊需要。 2、UDF的功能 定义边界条件,定义材料属性,定义表面和体积反应率,定义FLUENT输运方程中的源项,用户自定义标量输运方程(UDS)中的源项扩散函数等等。 在每次迭代的基础上调节计算值 方案的初始化 (需要时)UDF的异步执行 后处理的改善 FLUENT模型的改进(例如离散相模型,多项混合物,离散发射辐射模型) 3、举一反三 DEFINE_PROFILE#include udf.h“ DEFINE_PROFILEpressure_profile,t,ireal x[ND_ND];real y; face_t f;begin_f_loopf,tF_CENTROIDx,f,t;y x[1];F_PROFILEf,t,i 1.1e5 - y*y/.0745*.0745*0.1e5;end_f_loopf,t#include “udf.h” #define pi 4.*atan1. DEFINE_PROFILE x_velocity,thread,positionface_t f; begin_f_loopf,threadreal tRP_Get_Real“flow-time”;F_PROFILEf,thread,position1+sinpi*t;end_f_loopf,t #include “udf.h” DEFINE_PROFILEheatflux,t,i face_t f; real x; real a0.01; real g[ND_ND]; begin_f_loopf,tF_CENTROIDg,f,t; xg[0]; F_PROFILEf,t,ia*x;end_f_loopf,t 根据距离原点远近定义热流率 #include udf.h DEFINE_PROFILEheatflux,t,i face_t f; real r; real a0.01; real x[ND_ND],y[ND_ND],z[ND_ND];begin_f_loopf,tF_CENTROIDx,f,t;y[0]0.0;y[1]0.0;y[2]0.0;NV_VVz,,x,-,y;rNV_MAGz;F_PROFILEf,t,ia*r;end_f_loopf,t 4、综合编程:出口平均温度赋值给进口 #include udf.h real NV_VECA; real avg_temp; real sum_T_A0.0; real sum_A0.0; Thread *thread_out; face_t f; Domain *domain; DEFINE_ADJUSTadjust,d domainGet_Domain1; thread_outLookup_Threaddomain,4; begin_f_loopf,thread_outF_AREAA,f,thread_out;sum_A+NV_MAGA;sum_T_A+NV_MAGA*F_Tf, thread_out;end_f_loopf,thread_out avg_tempsum_T_A/sum_A; 对并行编程的展望 大部分单核可以运行的UDF在并行下可以完美运行,不过在一些情况下就不行了,前面的综合编程就是一个很好的例子(Reading and Writing Files,Global Sums,Certain Loops over cells and faces等情况)。然而现在大部分PC机或者工作站都是多核,如何写好并行下的UDF是深入模拟领域的关键。 谢谢! * * DEFINE_PROFILEinlet_T, t, ibegin_f_loopf,tF_PROFILEf,t,i avg_temp;end_f_loopf,t *
文档评论(0)