本文所述的区域运动并非动网格中的运动域,而是指在多参考系(MRF)或滑移网格中所涉及到的区域的运动。
在滑移网格中指定区域运动时,除了能够指定绝对运动外,还能指定某一区域与其他区域间的相对运动,如图所示。
区域运动的指定,除了可以采用Profile文件外,还可以利用UDF宏DEFINE_TRANSIENT_PROFILE及DEFINE_ZONE_MOTION。这两个宏均可采用解释及编译形式加载。
DEFINE_TRANSIENT_PROFILE
此宏主要用于替代Profile文件,指定网格区域随时间变化规律。
该UDF宏的形式为:
DEFINE_TRANSIENT_PROFILE(name,current_time)
其中:
name:自定义的宏的名称
current_time:当前时间
在宏文件中,用户需要显式返回值。
简单的示例:
若将宏中的rotation指定给某一角速度分量,如omega_x,则该宏等同于PROFILE文件:
需要注意的是,一个UDF宏只能指定一个速度分量。若需要指定多个速度分量的话,则需要写多个宏。宏的加载如下图所示。此宏即可表示旋转,也可以用于平移。
DEFINE_ZONE_MOTION
Fluent中还可以利用DEFINE_ZONE_MOTION宏定义区域的运动。该宏的形式:
DEFINE_ZONE_MOTION(name,omega,axis,origin,velocity,time,dtime)
其中参数:
name:symbol name。UDF名称,用户自己定义。
omega:real *omega。旋转角速度指针,默认值为0。
axis:real axis[3]。旋转轴向量数组。在2D平面模型中,默认值为(0 0 0);对于2D轴对称模型,默认值为(1 0 0)
origin:real origin[3]。旋转轴原点。默认值(0 0 0)
velocity:real velocity[3]。平移速度向量,默认值为(0 0 0)
time:real time。当前时间
dtime:real dtime。当前时间步长
在利用此UDF时,只有name是用户指定的,其他的参数均为Fluent传入然后在宏中进行修改。。
对于前面同时存在自转和公转的案例,可以利用UDF宏DEFINE_ZONE_MOTION:
网格运动效果如视频所示。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册