动网格除了前面讲了很多的关于运动指定之外,另一个重要主题则为网格的更新。
在部件运动之后,不可避免的会造成网格形状的变化,如若不对网格加以控制,在持续运动的过程中,则可能造成网格极度变形、歪曲率过大,甚至产生负体积。因此必须对发生变形的网格进行矫正。
Fluent主要提供了三种方式控制网格:
通常选择:
弹簧光顺(Spring)是最基础的光顺方法,也是Fluent默认使用的光顺方法。
该方法的基本思路是将网格节点之间的连接线近似为弹簧,通过计算节点之间力平衡方程得到各节点光顺后的位置。
→Fi=ni∑jkij(Δ→xj−Δ→xi) \vec{F_{i}}=\sum_{j}^{n_i}{k_{ij}(\Delta\vec{x}_j-\Delta\vec{x}_i)}
式中Δ→xi \Delta \vec{x}_i及Δ→xj \Delta \vec{x}_j分别为节点i与节点j的位移。ni n_i为与节点i相连的节点数量;kij k_{ij}为节点i与节点j之间的弹簧刚度。
弹簧刚度可定义为:
kij=kfac√|→xi−→xj| k_{ij} = \frac{k_{fac}}{\sqrt{|\vec{x}_i-\vec{x}_j|}}
式中kfac k_{fac}为Spring Constant Factor
,是一个需要用户输入的值。
当弹簧力达到平衡时,可计算得到:
Δ→xm+1i=∑nijkijΔ→xmj∑nijkij \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的位移计算得到之后,即可更新网格位置:
→xn+1i=→xni+Δ→xconvergedi \vec{x}_{i}^{n+1}=\vec{x}_i^n+\Delta \vec{x}_i^{converged}
需要设置的参数包括:
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
来控制网格节点的运动幅度。当边界运动幅度很大时,可适当降低该参数值,从而利用更多的网格节点运动来消减边界运动造成的网格影响。免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删