fluent udf 特殊宏之 F_PROFILE

本文介绍了 Fluent UDF 中的 F_PROFILE 宏,用于在 DEFINE_PROFILE UDF 中设置面(face)和线索(thread)的边界值。F_PROFILE 的参数包括面的索引、线索指针和变量识别索引。通过举例说明如何利用 F_PROFILE 宏设置压力变化的边界条件,该宏在处理面中心坐标以计算压力时发挥作用。内容参考自 ANSYS Fluent 18.2 的帮助文档。
摘要由CSDN通过智能技术生成

F_PROFILE 宏在 DEFINE_PROFILE UDF 中使用,对给定的面(face)和线索(thread)设置边界值。标号 i 既是F_PROFILE 也是 DEFINE_PROFILE 的参数,用来识别特定的,待设置边界变量(如:压力、温度、速度), F_PROFILEmem.h 中定义。

  • 语法: F_PROFILE(f,t,i)
  • 参数:
  1. face_t f //the index of the face
  2. thread *t //a pointer to the face’s thread
  3. int i //an integer index to the particular face variable that is to be set
  • 返回值: void

说明:在将一个 DEFINE_PROFILE UDF 链接(hook)到边界条件对话框的特定变量(如,压力、温度、速度)时,ANSYS Fluent 会定义 ii 被传递给 UDF 用来识别在操作哪个变量。


实例:

假设欲定义一个压力变化的边界条件,式子如下:
p ( y ) = 1.1 × 1 0 5 − 0.1 × 1 0 5 ( y 0.0745 ) 2 p(y)=1.1\times10^5-0.1\times10^5(\frac{y}{0.0745})^2 p(y)=1.1×1050.1×105(0.0745y)2
可利用 DEFINE_PROFILE UDF 宏来实现,在边界区域(boundary zone)上遍历所有的面(face)来设置压力数组,对于每一个面,用 F_PROFILE设置压力。下面的例子中,F_CENTROID 获得面中心的 y 轴坐标,用来计算每个面的压力。求解器把数据传递给 Pressure Inlet 边界条件对话框的 Gauge Total Pressure

/********************************************************************
UDF for specifying a parabolic pressure profile boundary profile
********************************************************************/

#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_FPOFILE(f,t,i) = 1.1e5 - y*y/(.0745*.0745)*0.1e5;
   }
   end_f_loop(f,t)
}

参考自 ANSYS Fluent 18.2 帮助文档

Customization Manual > Ⅰ. Creating and Using Defined Functions > 3. Additional Macros for Writing UDFs > 3.2 Data Access Macros > 3.2.6 Special Macros > 3.2.6.4. Set Boundary Condition Value(F_PROFILE)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值