1.概述
DEFINE_PROFILE 宏是用于定义 用户自定义的随空间坐标或时间变化的边界条件,可以定义的变量如下:
图 1 DEFINE_PROFILE 宏可定义的变量
2.用法
DEFINE_PROFILE (name, t, i)
Name |
Arguments |
Argumengts Type |
Function Return |
DEFINE_PROFILE |
t, i |
thread *t, int i |
void |
函数在执行时,需循环扫遍所有边界网格线,值存贮在F_PROFILE (f,t,i) 中,无返回值。
3.实例
入口 x 速度呈抛物线分布,函数表达式如下
变量 y 在入口中心处为 0.0 ,在入口上部和下部分别为 ± 0.0745 m,入口中心 x 速度为 20 m/s,边界上是 0。
下图是 该案例的 UDF 源代码
图 2 案例源代码
DEFINE_PROFILE 宏
第一个变量 inlet_x_velocity 用来定义速度入口面板中的函数,名称可任意指定;
第二个变量 thread 是指向 面的线程的指针;
第三个变量 i 是一个整数,是每个循环中设置的变量的数字标签。
在函数体中,
rael x[ND_ND] 是声明一维实数类型的数组;
real y 是声明变量 y 为实数据类型;
face_t f 是变量 f 被声明为一个面;
begin_f_loop(f, thread)是对边界区域上所有单元面的循环;
F_CENTROID (f, thread, index) 是用获得面的质心的坐标;
y = x[1] 存储在 x[1] 中的 y 坐标被指定给变量 y ,后面用于计算速度;
end_f_loop(f, thread) 是结束对边界区域上面的循环。DEFINE_PROFILE 宏 相关的知识就分享到这里。
正值母亲节之际,祝 所有的 妈妈节日快乐!!![玫瑰][玫瑰] 大家有条件 有机会多陪陪妈妈,少刷点手机[呲牙][呲牙]
,