代码验证(Code Verification)
コード検証(Code Verification)
理论与物理
概述
老师!今天要讲的是代码验证(Code Verification)对吧?那到底是什么呢?
是对软件中实现的数学模型是否正确求解的验证。收敛阶数的确认是其核心。
哦~,关于软件实现的话题,太有意思了!请再多讲一些。
控制方程
$$ E = \|u_h - u_{exact}\| = Ch^p + \text{H.O.T.} $$
$$ p_{obs} = \frac{\ln(E_2/E_1)}{\ln(h_2/h_1)} $$
离散化方法
这个方程,在计算机里具体是怎么求解的呢?
使用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建整体刚度方程。
矩阵求解算法
矩阵求解算法,具体指的是什么呢?
通过直接法(LU分解、Cholesky分解)或迭代法(CG法、GMRES法)求解联立方程。对于大规模问题,带预处理的迭代法非常有效。
| 解法 | 分类 | 内存使用量 | 适用规模 |
|---|---|---|---|
| LU分解 | 直接法 | O(n²) | 小~中规模 |
| Cholesky分解 | 直接法(对称正定) | O(n²) | 小~中规模 |
| PCG法 | 迭代法 | O(n) | 大规模 |
| GMRES法 | 迭代法 | O(n·m) | 大规模·非对称 |
| AMG预处理 | 预处理 | O(n) | 超大规模 |
也就是说,在有限元法这部分偷懒的话,后面会吃苦头对吧。我铭记在心!
商用工具中的实现
那么,进行代码验证(Code Verification)可以用哪些软件呢?
| 工具名 | 开发商/现状 | 主要文件格式 |
|---|---|---|
| MSC Nastran / NX Nastran | MSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software) | .bdf, .dat, .f06, .op2, .pch |
| Abaqus FEA (SIMULIA) | Dassault Systèmes SIMULIA | .inp, .odb, .cae, .sta, .msg |
| Ansys Mechanical (旧ANSYS Structural) | Ansys Inc. | .cdb, .rst, .db, .ans, .mac |
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| COMSOL Multiphysics | COMSOL AB | .mph |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM Foundation) | 字典文件(blockMeshDict等), .foam |
供应商谱系与产品整合历程
各个软件的诞生过程,是不是还挺有戏剧性的?
MSC Nastran / NX Nastran
接下来是MSC Nastran的话题对吧。具体是什么内容呢?
作为NASA结构分析(NASTRAN)于1960年代开发。MSC Software将其商业化,之后UGS(现Siemens)衍生出NX Nastran。MSC于2017年被Hexagon AB收购。
当前归属:MSC Nastran(Hexagon)、NX Nastran(Siemens Digital Industries Software)
Abaqus FEA (SIMULIA)
Abaqus FEA,具体指的是什么呢?
1978年由HKS (Hibbitt, Karlsson & Sorensen) 开发。2005年被达索系统收购,并整合到SIMULIA品牌下。
当前归属:Dassault Systèmes SIMULIA
等等等等,结构分析的话,也就是说这种案例也能用吗?
Ansys Mechanical (旧ANSYS Structural)
请讲讲「Ansys Mechanical」!
哦~,结构分析的话题,太有意思了!请再多讲一些。
文件格式与互操作性
相关主题
この記事の評価
ご回答ありがとうございます!
参考に
なった
なった
もっと
詳しく
詳しく
誤りを
報告
報告