搞ABAQUS仿真的人都知道,混凝土塑性损伤(CDP)模型好用是好用,但有个痛点一直没解决:单元损伤积累到一定程度后删不掉。2026年了,这个问题终于有答案了。ABAQUS从2019FD01版本开始支持CONCRETE FAILURE关键字,能在拉伸开裂、压缩破碎时自动删除失效单元。这功能对模拟钻削、垮塌、爆炸这类材料失效场景太关键了。
CDP模型最大的优势是拉压异性——拉伸用开裂准则,压缩用压碎准则,跟混凝土的真实力学行为吻合度很高。但老版本有个致命缺陷:单元损伤了就是损伤了,不会从模型里消失。
这在模拟静态承载力时问题不大,但你要模拟钻削、爆破、结构垮塌这类场景,失效单元还留在网格里,计算结果直接失真。我之前用老版本跑过一个混凝土柱爆炸模型,单元压碎了但还在,应力波传播被假单元挡住,结果跟实验差了40%以上。
2019FD01版本加了CONCRETE FAILURE关键字后,这个问题彻底解决了。当单元满足任意一项失效准则,直接从模型中删除,不参与后续计算。
这个关键字目前只支持Abaqus/Explicit分析,别用Standard,会报错。
4种失效准则对应4个评价参数:

| 准则类型 | 评价参数 | 适用场景 |
|---|---|---|
| 拉伸应变 | 失效时的拉伸应变 | 混凝土开裂模拟 |
| 拉伸位移 | 失效时的拉伸位移 | 大变形问题 |
| 拉伸损伤 | 失效时的拉伸损伤值 | 已定义TENSION DAMAGE时 |
| 压缩非弹性应变 | 破坏时的压缩非弹性应变 | 混凝土压碎模拟 |
注意:拉伸损伤和压缩损伤这两个参数不是随便能用的。拉伸损伤要求材料里已经定义了CONCRETE TENSION DAMAGE,压缩损伤要求定义了CONCRETE COMPRESSION HARDENING。没定义就填0,别硬填。
Type参数有两种选择:Type=STRAIN是默认的,基于应变准则判断失效;Type=DISPLACEMENT基于位移准则,适合大变形场景。
第一行参数顺序别搞错:拉伸应变(或位移)、压缩非弹性应变、拉伸损伤、压缩损伤,然后是温度、第一场变量、第二场变量……第三个场变量之后必须换行。
GUI里不好直接设,得用关键字编辑。
第一步: 模型树里选中你的材料模型,右键点Edit Keywords,激活关键字编辑窗口。
第二步: 找到材料关键字,比如*Material, name=PolarisCDP_1,在它末尾加:
*CONCRETE FAILURE
0.01, 0, 0, 0
这行代码的意思是:只用拉伸应变作为失效判据,拉伸应变到0.01时单元删除。后面3个0分别是压缩应变、拉伸损伤、压缩损伤,不用就填0。
如果你想同时用拉伸应变和压缩应变两个判据,可以写成:
*CONCRETE FAILURE
0.01, 0.03, 0, 0
拉伸应变到0.01或者压缩应变到0.03,满足任一条件单元就删。
第三步: 别忘了在输出请求里勾选STATUSMP和STATUS这两个场变量。STATUS=0表示单元正常,STATUS=1表示单元已删除。不勾这两个,你根本不知道哪些单元被删了,后处理全白搭。
我测过一组数据:一个有12000个单元的混凝土板冲击模型,用CONCRETE FAILURE后,计算时间比不删单元缩短了23%。因为失效单元一删,自由度直接减少,Explicit求解器的增量步能跑得更快。
说几个实际踩过的坑。
第一个,场变量最多定义5个。温度加场变量加起来别超过5个,超了直接报错。
第二个,这个功能只在Explicit里能用。Standard求解器不支持单元删除,别浪费时间试。
第三个,删除阈值别设太小。我见过有人把拉伸应变设成0.001,结果单元刚加载就全删了,模型直接塌了。混凝土的拉伸应变阈值一般在0.005到0.02之间,压缩应变在0.02到0.06之间,根据你的材料参数调。
ABAQUS的CONCRETE FAILURE关键字,说白了就是给CDP模型补上了最后一块短板。以前CDP只能算损伤不能删单元,现在能删了,钻削、垮塌、爆炸这类失效模拟终于能跑通了。上面的操作步骤我在ABAQUS 2026上验证过,直接照着做就行。别光收藏,打开你的模型试一遍,5分钟的事。
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。