工程师平台

Abaqus 材料定义,那些不会报错的错误

单位填错了不报错,塑性应变多减一项不报错,比热少乘一百万也不报错 —— 它们只是让结果悄悄错掉。这里每篇讲一个具体问题:怎么判断中招了、怎么改、 以及为什么会这样。写给用 Abaqus 做结构、热和显式动力学分析的人。

目前 15 篇,每天更新。全文公开可读,无需注册登录。

2026-09-08 更新

上个项目填了一下午的材料,怎么搬到这个项目

把材料搬到新模型有三条路,代价完全不同:复制整个 model 会连几何、分析步、载荷一起带走, 清场之后材料还在但 Section 全断;导出成 JSON 只搬材料,但读不出来的块会丢, 而丢了之后导回去不报错 —— 判据是导出时那份「没进去」清单必须是空的; 写脚本最灵活,代价是列顺序和常量全归自己负责。 文中把往返的形态归一规则、默认值省略、覆盖同名材料的暂存名模式、

abaqus 材料库 复用abaqus 材料 复制 到 另一个模型abaqus 材料 导出 jsonabaqus 材料 导入 覆盖
材料这一栏最适合交给脚本,也最容易静默写错

建材料只要两个调用:Material 拿对象,剩下每种属性各是它身上的一个方法。 这篇给一个真正能跑的最小例子,再把四个 Abaqus 不会替你查的地方点出来: 单行表格末尾那个逗号漏了就变成两个数、ISOTROPIC 这类符号常量不能写成字符串、 各向异性弹性的温度依赖标志必须显式声明(六个常数被当成五个加一个温度,没有任何报错)、

abaqus python 脚本 材料abaqus 脚本 建材料abaqus mdb.models Materialabaqus python table 参数
材料参数十有八九先躺在 Excel 里,坑也在那儿

Abaqus 不吃 xlsx 也不吃 csv,中间要转成 JSON。难的不是转,是 Excel 特有的三个坑: 另存编码不对时报的是「不是合法的 JSON」,一个字没提编码,而且只在你写了中文说明时才踩到; 数字带引号其实能过,真正过不去的是千分位逗号、带单位后缀、空单元格、公式错误值; 按屈服应力点一下排序,塑性应变递增这条就断了。

excel 导入 abaqus 材料excel 材料参数 转 abaqusabaqus 材料 json 格式abaqus 材料库 不是合法的 json

2026-09-07 更新

导入成功、看得到 Ductile Damage、就是不删单元

韧性损伤最高频的坑不是数值错,是结构缺:损伤起始和损伤演化在 Abaqus 里是两个独立对象, 只写起始不写 evolution,导入不报错、材料编辑器里也看得见,但单元一个不删。 这篇把 fractureStrain / stressTriaxiality / strainRate 三列的顺序和含义讲清楚,

abaqus 韧性损伤 怎么设置abaqus ductile damage 单元不删除abaqus 损伤 起始 演化 区别abaqus 应力三轴度 断裂应变 表
同一个名字,两个互不依赖的关键字

Johnson-Cook 在 Abaqus 里指两样东西:塑性硬化(A、B、n、m)和失效准则(d1 到 d5), 它们是两个独立的块,可以只用一个。麻烦在于两边都要熔点和转变温度, 于是把 d1~d5 塞进 plastic 会当场报 missing key,两处温度写得不一致则不报错、结果没意义。 这篇画清边界,解释为什么 d1 是 -0.77 却没人拦(插件对这 8 列一个校验都没做,因为它…

abaqus johnson cook 塑性 损伤 分开 写abaqus johnson cook missing key 报错abaqus jc 硬化 和 失效 区别abaqus johnson cook 熔点 转变温度 不一致
两个用得少但各有一个必踩的结构坑

damage 块剩下的两个模型各有一个结构性坑:剪切损伤的 ks 是标量而不是表的一列, 当成列写进去会得到一条指向表宽的报错、根因却是它; 成形极限图的两列是 minorStrain 在前 majorStrain 在后,写反了不报错但曲线整个镜像翻转。 文中给出一条一眼自查法(FLD 第 1 列必须有负值),

abaqus 剪切损伤 shear damage 设置abaqus damage shear ks 参数abaqus fld 成形极限图 怎么填abaqus minorStrain majorStrain 顺序

2026-09-06 更新

热分析的材料属性,错在单位上比错在数值上多得多

热分析要填的材料属性只有导热系数、比热、密度三样,数值查手册都查得到,出事的是换算。 这篇当场推两条:导热系数从 W/(m·K) 换成 mJ/(s·mm·K) 数值一个字不用改, 因为能量的一千和长度的一千正好抵消;比热从 J/(kg·K) 换成 mJ/(tonne·K) 要乘 1e6, 因为两个因子同向叠加 —— 钢的 460 变成 4.6e8。

abaqus 导热系数 单位abaqus 比热 单位abaqus 比热 4.6e8abaqus 热分析 材料 参数
温度相关不用勾选项,Abaqus 数的是列数

给材料加温度相关性不用勾任何选项,在每行末尾多加一列温度就行 —— 反过来,多出来的那一列一律被当成温度,哪怕你想填的是别的。 这篇给出十种属性的固定列数速查表,讲清楚温度相关的塑性表为什么要按温度分组、 每组的第一行塑性应变为什么必须回到 0,以及显式写 temperatureDependency 的实际价值:

abaqus 温度相关 材料abaqus 材料表 温度 列abaqus temperaturedependencyabaqus 塑性表 温度
材料管理器里看得见,不等于模型用上了它

材料管理器里明明有,参数也对,结果却像它不存在 —— 问题几乎从来不在材料本身, 而在材料到单元之间那条链子。这篇按从近到远的顺序排五个断点: 导进了另一个 model(多 model 时按名字排序取第一个)、同名材料被跳过没覆盖、 某些属性块这个版本建不出来(报告里有 WARNING 但材料编辑器看不出差别)、

abaqus 材料 不生效abaqus 材料 没有 赋予abaqus section assignmentabaqus 材料 重新导入 没变化

2026-09-06 更新

泊松比填 0.5,是材料这一栏唯一会被当场拦下的错

Abaqus 的等向弹性只有两个数,却是导入时唯一一处会做物理检查的地方:模量必须为正,泊松比必须落在 −1 到 0.5 之间且两端不含。 这篇用体积模量 K = E/[3(1−2ν)] 和剪切模量 G = E/[2(1+ν)] 两行代数把区间推出来, 说明 0.5 是发散点而不是「太大了」、为什么退一步填 0.4999 会导致体积自锁且不报错、以及负泊松比为什么合法。

abaqus 泊松比 报错abaqus 泊松比 0.5poissonsRatio must be between -1 and 0.5abaqus 弹性模量 单位
密度不是每个分析都要填,但填错的代价按工况差得很远

纯静力分析里密度完全不参与,模态分析里没有密度就提取不出特征值,显式分析里密度直接决定作业算多久。 这篇按工况把分界划清楚:哪些分析不填也对、哪些会被拦下、哪些不报错但结果整体偏。 重点推导显式的稳定时间增量 Δt ∝ √ρ —— 密度小写一百倍,增量步数就多十倍,而结果自洽、没有任何警告; 并说明质量缩放为什么必须写在 Step 里而不是偷偷改材料密度。附一张八种分析类型的对照表、密度为什么允…

abaqus 密度 必须填吗abaqus 静力 密度abaqus 模态 没有密度abaqus 显式 时间步 密度
凭空冒出来的热应力,八成不是参考温度的错

Abaqus 的热应变是 α(T)(T−T⁰) 减去 α(Tᴵ)(Tᴵ−T⁰),带一个扣除初始状态的项。 把 α 当常数代进去,参考温度 T⁰ 会完全抵消 —— 也就是说常数膨胀系数下 ZERO 填多少都一样, 改它去调试热应力是在改一个不参与计算的量。这篇当场把这一步推完, 再讲清楚 ZERO 真正起作用的场合(α 给成温度表,附一个 0.75% 差值的算例)、

abaqus 热膨胀 参考温度abaqus zero 温度abaqus 凭空 热应力abaqus 初始温度 设置

2026-09-05 更新

Abaqus 里没有单位,所以填错了它也不会说

Abaqus 不带单位系统,量纲一致性完全由建模的人负责。这篇把工程上最常用的两套逐项对照: SI 的 m-kg-s-N-Pa,和 CAE 里更常见的 mm 制 mm-tonne-s-N-MPa, 长度、力、应力、密度、能量、热导率、比热、热膨胀系数、温度、应变共十项换算系数一次列全。 重点解释三件反直觉的事:钢的密度在 mm 制里为什么是 7.85e-9、比热为什么要乘 1e6、热导率为什么数…

abaqus 单位制abaqus 密度 单位abaqus 7.85e-9abaqus mm 单位制
拉伸试验给的那条曲线,不能直接填进 Abaqus

材料报告上的拉伸曲线是工程应力-工程应变,Abaqus 的 *PLASTIC 要的是真应力-真塑性应变,两者不是一回事。 这篇给出完整换算链:σ_true = σ_eng(1+ε_eng)、ε_true = ln(1+ε_eng)、ε_pl = ε_true − σ_true/E, 逐步说明为什么表的第一行塑性应变必须正好是 0、为什么减掉的那一项是弹性应变而不能省,

abaqus 真应力 真应变工程应力 转 真应力abaqus 塑性应变 怎么算真应力 公式
塑性表报错,翻来覆去就是这三种

Abaqus 的 *PLASTIC 表有三条硬规则,违反哪一条都会被拦下:每条硬化曲线的第一行塑性应变必须是 0、 塑性应变必须沿表严格递增、所有行的列数必须一致(多出来的那一列是温度,不能只给一部分行加)。 这篇逐条给出报错原文、触发它的表长什么样、改完之后长什么样, 并说明温度相关材料为什么要按温度分组、每组各自从 0 起算,以及屈服应力为什么不允许出现 0 和负数。

abaqus plastic 报错abaqus 塑性应变 必须 递增abaqus 第一行 塑性应变 0abaqus 材料 表 列数 不一致

这些步骤,插件替你做掉大半

单位换算、塑性表校验、温度分组、损伤参数的列序,这几件事每换一种材料就要重做一遍, 而且做错了求解器不会拦。Abaqus 材料导入插件把它们放在写进模型之前完成, 报错带行号和具体数值,一条数据有问题就跳过它、不影响其余材料。

在线材料库需要 Abaqus 2023 或更高版本;2022 及更早只能用本地 JSON 材料库。