Fluent动网格【11】:弹簧光顺

动网格除了前面讲了不少的关于运动指定以外,另外一个重要主题则为网格的更新。
在部件运动以后,不可避免的会形成网格形状的变化,如若不对网格加以控制,在持续运动的过程当中,则可能形成网格极度变形、歪曲率过大,甚至产生负体积。所以必须对发生变形的网格进行矫正。
Fluent主要提供了三种方式控制网格:微信

  • Smoothing
  • Layering
  • Remeshing
    本文关注Fluent中的Smoothing方法。spa

    启用Smoothing方法

    Smoothing方法的启用很是简单,只须要在Dynamic Mesh中激活Smoothing选项便可,如图所示。

    以后可进入Setting...菜单项中进行参数设置。code

    Smoothing设置面板

    Smoothing参数比较多,如图所示。

    其包含三种光顺方法:
  • Spring/Laplace/Boudary Layer
  • Diffusion
  • Linearly Elastic Solid
    一般选择:
  • 小幅度的网格运动,使用smoothing方法,此方法计算量较小
  • 大幅度的网格运动,建议使用Diffusion方法,此方法能够提供较好的网格质量
  • 对于存在旋转运动的边界,可使用Linearly Elastic Solid方法,此方法计算量最大,但可以提供更好的网格质量。io

弹簧光顺

弹簧光顺(Spring)是最基础的光顺方法,也是Fluent默认使用的光顺方法。
该方法的基本思路是将网格节点之间的链接线近似为弹簧,经过计算节点之间力平衡方程获得各节点光顺后的位置。
\[ \vec{F_{i}}=\sum_{j}^{n_i}{k_{ij}(\Delta\vec{x}_j-\Delta\vec{x}_i)} \]ast

式中\(\Delta \vec{x}_i\)\(\Delta \vec{x}_j\)分别为节点i与节点j的位移。\(n_i\)为与节点i相连的节点数量;\(k_{ij}\)为节点i与节点j之间的弹簧刚度。class

弹簧刚度可定义为:
\[ k_{ij} = \frac{k_{fac}}{\sqrt{|\vec{x}_i-\vec{x}_j|}} \]
式中\(k_{fac}\)Spring Constant Factor,是一个须要用户输入的值。基础

当弹簧力达到平衡时,可计算获得:
\[ \Delta \vec{x}_i^{m+1}=\frac{\sum_{j}^{n_i}{k_{ij}\Delta \vec{x}_j^m}}{\sum_{j}^{n_i}{k_{ij}}} \]
其中,m为迭代次数。二维码

当节点i的位移计算获得以后,便可更新网格位置:
\[ \vec{x}_{i}^{n+1}=\vec{x}_i^n+\Delta \vec{x}_i^{converged} \]方法

须要设置的参数包括:
im

  • Spring Constant Factor:弹簧常数因子。该参数控制了扩散阻尼,参数取值范围0~1,默认值为1。此参数越小,表示网格之间的阻尼越小,网格运动更容易扩散到更远的节点。当边界运动较为剧烈时,可适当减少此数值。
  • Convergence Tolerance:收敛精度。计算网格节点运动采用的是迭代法,这个迭代容差控制了迭代精度。默认值为0.001,一般不须要修改。
  • Number of Iterations:迭代次数。当迭代次数达到此设定值,中止迭代计算。默认值为20,一般不须要修改。
    这三个参数决定了弹簧光顺过程当中网格节点的运动方式。
    Elements方式决定了更新的网格类型:
  • Tri in Tri Zones:只光顺三角形或四面体网格
  • Tri in Mixed Zones:光顺混合区域中的三角形或四面体网格

要点

对于弹簧光顺方法:

  • 光顺方法并不会改变网格拓扑关系。意思是说,无论部件如何运动,网格节点之间的连接关系不会发生改变,网格的数量也不会变化。所以光顺方法只适合于小幅度的运动
  • 可经过调整设置参数Spring Contant Factor来控制网格节点的运动幅度。当边界运动幅度很大时,可适当下降该参数值,从而利用更多的网格节点运动来消减边界运动形成的网格影响。
  • 光顺方法只要适用于三角形或四面体网格,虽然Fluent宣称smoothing方法能够用于全部网格,但其实在其余类型的网格上,smoothing并不会获得好的结果。
    ---
    更多关于CFD内容,可微信扫描下方二维码关注微信公众号。
相关文章
相关标签/搜索