V&V(验证与确认) — 构造解方法 — 文章目录
构造解方法(MMS: Method of Manufactured Solutions)是即使对不存在解析解的复杂方程组也能进行代码验证的强大技术。先人为地设定“解”,再加上为使其满足控制方程而反推得到的源项进行求解——数值解应以理论阶数收敛到设定的解,如果不收敛,代码中就有错误,这就是它的逻辑。对求解器开发者和定制使用者来说,这实际上是唯一严格的代码验证方法。
《MMS:二维稳态导热》用具体的构造解(三角函数之积)完整演示确认FEM导热代码收敛阶的过程;《MMS源项的自动推导(符号计算)》讲解用SymPy自动推导源项、排除人工求导错误(MMS最大的失败原因)的实现方法。
收录文章
- MMS收敛阶的计算方法
用一维泊松方程二阶中心差分检验观测收敛阶的求法和陷阱。双精度下误差到8.2×10⁻⁹为止阶数都是2.00,10万等分时降到1.40,100万等分时误差增大,阶数变为−3.32。单精度在300等分时就已失效。 - MMS:二维弹性体
把制造解(MMS)用于二维平面应力弹性体,检验自编有限元代码。一次单元Q4位移误差二阶、梯度误差一阶,二次单元Q8为三阶和二阶,与理论一致。用泊松比0.25构造体力的缺陷在粗网格上察觉不到, - MMS: 压缩欧拉方程
可压缩欧拉方程MMS实务指南:以 - MMS:二维稳态导热
讲解用构造解方法(MMS)验证二维稳态导热求解器的步骤。用有限差分把网格从8加密到64分,确认误差按二阶减小;并说明故意做成一阶精度的边界条件错误,会因构造解的选择而显现或隐藏。 - MMS: 非压缩性方程式的验证
MMS(制造解法)非压缩性方程式的验证方法。数值仿真精度验证、CFD分析的妥当性确认必须。验证方法、数值计算、误差评价。 - 构造解方法(MMS)概述与步骤
用非线性扩散方程的算例讲解用构造解方法(MMS)验证程序的步骤。先定好解,用符号计算求源项,观察网格加密时误差的减小:正确实现以2.00阶收敛,而在面上用单侧值计算系数的小错误会使其降到1.01阶;40分时误差约1%, - MMS源项的自动推导(符号计算)
用符号计算自动推导MMS(制造解法)源项的实务指南:s=L(u_m)原理、制造解的选取准则、SymPy的ccode/cse代码生成与消去误差对策、通过UDF/用户子程序注入商用求解器,以及观测收敛阶数不达标时的系统诊断。 - MMS:Spalart-Allmaras湍流模型
把SA模型输运方程(扩散、cb2项、生成、耗散)简化为一维,用制造解ν̃ = 1 + 0.5 sin(2πy)验证二阶差分实现。正确实现每次网格减半误差降为1/4,观测阶为2.00。漏掉cb2项时误差停在0.13不下降,