FLUENT动网格需要的常用宏.pdf

FLUENT 动网格需要的常用宏动网格需要的常用宏 虽然瞬态 PROFILE 文件可以在一定程度上定义网格运动,然而其存在着一些缺陷。 最主要的一些缺陷存在于以下一些方面: (1)PROFILE 无法精确的定义连续的运动。其使用离散的点值进行插值。如果 想获得较为精确的运动定义,势必要定义很多点。 (2)一些情况下无法使用profile。比如稳态动网格。 在 FLUENT 中定义网格运动,更多的是采用 UDF 宏。fluent 中与动网格有关的UDF 宏一共有 5 个,其中四个用于常规的网格运动定义,一个用于 6DOF 模型。这些 宏分别为: DEFINE_CG_MOTION、DEFINE_DYNAMIC_ZONE_PROPERTY、DEFINE_GEOM、 DEFINE_GRID_MOTION、DEFINE_SDOF_PROPERTIES 注意:动网格宏只能为编译型 UDFUDF。 1、DEFINE_CG_MOTION 最常用的运动网格宏。用户可以使用该宏定义每一时间步上的线速度或角速度来 指定 fluent 中某一特定区域的运动。 DEFINE_CG_MOTION(name,de,vel,omega,time,dtime) 参数说明: name :UDF 的名字。体现在 fluent 中表现为可选择的函数列表。 Dynamic_Thread *dt :存储了用户所指定的动网格属性和结构指针。 real vel[] :线速度。vel[0]为 x 方向速度,vel[1]为 y 方向速度,vel[2]为 z 方向速度 real omega[] :角速度。与线速度定义相同。 real time :当前时间。 real dtime :时间步长。 函数返回值为:void 从函数的参数类型,配合 c 语言的参数调用方式可知,vel,omegavel,omega 为数值类型, 属于传入类型。因此只需在函数体中显式定义 vel 与 omega 即可将速度传入 fluent 求解器。time 与 dtime 是用于定义速度的。详细实例可参看 fluent udf 文档 p182。 2、DEFINE_DYNAMIC_ZONE_PROPERTY 该宏能用于以下一些场合: (1)在 in-cylinder 应用中定义旋转中心。 (2)定义变化的网格层高度。 第一种用法: DEFINE_DYNAMIC_ZONE_PROPERTY(name,dt,swirl_center) 参数说明: name :UDF 名。 Dynamic_Thread *t :指向存储动网格属性结构的指针。若没有动态区域位于当 前计算的旋转中心,则 fluent 内部将该参数设置为NULL. real *swirl_center :swirl_center 为一个具有 3 个元素的数值,表示旋转中 心的 x,y,z 坐标。 返回值为 :void。具体实例可参看 udf 手册 p183。 第二种用法:在使用动态层方法时定义变化的网格高度。参数与第一种用法略有 不同。 DEFINE_DYNAMIC_ZONE_PEOPERTY(name,dt,height) 参数说明: name : UDF 名 Dynamic_Threaddt :指向存储动网格属性结构的指针 real *height : 一个实数指针,指向动态层高度为时间或 crank 角的函数。 返回值:void 具体实例参看 fluent udf 手册 P185 3、DEFINE_GEOM 用户可以使用此宏定义变化区域的几何。默认情况下,ansys fluent 提供了机 制用于定义节点沿平面或柱面运动。当 ansys fluent 更新了变形区域上的节点 时 (例如通过弹簧光顺或局部面重构之后),会通过调用 DEFINE_GEOM 宏重新定 位节点。请注意该宏只能作为编译型 UDF 使用。 函数说明: DEFINE_GEOM(name,d,dt,position) 参数说明: name :UDF 名 Domain *d :指向计算域的指针 Dynamic_Thread *dt :指向存储用户指定的动网格参数的指针 real *position :指向存储位置信息的数组。 此函数没有返回值。 详细实例可参阅 FLUENT UDF 手册 P187. 4、DEFINE_GRID_MOTION 默认情况下,ANSYS FLUENT 通过使用固体运动方程来更新动态区域的节点位置。 这意味着动态区域的节点之间没有相对运动。但是如果用户需要独立的控制每一

文档评论(0)

1亿VIP精品文档

相关文档