zoukankan      html  css  js  c++  java
  • 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内容,可微信扫描下方二维码关注微信公众号。

  • 相关阅读:
    7,C++ public, protected, private 继承的区别
    6,又一道经典的微软题
    5,一道经典的微软程序题
    33. Search in Rotated Sorted Array
    198,House Robber
    4,二维数组中指针的问题
    剑指offer——stack与queue的互相实现
    3,C语言文件读写
    2,虚函数
    剑指offer——已知二叉树的先序和中序排列,重构二叉树
  • 原文地址:https://www.cnblogs.com/LSCAX/p/7016986.html
Copyright © 2011-2022 走看看