Courant数 — CAE用语解说
Courant数
老师,我听说Courant数(CFL数)在CFD中必须检查,它的含义是什么?
Courant-Friedrichs-Lewy数(CFL数)是由 Co = u×Δt/Δx 定义的无量纲数(u:流速、Δt:时间步、Δx:网格尺寸)。物理意义是"1步内流体推进多少个网格",当 Co > 1 时会出现"信息被跳过"的状态,显式格式会导致数值不稳定。这就是CFL条件,显式CFD需要守住 Co ≤ 1(为了安全通常设为0.5左右)。在OpenFOAM中可以通过自动时间步调整来控制Courant数。
定义
我听说使用隐式格式的话就没有Courant数的约束了,这是真的吗?
条件上是对的。隐式格式是无条件稳定的(Co > 1也不会发散),但Courant数过大会导致精度下降。由于时间导数的离散化误差为O(Δt),增大Δt会使结果变得钝化。为了快速收敛定常问题,有时会设定 Co = 10~100,但要准确捕捉过渡现象(温度上升或涡的通过),需要 Co ≈ 1。要把"是否稳定"和"是否有精度"作为两个独立的问题来理解。
实务中的管理和故障排除
在OpenFOAM中Courant数有时会突然爆炸导致计算停止。有什么解决办法吗?
首先用后处理确认"Courant数最大值出现在哪里"。典型原因有①网格中存在极度小的单元(劣质网格)、②壁面附近速度梯度陡峭、③初始条件不物理(速度从零突然变为高速流等)。解决方法是①用checkMesh检查最小网格尺寸并重新网格划分、②降低maxCo设置使Δt自动调整、③先用simpleFoam得到定常解作为瞬态初始条件——这3步是标准做法。
听说在LES(大涡模拟)中要特别注意Courant数。
LES本质上是瞬态分析,必须将Courant数控制在0.5左右才能跟踪涡的时间演化。而且LES用亚网格尺度(SGS)模型计算涡粘系数,Courant数过大会导致SGS散逸不物理。对于汽车风噪(aeroacoustics)分析或燃气轮机燃烧室非定常行为等精度要求高的问题,需要将Δt缩小到声学时间尺度(Δx/c:基于音速),CPU时间会大幅增加——这就是为什么LES需要集群计算机。
关联术语
通过管理好Courant数就能决定分析的稳定性和精度呢!
对CAE术语的准确理解是团队内部沟通的基础。 — Project NovaSolver也致力于实务工作者的学习支持。
Project NovaSolver — 面向CAE实务课题的研究开发
"能否更高效地分析Courant数?"——我们认真聆听实务者的声音,致力于改进现有工作流程的下一代CAE项目。虽然具体功能还未公开,但我们会分享开发进展。
接收进展通知 →相关主题
价值
详细
错误