做ABAQUS仿真,最头疼的不是建模,也不是不收敛——而是算到一半报错,你盯着屏幕完全不知道从哪儿查起。其实软件已经把线索写在文件里了,就看你会不会看。
2026版的ABAQUS默认工作目录下会生成十几种文件。搞懂每个文件是干嘛的,你排查问题的速度至少快一倍。今天我就把这11种最常见的ABAQUS文件格式挨个讲清楚,附带我踩过的坑和实操技巧。
.cae文件 这是你在ABAQUS/CAE里保存的模型文件,相当于工程的“母版”。几何形状、材料参数、载荷、边界条件、网格全在里面。只能用ABAQUS/CAE打开,别想着用记事本去改——我见过有人试图改后缀当文本打开,结果乱码一片。
实操建议:每隔半小时按一下Ctrl+S。为什么?2026版虽然自动保存频率提高了(默认每15分钟),但有一次我算一个复杂接触模型,CAE崩了,最后一次手动保存是40分钟前,重画网格花了一个多小时。血的教训。
.inp文件 这个才是真正交给求解器的“任务文件”。纯文本格式,记事本就能打开。它包含了计算所需的所有信息:节点坐标、单元连接、材料本构、分析步设置……你可以由CAE生成,也可以手写。
手写inp文件在什么场景下有用?做参数化分析的时候。比如你要跑100组不同材料参数,总不能手动点100次CAE吧?写个Python脚本批量生成inp,然后abaqus job=xxx直接提交,省时省力。
一个具体案例:去年我做一个复合材料层合板优化,需要遍历36种铺层顺序。手工建模得疯掉。我用Excel生成36个inp文件,每个只改铺层角度那一行,然后写了个bat脚本逐个提交。三天的工作量压缩到半天。
.rpy文件 这是个隐藏的宝藏文件。你在CAE里每点一次鼠标、每输一个参数,ABAQUS都会自动记录成命令,写到abaqus.rpy里。如果你一个目录下已经有一个rpy,新开一次CAE会生成abaqus.rpy.1,以此类推。
这玩意儿有什么用? 举个例子:你手动建模花了2小时,想换个几何尺寸重新来一遍?不用重做。打开rpy文件,找到定义尺寸的那几行,把数值一改,然后在CAE里File→Run Script,模型自动重建。我经常用这个做参数化扫描,效率翻倍。
.odb文件 计算结果数据库,也就是你最关心的应力云图、位移曲线、动画都存这儿。可以用CAE或者Viewer打开。一个常见问题是odb文件太大(几十上百GB),2026版新增了“只输出指定Set结果”的功能,在Field Output Request里勾上“Use filter based on set”,odb体积能缩小到原来的10%不到。
.log文件 日志文件,记录了每个模块的起止时间。比如“Start: Analysis module at 14:23:15”,“End: Analysis module at 15:47:32”。主要是让你知道算了多久。如果你怀疑计算卡住了,打开log看最后一行时间戳,如果半小时没变过,说明真卡死了。
.dat文件 这个文件信息量很大。它包含了模型数据检查的结果:边界条件有没有重叠、网格质量怎么样(最小角度、长宽比等)、计算规模多大(多少个自由度)、调用了多少内存。另外,你可以在输出设置里把一些结果写到dat里,比如某个节点的位移历史。
实操步骤:提交作业后,等个十几秒,去工作目录找到jobname.dat,用记事本打开。翻到最下面,看有没有“ERROR”或“WARNING”。如果有“elements have zero area”,说明网格畸形;如果有“overconstraints”,说明过约束。先修这些再往下算,别等算完再回头改。
.sta文件 状态文件,这是你看计算进度的最佳窗口。在计算过程中随时打开(用记事本),每刷新一次就能看到最新走的增量步。格式类似:
Step 1, Increment 1: Step time = 0.0100, Delta time = 0.0100, Iterations = 5, ConvergedStep 1, Increment 2: Step time = 0.0220, Delta time = 0.0120, Iterations = 7, Converged...如果你看到“Iterations”突然变大(比如超过12次才收敛),或者“Delta time”缩得很小(比如1e-8级别),说明模型快不收敛了。这时候可以提前终止,别浪费时间。
.msg文件 这个文件比sta更详细。它记录了每个增量步里的迭代过程:使用了哪个收敛准则、残余力多大、位移修正量多大、接触状态变化等等。模型不收敛时,msg是救命稻草。
一个真实排查案例:算一个轮胎接地问题,老是算到0.3秒就不收敛。打开msg文件,搜索“***ERROR”,看到一行“Too many attempts for this increment”。再往上翻,发现最后几次迭代的接触力一直在振荡:-1200N → +800N → -1150N → +850N。说明接触状态在开闭之间来回跳。解决办法:在接触定义里加一个阻尼因子(damping),设为0.02,重新提交,一次收敛。
.res文件 重启动文件。如果你的模型很大,一个完整的分析要跑20小时,万一断电或者硬盘满了怎么办?在分析步设置里勾上“Restart”选项,每隔几个增量步输出一次res文件。下次提交时用abaqus job=newjob oldjob=oldjob,就能从上次中断的地方继续算,不用从头来。
我一般设置“Interval=5”,每5个增量步存一次。太频繁会增加IO负担,太稀疏了恢复后损失太多步长。
.lck文件 锁文件。它的作用很简单:防止你和另外一个人(或者另一个进程)同时往同一个odb文件里写东西。正常计算结束或你手动关闭odb后,lck文件会自动删除。
但是——如果ABAQUS意外崩溃(比如停电、系统蓝屏),lck文件还在那里。下次你重新提交作业时,ABAQUS会以为odb被占用,拒绝写入。解决办法:手动去工作目录里删除那个.lck文件,然后重新提交。别删错了,只删后缀为lck的。
.stt文件 这是临时文件,ABAQUS在计算过程中读写它来存储中间状态。正常结束后,如果你没要求输出重启动文件,stt会自动消失。你一般不用管它。如果计算中途崩溃,stt会残留,但也没啥影响,直接删掉也行。

2026版ABAQUS默认把所有这些文件都放在当前工作目录下。建议每个项目单独建一个文件夹,不然看着一堆.odb、.prt、.res、.mdl……头都大了。
还有一个习惯:每次提交大规模计算之前,先用abaqus job=yourmodel datacheck只做数据检查,不真正计算。等dat和msg文件里没有报错了,再正式提交。能省下不少冤枉时间。
最后给个表格总结一下(直接照搬去检查就行):
| 文件后缀 | 作用 | 要不要手动删 |
|---|---|---|
| .cae | 模型源文件 | 不删 |
| .inp | 输入文件 | 不删 |
| .odb | 结果数据库 | 不删 |
| .rpy | 命令记录 | 可以删 |
| .log | 起止时间 | 不删 |
| .dat | 检查信息 | 不删 |
| .sta | 计算进度 | 不删 |
| .msg | 详细迭代 | 不删 |
| .res | 重启动 | 不删 |
| .lck | 锁文件 | 异常终止后手动删 |
| .stt | 临时 | 自动消失 |
搞懂这些文件,下次ABAQUS报错你就不会慌了。先查dat,再查msg,实在不行看sta的步长变化。三个文件看完,八成的问题能定位到。2026年了,别再用“重启试试”这种笨办法了。
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。