Godunov法 — CAE用语解说
Godunov法
老师,我在可压缩流体的教科书里看到Godunov法,听说这是捕获冲击波所需的方案……具体是什么原理呢?
定义
首先请告诉我,Godunov法是什么方案?
简单说,就是有限体积法中在每个网格界面处严格求解Riemann问题(非连续初值问题)来获得数值流通量的方法。由Godunov在1959年提出,是忠实遵守守恒律的方法。能够物理上准确地捕获冲击波的位置和强度,这是它最大的优点。
"严格"求解Riemann问题,计算成本上没问题吗?
你的眼光很敏锐。这正是Godunov法的弱点——严格Riemann解需要进行非线性方程的迭代计算,成本很高。因此在实务中,通常用Roe法或HLL法这样的近似Riemann求解器来代替。
流体解析中的作用
那如果不用Godunov法,它为什么还在教科书里呢?
Godunov法之所以重要,是因为它是"所有现代冲击波捕获方案的思想源头"。Roe法、MUSCL法、HLLC法等都是以Godunov法的思想为基础,通过近似或高精度化而发展出来的方法。比如火箭喷嘴内超音速流的分析,没有这些方法就无法准确计算冲击波与Mach盘的相互作用。
原来如此,Godunov法像是现代方案的"祖先"啊。掌握理论的话,派生方法就容易理解了。
完全同意。还有一个很著名的概念叫Godunov定理,"线性且保持单调性的数值方案精度最多为一阶"。这个结果说明,为了获得高精度计算,必须使用MUSCL法这样的非线性重构,对数值流体力学的发展影响深远。
相关用语
请告诉我从Godunov法派生出来的相关用语。
这些是必须掌握的。
建议你先用一维的Sod冲击管问题来试试,比较一下Godunov法的严格解和近似Riemann求解器的结果。差异会很明显。
准确理解CAE术语是团队沟通的基础。 — Project NovaSolver也考虑了实务者的学习支持。
下一代CAE项目:连接开发者与实务者
Project NovaSolver在包括Godunov法在内的广泛解析领域中,探索充分发挥实务者知见的环境实现。虽然还在路上,但欢迎志同道合的人加入。
咨询(准备中)