FLUENT动网格简介
在固体有限元计算中,网格运动实非什么稀奇事儿。而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。
正则化是每一层都加还是只加一些层流体计算与固体完全不同。其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。
世界是公平的。有利必有弊。朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则
是其直接软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例。如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。
计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。并不计算网格节点位移。因此要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。
对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。在fluent中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。
在FLUENT中,动网格涉及的内容包括:
(1)运动的定义。主要是PROFILE文件与UDF中的动网格宏。
(2)网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。
动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。
FLUENT动网格之弹簧光顺与扩散光顺
FLUENT中的网格光顺(smoothing)主要采用两种方法:弹簧光顺与扩散光顺。
其中弹簧光顺包含有:弹簧光顺、边界层光顺、拉普拉斯光顺。
扩散光顺分为:基于壁面距离的扩散光顺与基于单元体积的扩散光顺。
一、弹簧/拉普拉斯/边界层光顺
1、弹簧光顺需要设置的参数
主要有四个参数需要设置:Spring Constant Factor(弹簧常数因子),Boundary Node Relaxation(边界节点松弛),Convergence Tolerance(收敛精度),Number of Iterations(迭代次数)。如图中橙框选部分。
2、各参数作用
弹簧常数因子:取值范围[0,1]。可以通过该值来调整弹簧刚度的大小。该值为0表示弹簧间没有阻尼,边界运动会影响到更多的内部节点。该参数的默认值为1。在实际应用中,若发现运动边界附近网格堆积严重,可适当调小此参数,将位移扩散出去。
边界节点松弛:网格位置更新时使用的参数。取值范围[0,1]。0表示没有进行网格节点保持不变,1表示不使用松弛处理。该参数默认为1。调整该参数可以控制每次网格更新的节点位置。通常使用默认值即可。
迭代精度:网格节点位移值是通过求解平衡方程得到的。本参数即控制方程的求解精度。一般保持默认值。
迭代次数:与迭代精度作用相同。用于平衡方程的求解控制。迭代方程如下。通常该参数保持默认即可。
3、弹簧光顺方法的适应性(译自用户手册)
(1)适用于任何变形或运动的单元或面域。更适用于四面体/三角形网格
(2)在非四面体/三角形网格域中,建议在以下一些情况下使用弹簧光顺方法:(a)边界运动在某一方向上具有明显优势(b)运动主要沿运动边界的法向方向。
其它的非四边形/非四面体网格域(尤其是多面体网格域),建议使用扩散光顺方法。
注意:默认情况下,在非四面体/四边形网格上,弹簧光顺方法是关闭的。用户可以使用TUI命令激活:define > dynamic-mesh > controls > smoothing-paramters > spring-on-all-shapes?
二、扩散光顺
1、扩散光顺
扩散光顺是通过求解扩散方程来获得网格节点的位移的。
只有一个参数需要设置:扩散参数α。
扩散系数是通过扩散参数得到的。如下两公式求得扩散系数γ。
,式中的d为壁面正则距离,v为正则体积。
用户可以通过TUI命令设置迭代次数与收敛精度。通常很少进行设置。
define > dynamic-mesh > controls > smoothing-parameters > max-iter
define > dynamic-mesh > controls > smoothing-parameters > relative-convergence-tolerance
2、基于壁面距离的网格扩散光顺
基于壁面距离的扩散光顺允许用户将边界网格运动扩散至内部节点的规律定义为壁面距离的函数。减少远离运动边界的扩散能够使这些区域吸收更多的网格运动,同时更好的保持运动壁面附近的网格质量。
用户可以通过调整diffusion parameter来控制网格扩散,该参数的取值范围[0,2]。该参数默认为0,意味着扩散参数为1,也即整个计算域采用相同程度的扩散。
扩散参数越大,则更多的保持近壁面网格,远离运动边界的位置将吸收更多的网格运动。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。