SnappyHexMesh(之四)面贴合参数
Posted 希望先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SnappyHexMesh(之四)面贴合参数相关的知识,希望对你有一定的参考价值。
转载:知乎大神 中国空气动力研究与发展中心 力学博士 刘云楚 的文章
5.3.2面贴合参数
面贴合参数在snapControls中设置,主要目的是将体网格节点移动到几何表面上,贴合体网格中锯齿状表面(如下图面贴合效果展示)。参数功能包含:控制体网格贴合到几何面上的迭代次数nSolveIter、捕捉面特征距离tolerance等,详细参数解析见下文。面贴合执行步骤如下图所示:
从以上网格表面贴合步骤可以看出,软件优先保证网格达到最低质量标准,其次才考虑网格的贴体性。
命令输入示例如下:
snapControls
{
nSmoothPatch 5;
nSmoothInternal 5;
tolerance 2.0;
nSolveIter 30;
nRelaxIter 5;
nFeatureSnapIter 10;
implicitFeatureSnap false;
explicitFeatureSnap true;
multiRegionFeatureSnap false;
…
}
捕捉点最大相对距离tolerance
该参数指定贴合算法中捕捉与特征面相关网格节点的最大相对距离,实际捕捉距离为tolerance参数值乘以相邻体网格尺寸。参数值必须大于或等于1,如果值太低,则可能无法使偏差较大的网格节点移动到几何表面上。较高的值有助于增加几何的捕捉范围,但如果参数值设置过高,则有可能捕捉到与表面无关的网格节点。建议值为2-5之间。
相同加密等级下,不同捕捉距离生成网格效果如下所示:
网格贴合最大迭代次数nSolveIter
该参数指定了网格贴合算法的最大迭代次数。较高的值会提高网格的质量,网格一致性更好,但网格划分时间会更长。简单模型可以将该参数值设置为100,若贴合后网格质量不太理想,可尝试将该参数值增加到300。
面平滑迭代次数nSmoothPatch
该参数指定了表面上网格贴合的平滑迭代次数。增加迭代次数可以使曲面上网格平滑、贴合性更好,且能降低曲面上网格的歪斜率(如下图所示),但可能导致曲率突变特征(如直角等)弱化。
参数值设置为0,表示保留初始网格外形。建议值为5。
体网格平滑迭代次数nSmoothInternal
在snappyHexMesh网格细化过程中,snappyHexMesh采用八叉树法细化网格。在不同细化等级网格间,软件采用多面体网格过渡。初始的多面体网格将产生30度以上的非正交性。通过使用内部网格平滑处理的迭代,以减小细化过渡区域多面体网格的非正交性(如下图中红框标识部分)。
在执行网格平滑迭代时,边界面网格平滑迭代nSmoothPatch将与内部体网格平滑迭代nSmoothInternal联合使用。平滑迭代顺序为优先执行一次面平滑迭代(nSmoothPatch),再执行一次体网格平滑迭代(nSmoothInterna),以此循环。若用户设置nSmoothInternal参数值大于nSmoothPatch值时,平滑迭代次数统一采用nSmoothPatch参数值。默认值为零,表示禁用体网格平滑迭代。使用此功能时,建议参数值与面平滑迭代(nSmoothPatch)参数值一致。
贴合松弛迭代次数nRelaxIter
该参数指定贴合过程中松弛迭代次数,用以消除质量较差的单元或网格节点。如果迭代完成后网格仍存在质量较差单元,则用户可以尝试增加此迭代次数,较高的值将确保更好的网格质量,但会花费更多计算时间。建议值为5-8之间。
特征捕捉方法
在表面贴合步骤中,需保证网格节点捕捉到几何特征。通常表面贴合过程中,点只需沿垂直于表面的方向捕捉特征。但在边缘的位置捕捉方式更复杂,需要更多的迭代次数。SnappyHexMesh提供了两种特征捕捉方法,显示(explicitFeatureSnap)与隐式(implicitFeatureSnap)特征捕捉。用户通过输入true或者false值,来开启或者关闭此功能。
其中显示特征捕捉方法需要用户自定义特征边文件(.eMesh),并且指定特征边的细化等级(通过castellatedMeshControls子字典中features参数指定)。软件根据用户设置的参数对特征边进行细化,以提升用户关注几何特征边的捕捉成功率。
隐式方法不需要用户提取几何特征边,其特征识别自动化程度优于显示特征捕捉方法。它使用全局细化参数中resolveFeatureAngle参数识别曲面几何特征(例如:面的相交线、曲率变化较大的曲面特征)。但在尖角特征或者挡板界面处,显示方法捕捉特征效果优于隐式方法。
现通过以下案例来展示两种捕捉方式的区别,将方盒模型顶面改为带较高曲率变化的曲面(如下图几何模型展示),其用户自定义几何特征线(.eMesh文件)如下图所示。
特征边捕捉迭代次数nFeatureSnapIter
该参数指定了特征捕捉迭代次数,以将网格点捕捉到表面边缘。如果在nFeatureSnaplter迭代后局部特征区域网格没有达到足够的质量标准,则取消该区域特征边捕捉并恢复到之前状态。未指定该参数,特征捕捉功能将被禁用。建议参数值为10。
面拆分迭代nFaceSplitInterval
当系统执行完特征边捕捉迭代步骤后,若网格边缘与特征边未完全对齐,则有可能在特征边处网格产生凹面。从而导致在添加边界层时,其投影体网格的非正交性增大。如果体网格不满足质量要求,则取消该处边界层生成。用户可以尝试使用nFaceSplitInterval参数优化对齐特征边处网格。需注意该迭代为间隔若想进一步提高边界层覆盖率,可在addLayerControls字典中配合使用layerTerminationAngle和detectExtrusionIsland参数。
nFaceSplitInterval参数默认值为-1(禁用),使用建议参数值设置为特征边捕捉迭代(nFeatureSnaplter)次数的一半。
多域特征捕捉multiRegionFeatureSnap
该参数用于捕捉多域网格间的特征面,这对于具有多个区域(例如流体区域和固体区域)的网格进行共轭传热模拟或类似操作很重要。该参数生效的前置条件为采用显示特征捕捉方法explicitFeatureSnap。使用该参数时,它会加强特征面两边网格贴合,即内部区域和外部区域,这可能会导致特征面处网格歪斜率上升。用户通过输入参数值true或者false,来开启或者关闭此功能。
以上是关于SnappyHexMesh(之四)面贴合参数的主要内容,如果未能解决你的问题,请参考以下文章
在 OpenFOAM 中使用 snappyHexMesh 和 STL 文件的教程