Fluent动网格【9】:区域运动

本文所述的区域运动并非动网格中的运动域,而是指在多参考系(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内容,可微信扫描下方二维码关注微信公众号。

posted @ 2017-06-15 12:28  流沙[胡坤]  阅读(5899)  评论(0编辑  收藏  举报