打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Fluent UDF【10】:网格面数据访问宏
userphoto

2023.10.23 四川

关注

前面介绍了获取节点数据的宏。本文讲解一些关于面数据获取的宏。

这些面相关宏定义在头文件metric.h及mem.h中,并且所有的宏均以F_作为前缀。

注意:面数据获取宏只能用于压力基求解器,并且一些与模型相关的宏,只在当模型被开启后才有效。

Fluent的数据以分层方式保存,如下图所示。最顶级为Domain,其下为Cell,再下为Face,最底层数据为Node。在访问过程中,也是从上往下逐层访问,采用循环遍历的方式。

1

F_CENTROID宏

F_CENTROID宏用于网格面心坐标。

  • 宏调用形式: F_CENTROID( x , f , t )

  • 宏参数:  real x[ND_ND],face_t f,Thread  *t  

  • 参数值获取: 通过x数组获得

此宏通过参数返回值,典型的传址调用。一个简单的示例:

{
   /*定义数组接收坐标参数*/    real x[ND_ND];    real y;    face_t f;    begin_f_loop(f,t)      {       F_CENTROID(x,f,t);       y = x[1];       ...      }    end_f_loop(f,t) }

2

F_AREA宏

F_AREA宏用于获取网格面的法向向量。在一些求通过某些面的物理量分量时非常有用。在ANSYS Fluent中,边界面的法向通常指向计算域的外部。对于内部面的法向方向,通常利用节点排序采用右手定则进行确定。

  • 宏调用形式: F_AREA(A , f , t )

  • 宏参数:  real A[ND_ND],face_t f,Thread  *t  

  • 参数值获取: 通过A数组获得

一个简单的片段:

{
  real NV_VEC(A); /*定义向量A*/
  F_AREA(A, f, t);
}

注意:F_AREA宏通过传址调用返回值,参数A可以是数组A[ND_ND],也可以是向量。如果定义为向量,后面可以很方便的利用向量运算(点积和叉积等)。

3

获取边界面流动参数的宏

面参数访问宏的一个主要用途在于访问边界面信息。如获取边界速度、压力、温度等。
如下表所示。

宏定义参数类型返回值
F_U(f,t)face_t  f,Thread *t返回u方向速度
F_V(f,t)face_t  f,Thread *t返回v方向速度
F_W(f,t)face_t  f,Thread *t返回w方向速度
F_T(f,t)face_t  f,Thread *t返回面上的温度
F_H(f,t)face_t  f,Thread *t返回面上的焓
F_K(f,t)face_t  f,Thread *t返回面上的湍动能
F_D(f,t)face_t  f,Thread *t返回面上湍动能耗散率
F_YI(f,t,i)face_t  f,Thread *t,int i返回组分质量分数

这些宏的返回值均为real型。采用返回值的形式获取参数。如下代码片段:

real temperature;
temperature = F_T(f,t);

需要注意,这些宏只有在激活了相应的模型后才有效。如获取湍动能参数宏F_K(f,t),只有当激活了湍流模型后才可以使用。

4

获取内部面参数的宏

有一些宏既可以访问边界面上数据,也可以访问内部面上的数据。比较常用的宏为F_P及F_FLUX。

宏定义参数类型返回值
F_P(f,t)

face_t f

Thread *t

返回面上压力值,real类型
F_Flux(f,t)

face_t 

Thread *t

返回通过面的质量流量,real类型

与前面边界面参数宏使用方法类似。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Fluent UDF【12】:常用的数据宏
DEFINE_ADJUST宏
【转】CFD中定义抛物线速度入口的UDF
〖原创〗菜鸟学UDF的感觉,希望对UDFers有用 | 『 Fluent专版 』 - 傲雪...
FLUENT动网格宏
Fluent动网格|光顺
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服