资讯详情

LS-DYNA材料本构模型实战指南:从选型到参数标定的完整笔记

📅 2026/9/15 21:25:15 | 华诺云谱 👁 阅读
LS-DYNA材料本构模型实战指南:从选型到参数标定的完整笔记
做LS-DYNA仿真这些年我最大的体会是材料本构这块才是真正区分“会点软件”和“能算准问题”的分水岭。求解器设置翻来覆去就那么几个卡片但材料模型库里躺着两百多个型号从最简单的线弹性到需要几十个参数的高度非线性本构选哪个、参数怎么填、填完怎么验证每一步都能让人踩坑。今天这篇就把我这些年整理的材料本构经验笔记拿出来晒一晒说是“宝库”不算夸张但宝库里的东西也不是随手就能用的配套的钥匙和地图我一起给你。这篇笔记适合三类人刚接触LS-DYNA、面对材料模型列表一头雾水的初学者已经跑过不少算例、但总觉得材料参数是“照着论文抄”的进阶用户以及需要独立完成材料参数标定和验证、对仿真结果负责的工程师。我会按材料大类来组织内容每个类目下讲清楚模型之间的区别、关键参数的含义、常见的坑和我的处理习惯最后单独整理一套通用的排查思路。1. 先把材料模型这座“宝库”搭起来整体分类与笔记逻辑1.1 从两百多个模型里找到你要的那一个我刚接触LS-DYNA的时候打开材料库的感觉就像是走进了一个巨大的仓库货架上堆满了标着数字和代号的文件盒。*MAT_001、*MAT_003、*MAT_024、*MAT_089、*MAT_183……这些编号背后没有直观的名称提示不翻手册根本不知道谁是谁。后来我养成了一个习惯永远不要靠编号记材料要靠物理类别去定位。我的分类方式是按材料行为特征来分大致可以归成几组金属材料以弹塑性为主典型代表是*MAT_024分段线性塑性、*MAT_003带失效的塑性、*MAT_015Johnson-Cook、*MAT_123Modified Johnson-Cook。聚合物与塑料需要考虑应变率依赖、屈服后软化常用*MAT_089聚合物、*MAT_024自定义失效、*MAT_187SAMP等。泡沫与多孔材料*MAT_057低密度泡沫、*MAT_063可压碎泡沫、*MAT_083蜂窝材料这类材料最大特点是体积压缩大、泊松比不是常数。橡胶与超弹性材料*MAT_027Mooney-Rivlin、*MAT_077Ogden、*MAT_181简化橡胶、*MAT_183*MAT_SIMPLIFIED_RUBBER/FOAM。混凝土与地质材料*MAT_072CSCM、*MAT_111CSCM新版本、*MAT_159CSCM在碰撞中的变体、*MAT_084/085Winfrith、*MAT_145RHT、*MAT_005Drucker-Prager。复合材料与各向异性材料*MAT_054/055*MAT_ENHANCED_COMPOSITE_DAMAGE、*MAT_058*MAT_LAMINATED_COMPOSITE_FABRIC、*MAT_022*MAT_COMPOSITE_DAMAGE。特殊功能型材料*MAT_009空材料、*MAT_020刚体、*MAT_100点焊、*MAT_105*MAT_DAMPER、*MAT_196*MAT_GENERAL_NONLINEAR_6DOF_DISCRETE_BEAM等。这个分类不一定要做成表格但最好在笔记里保持一致。每接触一个新模型先问自己三个问题它属于哪种物理行为类别它比同类别其他模型多了什么能力它缺了什么能力把这三个问题的答案记下来模型之间的差异就不会再模糊了。1.2 一套笔记系统关键字、单位制、适用边界材料模型笔记如果只是抄一遍手册参数说明价值非常有限。我的笔记模板固定包含五个区块基本信息编号、名称、适用单元类型、理论背景屈服面形式、硬化/软化规律、失效准则、参数清单区分必填和可选、单位制提醒重点、工程适用场景与局限性。这五块记全了才叫一份能反复查的笔记。单位制是LS-DYNA材料参数里最容易出大问题的地方。LS-DYNA本身没有固定单位制完全靠输入参数自洽最常见的组合是mm-ms-tonne-N-MPa即长度用毫米、时间用毫秒、质量用吨、力用牛顿、应力用MPa此时密度单位是tonne/mm³。要注意如果长度用m、时间用s、质量用kg那应力单位就是Pa密度单位是kg/m³同一种材料的E值要从210GPa写成2.1e11数值差了好几个数量级。所有材料参数在写入关键字前先做一次单位换算检查我用一张自制的单位速查表贴在工位前每次卡壳都能救回来。适用边界同样关键。比如MAT_024能模拟金属的塑性硬化但它对高应变率、高温软化的描述能力有限撞车工况温度不高还好爆炸近场的高温高压就不能指望它。我见过有人用MAT_024去模拟混凝土结果压碎行为完全不对——不是模型本身差是用错了地方。笔记里明确“适用边界”就是防止自己在项目压力下病急乱投医。2. 金属材料本构从弹性到塑性再到断裂2.1 最常用的三个金属模型怎么选金属结构在碰撞、冲击、跌落问题里几乎是绝对主角最常碰到的三个模型是*MAT_024、MAT_003和MAT_015。*MAT_024*MAT_PIECEWISE_LINEAR_PLASTICITY分段线性塑性LS-DYNA里最通用、最稳的金属模型。可以直接定义真实应力-应变曲线用LCSS引用曲线也支持Cowper-Symonds应变率模型通过参数SRC和SRP控制。*MAT_003*MAT_PLASTIC_KINEMATIC双线性塑性模型参数少收敛好适合前期快速计算和模型调试。它带随动硬化/各向同性硬化混合选项参数BETA控制还有简单的失效应变定义。*MAT_015*MAT_JOHNSON_COOK考虑应变率、温度效应的经典模型适合高速冲击、切削、爆炸成形等工况。参数需要A、B、n、C、m一共五个基本常数外加融化温度和参考应变率。选择逻辑我一般这样走如果只是车身结构碰撞应变率效应不能忽略但不需要考虑绝热升温用MAT_024配合Cowper-Symonds就足够如果是子弹侵彻靶板、破片冲击这类高应变率大变形可能温升的问题就上MAT_015。前期概念设计阶段我常用MAT_003快速跑通模型流程省时间后期再替换成MAT_024做精细化标定。有人会问既然MAT_015听起来最“高级”为什么不一律用MAT_015答案很简单参数标定成本高、本构模型对网格质量更敏感、低速问题里它并没有明显优势。模型不是越复杂越好能覆盖住物理过程又不给自己增加标定负担才叫合适的模型。2.2 失效应变是最大的坑金属模型的失效定义是最容易翻车的地方。MAT_024和MAT_003里都有FAIL失效应变参数。这个参数看着简单——就是一个塑性应变值超过就删除单元——但它的取值严重依赖网格尺寸、单元类型和加载路径。同一块板5mm网格和2mm网格标定出来的失效应变能差出30%以上。原因在于失效应变是局部量单元尺寸越大单元内应变梯度的平均效应越强达到失效阈值的时间就越晚。解决手段包括通过MAT_ADD_EROSION里的非局部失效模型比如MAT_NONLOCAL、使用GISSMO方法通过*MAT_ADD_EROSION配合CID或者干脆把失效应变当成一个随网格尺寸变化的标定量来处理。GISSMO是近年来处理金属延性断裂比较靠谱的方案它把损伤累积和应力三轴度、Lode角参数关联起来比单纯给一个FAIL值更能反映材料在复杂应力状态下的断裂行为。我实际用下来它在预测剪切带、杯锥状断口、剪切断裂等场景确实比固定失效应变好得多缺点是标定工作量翻倍需要不同应力三轴度的试验数据。实操中我给新手的建议是如果你只是做趋势性分析用FAIL0.2~0.3先跑通如果要预测断裂位置和时序老老实实标定GISSMO或至少做一个网格敏感性分析。千万不要把论文里某个特定网格尺寸下标定的FAIL值直接挪到自己的模型里就完事。3. 塑料、泡沫与高分子材料非线性与负体积的博弈3.1 聚合物本构的选择与参数获取塑料件在汽车、消费电子里的应用极广但很多初学者会犯一个错误拿金属模型的思路去套塑料。塑料是典型的率相关材料屈服应力随应变率变化非常明显而且屈服后往往伴随应变软化随后才是取向硬化。这种“先软后硬”的响应双线性塑性模型根本描述不出来。如果是通用PP、ABS、PA等材料我常用的方案有三个层次第一层*MAT_024配合不同应变率下的多条应力应变曲线。MAT_024本身支持只定义一条加载曲线但如果你能拿到不同应变率下的曲线可以通过多个LOAD_CURVE配合DEFINE_TABLE来实现率相关输入。这个方法的好处是用最常规的模型完成了率相关扩展。第二层*MAT_089*MAT_PLASTICITY_POLYMER。专门为聚合物设计的模型考虑屈服后行为、率相关和失效参数也不算特别复杂。它的屈服应力定义里包含初始屈服和失效时的屈服应力中间用表格插值做塑料零件跌落、冲击问题完全够用。第三层*MAT_187*MAT_SAMP-1Semi-Analytical Model for Polymers。这个模型能更精细地描述聚合物在拉伸、压缩、剪切下不同的非线性行为适合需要考虑不同加载模式下差异性响应的结构件。但参数需求多必须做多组试验标定。参数获取这一块能查到的公开数据库如MatWeb、CAMPUS大多只提供静态拉伸数据率相关数据基本要靠自己或供应商做试验。低成本替代方案是利用DSGZ模型一种聚合物本构方程对已有单轴数据做外推但这个办法只能估算精度有限重要项目不能省试验费。3.2 低密度泡沫与负体积问题泡沫材料是另一个极其常见的来源——座椅坐垫、包装缓冲垫、保险杠吸能块、电池包缓冲层全是泡沫。这类材料的力学行为高度非线性经历大压缩时应力-应变曲线呈三段式初始弹性段、平台段泡孔坍塌、密实段泡孔完全压碎后刚度急剧上升。*MAT_057*MAT_LOW_DENSITY_FOAM是我用得最多的泡沫模型。它可以通过应力应变曲线输入参数LCID并带有滞后卸载和能量耗散选项HU参数、BETAI等比较适合模拟聚氨酯泡沫、EPP等。*MAT_063*MAT_CRUSHABLE_FOAM则适合模拟可压碎泡沫屈服面是体积硬化型的常用于金属泡沫。泡沫模型最大的噩梦是负体积。因为泡沫泊松比趋近于0压缩时几乎不横向膨胀如果网格质量差、时间步偏大、或者接触刚度不对单元可能在极度压缩下发生畸变出现“negative volume”计算直接终止。处理手段我的优先级排序是检查时间步控制适当缩小时间步缩放因子从默认的0.9降到0.6~0.7检查泡沫单元初始网格质量长宽比、翘曲度超标就重画改用一阶四面体或六面体单点积分配合刚度型沙漏控制给泡沫单元增加*MAT_ADD_EROSION里的最小时间步删除一般不建议因为删除泡沫材料会改变吸能特性尝试用*MAT_057时打开“带拉伸截止”选项设置负应力截止值可以避免泡沫在拉伸状态下产生过大的负压力。我踩过最惨的一次坑是误把泡沫的密度单位写错导致质量放大了一个量级冲击响应完全失真所以泡沫材料参数里的密度和应力应变曲线单位换算必须单独核查一遍。4. 橡胶与超弹性材料参数拟合决定成败4.1 超弹性模型选择橡胶材料在密封件、轮胎、衬套、减振垫里到处都是特征是变形大、几乎不可压缩、表现出明显的非线性弹性。LS-DYNA里的超弹性模型主要有*MAT_027Mooney-Rivlin、*MAT_077Ogden、*MAT_181*MAT_SIMPLIFIED_RUBBER、*MAT_183*MAT_SIMPLIFIED_RUBBER/FOAM这几个。*MAT_027采用Mooney-Rivlin应变能函数适合中小变形一般应变不超过100%~150%参数C10、C01简单易标定工程应用极广。*MAT_077的Ogden形式可以拟合大变形的“S形”应力应变响应适合大变形密封、轮胎等场景但高阶Ogden项对拟合数据范围非常敏感参数外推容易振荡。MAT_181和MAT_183是简化橡胶模型参数更少且可以直接使用单轴试验的名义应力-应变数据处理起来最快。在初步设计阶段我很喜欢用*MAT_181试算等方案定型再换成更精细的模型。4.2 试验数据拟合与稳定性控制超弹性模型的参数完全由试验数据拟合而来所以“试验数据质量”直接决定仿真可信度。这里有个关键点单一的单轴拉伸数据无法唯一确定超弹性本构的参数因为材料在大变形下的响应还受双轴拉伸、平面拉伸纯剪切约束影响。如果要标定Mooney-Rivlin或Ogden至少需要单轴拉伸平面拉伸两组数据最好再加上等双轴拉伸否则预测剪切工况很容易跑偏。数据拟合我一般用LS-DYNA自带的*MAT_027参数拟合功能或者第三方工具如MAT_FIT、ANSYS Hyperfit、MCalibration等但有一点要注意LS-DYNA各版本集成的拟合工具对试验数据格式有要求比如应力应该是工程应力还是真实应力、应变应该用名义应变还是Green-Lagrange应变弄错了拟合结果根本不对。我遇到过一个案例同事把工程应力当成了真实应力喂给拟合器拟合出来的C01是负值仿真一算就疯长。稳定性控制是另一个容易忽略的点。超弹性模型的应变能函数必须满足Drucker稳定性条件否则在大变形下会出现应力非物理振荡。LS-DYNA在计算时会对不稳定的模型给出警告信息但如果参数轻微不稳定有时候也不报错只是结果明显偏离试验曲线。我的习惯是拟合完成后先做一个单单元试验一个单元单轴拉伸到300%应变对比仿真应力应变响应与试验曲线的吻合程度再做一个小块体受压试验验证体积稳定性这一步能过滤掉90%的参数问题。5. 混凝土与地质材料最难伺候的一类模型5.1 常见混凝土模型对比混凝土在高应变率下的响应与金属完全不同存在显著的静水压力敏感性压剪耦合、应变率强化、软化、开裂、破碎和应变软化后的网格依赖性问题。LS-DYNA里常用的有*MAT_072R3*MAT_CONCRETE_DAMAGE_REL3这是LS-DYNA里最常用的混凝土模型也叫CSCM。它最方便的一点是只给密度、单轴抗压强度和最大骨料尺寸就能自动生成全部参数通过“*MAT_CONCRITE_DAMAGE_REL3”输入时把其它参数都置零或给默认值即可。*MAT_159*MAT_CSCM_CONCRETECSCM的另一种实现带连续表面盖帽模型Continuous Surface Cap Model同样支持自动参数生成适合需要更好描述混凝土拉压不对称性的场景。*MAT_084/085*MAT_WINFRITH_CONCRETE老牌模型需要较多参数含屈服面和开裂判据目前在LS-DYNA新版本里用得越来越少但在某些验收规范里仍有要求。*MAT_145*MAT_RHTRHT模型在冲击和爆炸领域用得较多能考虑孔隙坍塌、损伤累积和应变率效应但参数标定非常复杂适合高水平专项分析。我个人的经验是通用冲击问题用MAT_072R3或MAT_159的自动参数生成功能最省心因为内部已经用大量试验数据标定过基础参数默认参数下的单轴压强度和率效应基本可信但自动参数只适合标准强度等级混凝土如C30、C40如果项目用的是特殊配合比或需要匹配到具体的动态试验曲线还是要手动标定。5.2 参数验证与网格敏感性使用自动生成的CSCM参数不等于万事大吉。混凝土本构对网格尺寸非常敏感尤其是软化段的能量耗散网格越粗软件表现出的“韧性”越好碰撞力峰值越低、变形越大。这个现象和金属材料的失效应变网格依赖本质上是同一个问题。我每次用MAT_072R3或MAT_159前都会先做一个单轴压缩单单元测试和一个三单元拉压混合测试验证模型在拉伸、压缩下是否符合同等强度等级混凝土的预期响应抗压强度、抗拉强度、峰值应变。这会占用半小时但能避免整个大模型算完才发现材料参数把混凝土变成了“橡皮泥”或者“脆饼干”。网格敏感性方面如果模型精度要求高我建议在关键区域使用统一的网格尺寸比如10mm或5mm然后做两个不同网格尺寸的对比计算观察碰撞力-位移曲线是否收敛。混凝土模型在网格细化后往往软化加剧响应发散这说明需要引入非局部损伤通过MAT_ADD_EROSION里的MAT_NONLOCAL或采用带断裂能的粘聚力模型来描述裂纹扩展。这一点在钢筋混凝土结构、预应力锚固区等部位特别重要。6. 复合材料与各向异性材料方向和失效准则都不能错复合材料的本构笔记里最重要的一条是材料方向。LS-DYNA里复合材料的方向通常通过PART_COMPOSITE或SECTION_SHELL里的材料角度A1、A2控制也可以用*DEFINE_COORDINATE_NODES指定随节点变化的局部坐标。写错了角度正交各向异性材料的所有性能都会错位拉伸变成了剪切仿真结果完全失去参考意义。模型选择上*MAT_054/055是经典的层合板失效模型支持Chang-Chang失效准则*MAT_054和Hashin类准则*MAT_055可以定义纤维拉伸/压缩强度、基体拉伸/压缩强度、层间剪切强度等。这两个模型在冲击、低速碰撞、准静态加载场景里都验证充分是复合材料结构仿真的主力替补。*MAT_058*MAT_LAMINATED_COMPOSITE_FABRIC则面向织物复合材料能同时处理面内剪切非线性适合碳纤维织物、玻纤织物等。失效参数这块我一直提醒身边同事复合材料的失效是“模式相关”的拉伸失效、压缩失效、剪切失效的临界值差别巨大一定不能只设一个笼统的应力上限。比如碳纤维单向带纵向抗拉强度可以达到2000MPa但纵向抗压强度可能只有1200MPa横向拉压强度更低。用*MAT_054输入时四项强度参数纤维拉、纤维压、基体拉、基体压都填准确仿真结果才可信。还有一点复合材料在每层失效后单元退化或删除的方式会影响整体结构的载荷重分配。我一般建议使用带渐进损伤退化的选项如*MAT_054里的DAMAGE开关它能让失效层逐渐卸载而不是瞬间消失数值稳定性更好结构能力预测也更接近试验。瞬间删除单元往往导致碰撞力骤降峰值预测偏差很大。7. 材料参数标定的通用套路与排查清单材料模型再多标定流程其实是套路化的。我整理了一个标准流程先确认目标物理行为-选择本构模型-收集试验数据-拟合/标定参数-单单元或多单元验证-小规模构件验证-全模型计算。每一步的输出和检查点都提前想好就能避免“算完全部发现参数错误”的惨案。单单元验证是我最依赖的手段。用8个节点一个单元或者两个单元、四个单元施加单轴拉伸、单轴压缩、简单剪切等基本变形模式提取应力-应变响应和试验曲线对比。这个过程能快速暴露参数设置错误、单位错误、模型选择不当等问题。LS-DYNA的keyword输入也支持*INITIAL_STRESS_SOLID等加载方式配合一两个小文件就能完成这些验证。另外我强烈建议维护一份“材料参数卡”文档每个材料记录来源试验报告编号/文献链接/数据库名称、适用模型、参数取值、单位制、验证状态、最后一次验证日期。这份文档在项目交接、模型审查、算例复现时价值巨大相当于给每个材料参数从“来路不明”变成了“有据可查”。下面整理几个我遇到频率最高的排查项供参考异常现象可能原因排查思路计算很快但结果明显偏刚弹性模量/密度单位错误检查单位制换算对比单个单元的刚度和质量碰撞力振荡剧烈接触刚度偏大/材料软化导致单元畸变降低接触刚度系数检查时间步改用全积分单元负体积终止泡沫/超弹性材料单元畸变、时间步过小检查网格质量、调整时间步缩放、检查泊松比设置失效应变影响过大网格敏感、失效参数不合适做网格敏感性分析考虑GISSMO或非局部损伤混凝土材料几乎无强度抗压强度单位错误或未启用自动参数生成检查参数单位检查是否误填了压力单位橡胶模型计算发散超弹性参数不稳定、拟合数据范围不足做单单元拉伸验证补充平面拉伸数据重新拟合复合材料层合板方向错乱铺层角度或局部坐标系定义错误后处理查看材料方向云图对比铺层顺序这套排查表不是万能的但基本能覆盖常见材料参数坑的80%。遇到查不出来的问题我的土办法是把模型简化到只剩几个单元从最简单的弹性模型开始逐渐增加模型复杂度直到复现问题。这个过程往往能定位到具体是哪个参数或哪个选项在作怪。最后分享一个坚持多年的小习惯每次标定完一组材料参数我会在该文件的关键字注释区里写下标定日期、试验数据来源和单位制说明比如$ Mat_024 Steel Q235, unit: mm-ms-t-N-MPa, calib: 2024-03-12, source: tensile test report No.T2024-019。这个习惯看似简单但当你半年后回头复用这组参数、或者审计别人发来的模型时能省下大量考古时间。材料本构这事拼的就是细节和数据库意识一个参数一个参数地积累你的“宝库”才会真的值钱。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。