Fluent UDF【12】:常用的数据宏

2017-06-11  by:CAE仿真在线  来源:互联网

除了前面提到的网格单元数据获取宏、网格面数据获取宏及节点数据获取宏外,在数据获取方面,还有几个非常常用的宏。编写UDF程序时,经常与这些宏打交道。这些宏包括:

  • Loookup_Thread

  • THREAD_ID

  • Get_Domain

  • F_PROFILE

  • THREAD_SHADOW

1

获取指定区域的Thread

Thread是UDF中一种非常重要的数据结构,有时常常需要获取某个边界的Thread进行其他操作,此时可以利用宏Lookup_Thread实现。

  • 宏描述:Lookup_Thread(d,id)

  • 宏参数:Domain *d, int id

  • 返回值:Thread *t

id值可以从边界条件面板中获取得到,如下图所示。

Fluent UDF【12】:常用的数据宏fluent结果图片1

获取某个zone的ID之后,就可以对该区域进行操作了。下面的例程是获取ID为1的边界上各网格面中心节点坐标。

#include "udf.h" DEFINE_ADJUST(print_f_centroids, domain) { real FC[2]; face_t f; int ID = 1; Thread *thread = Lookup_Thread(domain, ID); begin_f_loop(f, thread) { F_CENTROID(FC,f,thread); printf("x= %f,y= %f", FC[0], FC[1]); } end_f_loop(f,thread) }

2

获取区域ID

获取区域的ID可以使用宏THREAD_ID来实现。

  • 宏描述:THREAD_ID(t)

  • 宏参数:Thread *t

  • 返回值:返回相应Thread的对应ID值,int类型

调用形式:

int zone_id = THREAD_ID(t);

3

获取区域指针

获取区域指针可以通过宏Get_Domain来实现。

当区域的指针无法通过宏参数传递进来时,可以使用宏Get_Domain来获取指定id的区域的指针,利用DEFINE_ON_DEMAND宏中。

  • 宏描述:Get_Domain(id)

  • 宏参数:int id

  • 返回值:Domain *d

注意:对于单相流,id值为1;对于多相流,id值为大于1的整数。

多相流中的id值可以在Phase对话框中查看,如下图所示。

Fluent UDF【12】:常用的数据宏fluent结果图片2

下面是一个例程:

DEFINE_ON_DEMAND(my_udf) { Domain *mixture_domain; mixture_domain = Get_Domain(1); Domain *subdomain; subdomain = Get_Domain(2); ... }

4

设置边界值

设置边界值可以利用宏F_PROFILE来实现。

  • 宏描述:F_PROFILE(f,t,i)

  • 宏参数:face_t f, Thread *t, int i

  • 返回值:void,此宏没有返回值

此宏后两个参数通过Fluent传入,第一个参数通过循环宏得到。如下例程:

#include "udf.h"DEFINE_PROFILE(pressure_profile,t,i) { real x[ND_ND]; real y; face_t f; begin_f_loop(f,t) { F_CENTROID(x,f,t); y = x[1]; F_PROFILE(f,t,i) = 1.1e5 - y*y; } end_f_loop(f,t) }

5

获取影子面的Thread

当一个面存在影子面时,可以利用宏THREAD_SHADOW获取该面的影子的Thread。

  • 宏描述:THREAD_SHADOW(t)

  • 宏参数:Thread *t

  • 返回值:Thread *t

当宏参数所对应的面没有影子面时,此宏返回NULL。

Fluent UDF【12】:常用的数据宏fluent分析图片3

Fluent UDF【12】:常用的数据宏fluent分析图片4



开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:Fluent UDF【12】:常用的数据宏 Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com