STAR-CCM+中可以应用自适应网格细化(AMR)方法精确求解发展中的激波。
本案例演示了马赫数为12的简单球体周围的高超声速流动,并包含了为高超声速流动设计的一些独特的求解器设置。在求解过程中使用马赫数的梯度作为多面体网格自适应标准。从物理上讲,这种梯度是用来捕捉速度间断的。当马赫数的梯度超过规定的阈值时,求解器将自动对网格进行细化。
为减少网格数量同时考虑模型的对称性,案例采用二分之一模型进行模拟。
计算域如下所示:

1 导入文件
-
启动STAR CCM+ -
选择菜单File > Load导入文件HypersonicSphere_start.sim

-
右键选择模型树节点Opertions,点击弹出菜单项Execute All生成计算网格

计算网格如下图所示。

2 选择物理模型
-
右键选择模型树节点Continua > Physics 1 > Models,点击弹出菜单项**Select Models…**打开模型选择对话框

-
在模型选择对话框中选择以下物理模型 -
Three Dimensional -
Gas -
Coupled Flow -
Real Gas -
Equilibrium Air -
Steady -
Laminar -
Adaptive Mesh
选择完毕后的对话框如下图所示。

注:高超声速流动的可压缩性和热力学效应无法使用理想气体定律来描述,因此案例选择了真实气体模型和平衡空气模型。由于高超音速流动中预期的高压激波会抑制湍流的发展,因此模拟以层流方式运行。
”
-
选中模型树节点Continua > Physics 1 > Models > Coupled Flow -
设置 Discretization
为MUSCL 3rd-order/CD。三阶离散化提高了高速流动的稳定性和准确性 -
设置 Positivity Rate Limit
为0.05。该值定义了允许温度在每次迭代中降低的最大速率。由于高超音速气流中的高温水平,将该值从0.2降低到0.05可以稳定温度修正。 -
设置 Coupled Inviscid Flux
为AUSM+FVS。该格式是可压缩流的推荐通量格式

由于流动动能的粘性耗散,静温在马赫数为12的激波中急剧增加,这里可以修改求解的温度上限。
-
选中模型树节点Continua > Physics 1 > Reference Values > Maximum Allowable Temperature,设置值为10000 K

3 创建网格自适应标准
创建一个场函数,该函数根据马赫数梯度返回自适应标准。
-
右键选择模型树节点Field Function,点击弹出菜单项New → Scalar新建节点RefineCriterionMachNumber

-
选中节点RefineCriterionMachNumber,定义为 mag(grad(${MachNumber}))*(${AdaptionCellSize})

注:数量${AdaptionCellSize}在网格自适应过程中返回当前网格大小,这里将其用于缩放马赫数梯度的大小。
”
-
选中模型树节点Continua > Physics 1 > Models > Adaptive Mesh -
指定参数 Prism Cell Refinement
为None -
设置 Transition Width
为1 -
激活选项 Limit Cell Size
。通过激活此选项,将在网格细化过程中参照Min Adaption Cell Size检查建议的子网格尺寸。如果预测的子网格尺寸低于设定值,则不会对父网格进行细化。 -
设置 Min Adaption Cell Size
为0.01 m

-
右键选择模型树节点Adaptive Mesh > Adaptive Mesh Criteria,点击弹出菜单项New > User-Defined Mesh Adaption创建网格自适应

-
选中模型树节点Adaptive Mesh > Adaptive Mesh Criteria > User-Defined Mesh Adaption 1,指定参数 Max Refinement Level
为1

注:在工业模拟中,设置Max Refinement Level为2或3更合适。本案例为了减少计算时间,将其设置为1。此处禁用选项Refine in Solution Initialization,意味着在求解初始化过程中不会执行网格自适应。
”
-
选中模型树节点User-Defined Mesh Adaption 1 > Adaption Request,按下图所示设置参数

4 设置边界条件与初始条件
-
双击模型树节点Regions > SphereFlow > Boundaries > free stream > Physics Values,按下图所示设置边界参数

-
双击模型树节点Continua > Physics 1 > Initial Conditions,如下图所示设置初始条件

5 设置求解参数
-
选中模型树节点Solvers > Adaptive Mesh > Trigger > Iteration Frequency,设置 Iteration Frequency
为100

注:设置为100表示每100次迭代计算完成后更新一次网格。
”
-
选中模型树节点Coupled Implicit -
设置 CFL Control Method
为Automatic。Automatic CFL根据AMG求解器器收敛行为调整CFL数。 -
激活选项 Enhanced Dissipation

-
选中节点AMG Linear Solver -
设置参数 Convergence Tolerance
为0.001。 -
设置 Relaxation Scheme
为ILU。与Gauss-Seidel格式相比,该松弛格式在数值上更适合于高超声速可压缩流动,能更快地收敛。

-
选中节点Expert Initialization,指定 Method
为Grid Sequencing。Grid Sequencing执行正常的初始化,然后对流动问题的近似无粘解进行连续计算。

-
选中节点Grid sequencing,设置 CFL Number
为2.5。高超音速流动的梯度可能很高,尤其是在求解初始化阶段。降低CFL数量会减慢网格排序的进度,并降低高梯度导致问题的可能性。

6 在自适应网格上显示马赫数
-
右键选中模型树节点Scenes,点击弹出菜单项New Scene > Empty新建一个空的Scene

-
右键选择模型树节点Scene 1,点击弹出菜单项New Displayer > Scalar,修改Scene 1名称为MachNumber

-
如下所示设置MachNumber下的子节点参数


-
选择 Save-Restore-Select Views,选择Views > +Z > Up +Y

-
右键选择节点Reports > Cell Count,选择菜单项Create Text Annotation from Report

-
将模型树节点Tools > Annotations > Cell Count 拖拽到图形窗口中的空白处

-
复制并粘贴MachNumber节点,并修改其名称为RefinementMachNumber

-
如下所示设置相关参数

-
点击菜单Solution → Initialize Solution进行初始化

-
初始马赫数及网格分布

-
初始网格加密

7 计算
-
点击菜单Solution → Run进行计算

8 计算结果
-
网格加密结果

-
马赫数分布

-
马赫数分布

-
温度分布

注:本算例取自STAR CCM+随机文档。
”
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册