转载自:http://blog.sina.com.cn/s/blog_e256415d0101nfhp.html

Chalmers大学的Andreu Oliver González对OpenFOAM中的动网格技术给出了比较全面的介绍。

http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/AndreuOliverGonzalez/ProjectReport_FINAL.pdf

这里对其中的部分内容进行了翻译,如下:

OpenFOAM中的动网格方法分为两种:

dynamicFvMesh,拓扑不改变

staticFvMesh,网格无运动

dynamicMotionSolverFvMesh,根据边界条件与扩散方程计算内部网格的运动。是最简单的网格运动求解器。求解网格运动方程,并通过扩散性diffusivity控制网格的距离与质量。

dynamicInkJetFvMesh, 与上一个类似,但是网格点运动是显式定义

dynamicRefineFvMesh, 与staticFvMesh类似,但是通过增加或减少网格点自动加密或粗糙化网格

solidBodyMotionFvMesh, 使用运动函数定义固体对象的运动

2.topoChangeFvMesh,拓扑改变,即网格的尺寸或者连通性改变。

linearValveFvMesh, 在相对线性运动的两篇网格的交界处使用sliding网格。其中库文件linearValveFvMeshCoeffs用于选择适合的运动求解器

linearValveLayersFvMesh, 类似与上面的类,但在挤压和拉伸网格以外,增加了添加或删除层的功能。

mixerFvMesh, 存在一个运动的组件与一个固定的组件之间的滑移交界面时,使用该类。除了dynamicMeshDict文件外,文件MRFZones定义了运动组件。其中slidingInterface类给出了滑移界面两边的相对运动。

movingConeTopoFvMesh, 对网格挤压或拉伸,并且当网格层厚度达到临界值时,增加或移除一个层。除了dynamicMeshDict文件外,
constant/meshModifiers文件指定移动或固定边界的系数与特征,每个区域最大与最小的网格层厚度。

动网格求解器:用于求解网格运动方程

displacementLaplacian, 基于Laplacian扩散方程求解网格运动,需要在初始文件夹中增加一个文件, pointDisplacement,用于初始化网格的位移变量.

velocityLaplacian, 与前面的求解器类似,区别是求解的变量是网格的运动速度, pointMotionU。边界条件定义的是边界移动的速度,适用于最大位移较小的情形。

LaplaceFaceDecomposition,
适用于最大位移未知或较大的情形。通过有限元方法求解Laplace光滑方程,分解网格和面,重建网格。这种方法增加了稳健性,但是相对于上两种方法计算量较大。

SBRStress, 通过位移模型求解Laplacian扩散方程与网格的位移,即cellDisplacement,并且考虑固体的旋转。

扩散模型:用于求解网格运动方程后,决定网格如何移动

Quality based methods, 基于质量的方法,扩散域为网格质量测度函数。

uniform, 网格的操作对所有移动边界一致,即所有区域中的网格以同样的比例拉伸或压缩。

directional, 网格的拉伸与压缩与运动的方向一致。主要思想是通过滑移边界操作网格。定义了两个标量系数,一个定义了网格的非正交性,另一个定义了网格的偏移量。

motionDirectional, 通过对运动对象的优选操作网格,使得网格适应于运动对象。

inverseDistance, 用于定义一个或多个边界,扩散域定义为至定义的最近边界的距离的倒数,即逆距离。

linear, 扩散域线性依赖于逆距离

quadratic, 扩散域与逆距离为二次关系

exponential, 扩散域依赖于逆距离的指数

05-14 12:20