FEM模型审查检查清单
FEM模型审查检查清单的理论基础
概要 — 为什么需要检查清单
模型审查检查清单具体要检查什么呢? 在执行分析之前看的东西吧?
是的。FEM模型的质量保证,在分析执行前要对网格质量、边界条件、材料特性、荷重条件进行系统检验的清单。NASA的「FEM Best Practices」(NASA-STD-5002A)规定了35项的检查清单,在航空航天的结构分析中必须通过这个检查。
35项也太多了! 但是自己的团队里,听说好像没有那么严格执行的…
不幸的是,很多现场是「切完网格扔给求解器,收敛了就OK」的状况。但实际上,收敛了 ≠ 结果正确。比如汽车碰撞仿真中,螺栓连接用Tied Contact来近似而不验证,实车试验结果完全不符合的情况并不罕见。
自己的团队也应该制定最少限度的检查清单,把审查者的签字确认作为必须项。由于分析者本人很难发现自己的思维定势导致的错误,让其他工程师审查可以有效防止这些失误。
明白了,双重检查机制很重要。具体要看什么项目呢?
大体分为6个分类:
- 网格质量检查 — 纵横比、歪斜度、雅可比等指标
- 边界条件验证(BC Verification) — 约束的合理性、过约束的有无
- 材料特性验证 — 杨氏模量·泊松比的值和单位制的一致性
- 荷重条件审查 — 荷重案例的完整性、荷重值的依据
- Free-Free模态检查 — 无约束模态分析验证连接性
- 反力平衡检查 — $\sum F = 0$、$\sum M = 0$ 的确认
检查清单的数理基础
检查清单就像「操作手册」一样,但是也涉及数学吗?
当然。检查项目中很多都具有定量的判定标准。例如反力平衡检查是用下面的公式来评估的:
这个 $\varepsilon_{bc}$ 0.1%以下是一般的合格基准。还要确认力矩的平衡:
力和力矩都要确认呢。力只是平衡的话,力矩不对就没有意义了。
完全同意。比如说悬臂梁的末端加集中荷载 $P$ 的情况,固定端的反力应该是 $R_y = P$(力的平衡),反力矩 $M = P \cdot L$(力矩的平衡)。在FEM的输出中要确认这个。如果数值不符,就说明边界条件的设定有错误或荷重定义有遗漏。
关于网格质量,全局刚度方程:
这个刚度矩阵 $[K]$ 是由各单元刚度矩阵 $K_e$ 组装成的。单元刚度是通过数值积分计算的:
这里的 $|J(\xi_g)|$ 是雅可比行列式。单元变形时雅可比会退化,积分精度会下降。所以要在网格质量检查中确认雅可比比。如果出现负的雅可比,该单元就翻转了,物理上没有意义。
啊,了解了数学背景后,为什么说「纵横比5以下」这样的基准,就不是单纯的经验法则了。直接关系到数值积分的精度。
NASA的质量保证体系
NASA的检查清单具体是什么内容呢? 说是35项,什么都包括吗?
NASA-STD-5002A「Structural Analysis and Test Requirements」和其补充文档NASA-HDBK-5014中详细说明了。按分类汇总主要项目大概是这样:
| 分类 | 检查项目(代表例) | 项目数 |
|---|---|---|
| 形状保真度 | 与CAD的形状差分、简化的合理性记录 | 4 |
| 网格质量 | 纵横比、歪斜度、雅可比、连接性 | 7 |
| 材料特性 | 杨氏模量/泊松比的出处、温度依赖性、单位制 | 5 |
| 边界条件 | 约束自由度数、对称条件、接触定义 | 6 |
| 荷重条件 | 荷重案例完整性、安全系数的应用 | 5 |
| 分析执行 | 收敛判定基准、求解器警告的确认 | 4 |
| 结果验证 | 反力平衡、能量平衡、Free-Free检查 | 4 |
体系很完整呢。除了航空航天以外的领域也能用吗?
当然。汽车、核电、医疗器材等各产业也参考NASA的框架,制定自己的检查清单。重点是「识别自己的分析中哪个风险最高,然后把重点放在那里」。
FEM模型审查检查清单的数值计算方法
网格质量检查
网格质量检查的具体标准是什么呢? 用什么指标来看,什么基准来判定? 软件不同指标也不同…
主要的品质指标有5个。这个与求解器无关,通用的:
| 指标 | 定义 | 理想值 | 合格基准 | 不合格时的影响 |
|---|---|---|---|---|
| 纵横比 | 最长边/最短边 | 1.0 | < 5.0 | 应力精度下降,特别是弯曲问题 |
| 雅可比比 | $|J|_{min} / |J|_{max}$ | 1.0 | > 0.3 | 积分精度恶化,负值则单元反转 |
| 翘曲角 | 面的非平面度 | 0° | < 15° | 壳单元刚度评估错误 |
| 歪斜度 | 内角与理想角的偏差 | 0 | < 0.7 | 收敛性恶化 |
| 锥形比 | 对边长度比的偏差 | 0 | < 0.5 | 应力分布畸变 |
所有单元都要符合基准吗? 复杂形状的话,一部分单元可能超过基准…
好问题。现实的标准是99%以上的单元符合基准。如果有不符合的单元,要确认它不在关注区域(应力集中部、破坏判定区域)内。应力报告区域有不符合的单元,那个结果就不可信。
实务中通常要输出「品质直方图」,确认分布。Hypermesh用Quality Index面板,Ansys用Mesh Metrics一下子就能看到。
边界条件的验证(BC Verification)
边界条件检查,就是「这里固定了」之类的,一眼就能看出来吧? 为什么要特别确认?
边界条件是FEM分析中最容易出现错误的地方。必须确认以下几点:
- 过约束的有无:静定问题的3D固体,约束基本是6自由度(3个平移+3个旋转)。超过这个会产生人工应力
- 约束位置和方向:螺栓孔内面要固定还是外面,圆筒坐标系设定对吗
- 对称条件的合理性:对称面上的面外位移约束了吗,反对称荷载时BC也是反对称吗
- 接触定义合理性:Tied/Bonded接触的主从面选择,摩擦系数设定
过约束,多固定好像更安全吧? 不好吗?
这是常见的误解。过约束会阻碍结构本来的变形,产生现实中不存在的应力。比如膨胀管道两端全自由度固定,实际上法兰会滑动的部分产生巨大的虚拟应力。结果判定为「危险」,实际上毫无问题 — 这是假阳性,会扭曲设计判断。
Free-Free模态检查
Free-Free模态检查是什么呢? 「自由自由」就是没有约束对吧? 为什么要去掉约束?
完全同意。就是不进行任何约束进行模态分析(固有值分析)的测试。目的有3个:
- 模型连接性验证:所有零件正确连接的话,刚体模式只有6个(3个平移+3个旋转)。7个以上出现说明某处零件浮着(连接遗漏)
- 刚体模式频率确认:6个刚体模式的固有振动数理论上是零。FEM中由于数值误差不能完全为零,但 $f_{rigid} < 0.01\,\text{Hz}$ 为目标。1Hz以上就有问题
- 质量合理性确认:Free-Free的第7个以后的弹性模式形状,看是否物理上合理
刚体模式7个出现就是连接遗漏? 实际有因此救命的情况吗?
实务中非常常见。特别是100个以上零件的大规模装配模型,Tied Contact定义遗漏1处,那个零件就浮起来了。静分析会变成「特异矩阵」错误停止,但荷重情况有时也会巧合收敛。Free-Free检查能提前抓出这种「静静的不具合」,非常强力。
做法很简单。Nastran用SOL 103不指定SPC,Abaqus的*FREQUENCY步骤不加BC。计算成本是通常分析的十分之一以下。
FEM模型审查检查清单的实务应用
材料特性的验证
材料特性的检查,就是输入杨氏模量和泊松比就行了吧? 用MIL手册的值直接用呢…
值本身的问题不如单位制的一致性可怕。实务最常见的致命错误是「杨氏模量单位搞错」。比如说:
| 单位制 | 杨氏模量(钢) | 密度(钢) | 常见错误 |
|---|---|---|---|
| SI (m, kg, s, Pa) | 2.1 × 1011 Pa | 7850 kg/m³ | GPa直接输入 → 1000倍偏差 |
| mm, t, s, MPa | 2.1 × 105 MPa | 7.85 × 10-9 t/mm³ | 密度保持kg/m³ |
| mm, kg, ms(碰撞) | 210 GPa → 210 kN/mm² | 7.85 × 10-6 kg/mm³ | 忘掉ms时间单位 |
哇,mm-t-s系的密度好小。这个错了的话会怎样?
密度错的话惯性力·重力荷重·固有振动数全部搞坏。静分析没有重力的话可能没有发现,但动分析和模态分析结果完全不对。检查清单必须确认:
- 输入的材料特性的出处记录(手册名、试验报告号)
- 模型整体的总质量,和实物重量比较(误差2%以内为目标)
- 有温度依赖的情况,使用温度范围的数据是否正确输入
- 复合材料情况,层序和纤维配向角与设计图一致否
荷重条件的审查
荷重条件的审查,就是确认荷重值对吧?
值还不够。荷重审查的「5个W」要确认:
- What(什么):荷重种类 — 集中荷重、分布荷重、压力、重力、热荷重、强制位移
- Where(哪里):荷重作用面·作用点 — 正确的节点集/面集吗
- Which direction(什么方向):坐标系方向 — 全局还是局部坐标系
- When(何时):荷重时间历程 — 步序、斜坡函数、突入荷重的上升时间
- Why(为什么):荷重的根据 — 设计基准、试验数据、安全系数应用
「Why」也要确认? 荷重值是设计部来的,我们就用呗…
设计部的荷重仕样盲目接受不是专业人士的做法。比如说「10kN的荷重」这样说的时候,那是极限荷重(UL)还是限制荷重(LL)?就改变安全系数的应用。航空用 UL = LL × 1.5,但是「10kN是极限荷重,安全系数已经包含」还是「10kN是限制荷重,分析侧要乘1.5」,结果差50%。
反力平衡检查
反力平衡检查的具体步骤教一下。实际怎么做?
步骤很简单,但很多人不做:
- 执行分析
- 全约束点的反力合计(X, Y, Z各方向和力矩3方向)
- 全施加荷重合计(包括重力)
- 两者比较:$\varepsilon_{bc} < 0.1\%$ 确认
求解器别的确认方法:
| 求解器 | 反力输出的确认方法 |
|---|---|
| Nastran | .f06文件的 OLOAD RESULTANT 和 SPCFORCE RESULTANT 比较 |
| Abaqus | History Output的 RF1, RF2, RF3 在约束集合上合计。或.dat文件反力输出 |
| Ansys Mechanical | Force Reaction 探针加到约束面输出 |
| Ansys APDL | PRRSOL 指令输出反力合计 |
Nastran的 OLOAD RESULTANT 见过! 一直跳过…
.f06最重要的信息集中的地方。看这个就能一下子发现荷重遗漏、约束过不足。团队的Nastran模板里「.f06的RESULTANT确认」要作为必须项。
审查运用流程
检查清单有也没用的话,没意义呢。团队怎么运用比较好?
运用的要点是3个:
- 自检 → 同行审查的2阶段制:先分析者自己填检查清单。再由其他工程师审查签字。自己很难找自己的错误
- 检查清单的模板化:Excel或Confluence里制作模板,项目时复制使用。每次从零开始容易被省略
- 分析报告里附加检查清单:检查结果放在报告的附录。以后需要可追踪性时(不具合调查、规范审计)变成证据
FEM模型审查检查清单的软件比较
求解器别检查功能
各求解器自动检查的功能有吗? 全手动太大变了。
主要求解器和前处理器都内置了模型检查功能:
| 工具 | 自动检查功能 | 输出先 |
|---|---|---|
| Nastran | GROUNDCHECK(刚体位移检查)、WEIGHTCHECK(质量检查)、ELQUALITY(单元品质) | .f06文件 |
| Abaqus | *MODEL CHANGE(非活跃单元检出)、Data Check分析(运行前验证)、Element Quality警告 | .dat / .msg |
| Ansys Mechanical | Mesh Metrics(品质直方图)、Solver Output(警告/错误一览) | Workbench Solution Information |
| Hypermesh | Quality Index、Check Elems、Penetration Check(接触干涉) | GUI表示 + 报告输出 |
| Femap | Model Check → Coincident Nodes、Free Edges、Duplicate Elements | Message Log |
Nastran的GROUNDCHECK初次听说! 什么检查?
GROUNDCHECK是刚度矩阵里有6个刚体模式的数值验证机能。Free-Free模态检查类似,但模态分析不用跑就能从刚度矩阵特性判定。Case Control里加 GROUNDCHECK=YES 就行,结果出在.f06。
WEIGHTCHECK是 WEIGHTCHECK=YES 输出模型总质量和重心位置。这也在.f06里,用来与设计值对照。
太棒了! 加一行就能检查,没理由不做啊。
是的。团队的Nastran模板从一开始就加进去。Abaqus的话*PREPRINT, MODEL=YES, HISTORY=NO用Data Check分析跑起来。计算成本几乎零,不做的理由没有。
FEM模型审查检查清单的前沿研究
自动化和AI支援审查
检查清单的将来,AI自动化吗?
一部分已经自动化了。3个阶段有:
- 第1级:脚本自动化 — Python脚本用网格品质检查、反力合计计算、质量检查自动执行。Nastran用PyNastran,Abaqus用Abaqus Scripting Interface。多数企业已导入
- 第2级:规则库检查器 — SIMULIA Isight、Altair HyperStudy等流程自动化工具里组入「判定条件」,NG项目有则中断分析
- 第3级:机械学习支援 — 过去分析模型(正解/误解标记付)用CNN学习,网格图样和BC设定异常检出。研究进行中,实用水平还有限
第1级脚本自动化,自分们!
是的。比如从Nastran的.f06里用正则表达式抽取OLOAD RESULTANT和SPCFORCE RESULTANT,自动计算差分,50行代码就能写。团队共享的话检查遗漏能显著减少。「手动检查项目零」是理想,但反力平衡和质量检查的自动化先开始比较现实。
另一个前沿动向是数字线索(Digital Thread)的概念。CAD→CAE→试验→量产的全工程里模型信息一体管理,检查清单各项基于什么工程的什么数据能溯源。Siemens Teamcenter和Dassault 3DEXPERIENCE推进。
FEM模型审查检查清单的故障排除
审查遗漏引起的典型事故
检查清单好好做没有的话,实际怎么的问题出现了? 怖话聞(笑)
笑不出来的話。实务本当(或is起)案例紹介:
| 审查遗漏项 | 发生的事 | 防止对策 |
|---|---|---|
| 单位制确认遗漏 | 杨氏模量用GPa(本来MPa系)输入 → 位移1/1000。「刚性足够」误判,实机破损 | 总质量检查验证单位制一致性 |
| 接触定义确认遗漏 | 装配1处Tied Contact定义遗漏 → 荷重不传递,该零件应力为零 | Free-Free模态检查验证连接性 |
| 荷重方向确认遗漏 | 坐标系符号错,压缩荷重变拉伸 → 未检出座屈,实机座屈破坏 | 变形图目视确认 + 反力方向检查 |
| 过约束确认遗漏 | 管道模型两端全固定 → 热应力过大计算,不必要的设计变更(成本数百万) | 约束自由度数物理妥当性审查 |
| 网格收敛性未确认 | 应力集中部网格太粗 → 应力值随网格密度变化,设计判定不稳定 | 最少3水准网格收敛性确认 |
单位制错実機破損…。分析結果信设计的、入力間違…
「結果見前入力验证」检查清单的本質。綺麗図出間違気、遅延発生。入力段階5分的、或結果出数日的手戻 — 答明白。
、完全理解。自分的簡易版20項检查清单始!
。最初負担感、1月続体染付。「检查清单分析提出的怖」感覚。的的感覚。
「分析合」思的流程
- 反力確認 — 力的釣合合、結果検討以前入力問題。境界条件荷重定義見直
- Free-Free実行 — 連接性問題、刚体6個確認。7個以上結合遗漏
- 総质量確認 — 実物的重量照合。大材料特性(特密度)的單位系疑
- 変形图確認 — 図前、変形見。物理的不自然变形
- 1変再実行 — 複数的変更同時。科学実験同「対照実験」的原則守
价值
更详细
错误