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 @   流沙[胡坤]  阅读(7008)  评论(0编辑  收藏  举报
编辑推荐:
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
阅读排行:
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!
· 【译】Visual Studio(v17.13)中新的调试和分析特性
· Draw.io:你可能不知道的「白嫖级」图表绘制神器
点击右上角即可分享
微信分享提示