一、引言
1.1 Abaqus 文件体系简述
Abaqus 作为通用的有限元分析软件,拥有完整的文件系统,不同后缀文件承担不同角色:
.cae模型数据库:含几何、网格、载荷等前处理信息,低版本软件无法打开高版本文件。.inp输入文件:求解器真正读取的文本文件,定义有限元模型。几乎所有版本可以兼容。.odb结果数据库:存储位移、应力、应变等计算结果.sta状态文件:记录求解过程中的收敛情况、迭代步数.msg消息文件:输出详细的报错与警告信息,用于调试.dat打印输出:保存用户请求的输出数据,如反力、模态频率.inp日志文件:求解器的计算输出日志
1.2 inp 文件的地位与作用
.inp 文件是整个分析流程的核心枢纽。无论是通过 Abaqus/CAE 建模,还是使用 HyperMesh、ANSA 等第三方前处理,最终都需要生成 .inp 文件才能提交给求解器计算。它采用关键字格式,从有限元层面(节点、单元、材料、载荷、边界)完整描述模型,不包含任何 CAD 几何信息。
二、INP 文件基础概述
2.1 什么是 INP 文件
文本文件:可以使用任何文本编辑器(VS Code、Vim、记事本)打开与编辑。
有限元描述:仅包含节点坐标、单元连接关系、材料参数、载荷与边界条件,无法恢复原始 CAD 几何。
求解器直接执行:Abaqus/Standard 和 Abaqus/Explicit 均以 .inp 作为输入。
2.2 INP 文件的生成途径
Abaqus/CAE 导出:在 Job 模块中点击 Write Input,生成当前模型的 .inp 文件。
第三方前处理导出:HyperMesh、ANSA、Patran、FEMAP 等均支持 Abaqus 格式输出。
手动编写:对于简单模型(如悬臂梁),可直接用文本编辑器编写,有利于学习和调试。
2.3 INP 文件的基本结构
一个典型的 .inp 文件按以下顺序组织:
*HEADING** 模型描述*PART, NAME=Part-1*NODE*ELEMENT*NSET*ELSET*END PART*ASSEMBLY, NAME=Assembly*INSTANCE, NAME=Part-1-1, PART=Part-1*END INSTANCE*END ASSEMBLY*MATERIAL, NAME=Steel*ELASTIC*STEP, NAME=Step-1*STATIC*BOUNDARY*CLOAD*OUTPUT*END STEP
三、INP 关键字格式详细说明
3.1 关键字通用语法规则
关键字行:以 * 开头,后跟关键字名称,参数以逗号分隔,例如:
*ELASTIC, TYPE=ISOTROPIC数据行:关键字之后跟随的数据,通常每个数据项用逗号或空格分隔,一行一个数据条目。
注释行:以 **(两个星号)开头,求解器忽略该行。
** 模型描述(这是注释)换行与续行:若一行数据过长需要换行,必须在上一行的末尾添加逗号,表示下一行继续。
*NODE1, 0.0, 0.0, 0.0,2, 1.0, 0.0, 0.0
大小写不敏感:*Node 与 *NODE 等效,但推荐使用大写以提高可读性。
不允许空行:空行可能导致求解器误认为输入结束,应尽量避免。
3.2 模型定义关键字
3.2.1 *NODE — 节点坐标
*NODEnid, x, y, z
nid:节点编号(整数,不要求连续)
x,y,z:全局直角坐标
示例:
*NODE1, 0, 0, 02, 10, 0, 010, 0, 5, 0
使用 *NGEN关键字可快速生成线性分布的节点(仅适用于简单模型)。
3.2.2 *ELEMENT — 单元定义
*ELEMENT, TYPE=单元类型eid, n1, n2, n3, ...
常用单元类型:
类型 | 含义 |
C3D8R | 八节点六面体,减缩积分 |
S4R | 四节点壳单元 |
B31 | 两节点梁单元 |
示例(C3D8R 六面体单元,需 8 个节点):
*ELEMENT, TYPE=C3D8R101, 1,2,3,4,5,6,7,8
3.2.3 *NSET / *ELSET — 集合定义
将节点或单元归类,便于后续设置边界、载荷或输出。
*NSET, NSET=名称, GENERATE起始, 结束, 步长*ELSET, ELSET=名称eid1, eid2, eid3, ...
示例:
*NSET, NSET=FIXED, GENERATE1, 100, 1*ELSET, ELSET=SURF_LOAD12, 15, 18, 22
3.3 材料与截面属性关键字
3.3.1 *MATERIAL — 定义材料
*MATERIAL, NAME=材料名称**后续跟随材料行为关键字(如弹性、塑性、密度等)。
3.3.2 *ELASTIC, *DENSITY, *PLASTIC
*ELASTIC弹性模量, 泊松比*DENSITY密度*PLASTIC屈服应力, 塑性应变
示例(钢材):
*MATERIAL, NAME=STEEL*ELASTIC210000, 0.3*DENSITY7.85e-9*PLASTIC400, 0.0500, 0.2
3.3.3 *SOLID SECTION, *SHELL SECTION — 截面指派
将材料属性赋予单元集。
实体单元:
*SOLID SECTION, ELSET=名称, MATERIAL=材料名称壳单元(需指定厚度):
*SHELL SECTION, ELSET=名称, MATERIAL=材料名称厚度
3.4 分析步与过程控制关键字
3.4.1 *STEP / *END STEP
每个分析步以 *STEP 开始,以 *END STEP 结束。可指定步名称和参数。
*STEP, NAME=LoadStep, NLGEOM=YES...*END STEP
3.4.2 *STATIC, *DYNAMIC, *FREQUENCY — 分析类型
静态分析:*STATIC
*STATIC初始增量步, 总时间, 最小增量步, 最大增量步
隐式动态:*DYNAMIC
模态分析:*FREQUENCY,需指定提取的模态数量。
3.4.3 非线性开关 NLGEOM
在 *STEP 行添加 NLGEOM=YES 开启几何非线性(大变形、大转动)。默认为 NO。
3.5 载荷与边界条件关键字
3.5.1 *BOUNDARY — 固定/位移边界
*BOUNDARY节点集或节点编号, 自由度起点, 自由度终点, 位移值
自由度编号:1=x, 2=y, 3=z, 4=绕x转动, 5=绕y, 6=绕z。
示例(固定节点集 FIXED 的所有平动自由度):
*BOUNDARYFIXED, 1, 3, 0.0
3.5.2 *CLOAD — 集中力/力矩
*CLOAD节点编号, 自由度, 力大小
示例(节点 100,y 负方向加载 1000N):
*CLOAD100, 2, -1000.0
3.5.3 *DLOAD — 分布载荷(压力、体力等)
*DLOAD单元集或单元面, 载荷类型, 大小
示例(单元集 BOTTOM 上施加均匀压力 10 MPa):
*DLOADBOTTOM, P, -10.0
3.6 输出请求关键字
3.6.1 *OUTPUT, FIELD — 场输出
保存到 .odb,用于后处理云图、变形等。
*OUTPUT, FIELD*NODE OUTPUTU, RF*ELEMENT OUTPUTS, E
3.6.2 *OUTPUT, HISTORY — 历史输出
保存特定点或能量随时间的变化,通常用于绘制曲线。
*OUTPUT, HISTORY*NODE OUTPUT, NSET=LOAD_POINTU, RF
3.7 装配与实例关键字
对于包含多个部件的模型,需使用部件与装配体结构。
*PART, NAME=名称 … *END PART:定义独立部件
*ASSEMBLY, NAME=Assembly:
*INSTANCE, NAME=实例名, PART=部件名 … *END INSTANCE:将部件实例化
可在装配级别定义集合(*NSET,*ELSET)
四、求解器直接调用求解的方法
4.1 调用前的准备工作
确保 .inp 文件语法正确(建议先用 Abaqus/CAE 或命令行 abaqus datcheck 进行检查)
配置好 Abaqus 环境变量(通常安装时已设置),在终端(CMD、PowerShell 或 Linux shell)中可直接输入 abaqus 命令
将 .inp 文件放置在工作目录下,或使用完整路径
4.2 命令行直接调用
4.2.1 基本语法
abaqus job=<作业名> input=<输入文件名><作业名>:输出文件(.msg, .sta, .odb 等)的前缀
<输入文件名>:可以包含 .inp 后缀,也可省略(默认为 job 名称)
简写形式(若 .inp 文件名与作业名相同):
abaqus job=beam4.2.2 常用参数说明
interactive前台运行,实时显示求解日志cpus=N使用 N 个 CPU 核心并行计算double启用双精度求解memory=“X GB”指定最大内存使用量user=*.for/*.obj指定用户子程序文件oldjob=旧作业名重启动分析时指定旧作业parallel=domain开启域级并行
参数 | 作用 |
interactive | 前台运行,实时显示求解日志 |
cpus=N | 使用 N 个 CPU 核心并行计算 |
double | 启用双精度求解 |
memory=“X GB” | 指定最大内存使用量 |
user=*.for/*.obj | 指定用户子程序文件 |
oldjob=旧作业名 | 重启动分析时指定旧作业 |
parallel=domain | 开启域级并行(显式分析常用) |
4.2.3 提交示例
标准提交(后台运行):
abaqus job=bracket input=bracket_model.inp前台运行 + 4 核 + 双精度:
abaqus job=bracket input=bracket_model.inp cpus=4 double interactive4.3 批处理调用
4.3.1 单模型多参数批量计算
例如,对同一模型改变材料弹性模量,可生成多个 .inp 或使用参数化方式(但纯 .inp 不支持变量,需借助外部脚本)。这里演示对多个文件顺序计算。
4.3.2 多模型顺序计算脚本示例
Windows 批处理 (.bat):
@echo offcall abaqus job=model1 input=model1.inpcall abaqus job=model2 input=model2.inpcall abaqus job=model3 input=model3.inpecho All jobs completed.
4.4 通过 CAE 调用
在 Abaqus/CAE 中:
Job Module → Create Job → 选择 Source 为 Input File → 浏览选择 .inp → Submit
优点:可监控分析进度、查看结果更方便;缺点:需要 CAE 许可证且自动化程度低。
4.5 求解过程中的监控与中断
4.5.1 实时查看 .sta / .msg / .dat 文件
.sta:显示当前分析步、增量步、收敛情况。推荐在提交时使用 interactive 或另外打开终端用 tail 命令查看。
.msg:包含详细的收敛信息与警告,出现不收敛时可优先检查。
.dat:输出用户指定的打印信息(如反力、模态频率)。
4.5.2 使用 abaqus suspend / resume 或终止
暂停:abaqus suspend job=<作业名>(仅 Standard 支持)
恢复:abaqus resume job=<作业名>
终止:直接关闭终端或使用任务管理器结束 standard.exe / explicit.exe 进程(不优雅,易产生不完整结果)。建议在 .inp 中设置 *TERMINATION 或使用 abaqus terminate job=<作业名>。
五、工程应用示例
5.1 简单悬臂梁 .inp 文件完整示例
问题描述:长 100 mm、截面 10×10 mm 的钢悬臂梁,一端固定,另一端施加 y 负向集中力 100 N。采用线弹性材料,平面应力单元(CPS4R,此处改用 CPS4R 示意),单步静态分析。
*HEADINGCantilever beam analysis with B21 element** NODES (11 nodes along length)*NODE1, 0., 0.2, 10., 0.3, 20., 0.4, 30., 0.5, 40., 0.6, 50., 0.7, 60., 0.8, 70., 0.9, 80., 0.10, 90., 0.11, 100., 0.** ELEMENT (B21 beam element)*ELEMENT, TYPE=B21, ELSET=BEAM1, 1, 22, 2, 33, 3, 44, 4, 55, 5, 66, 6, 77, 7, 88, 8, 99, 9, 1010, 10, 11** BEAM SECTION (rectangular 10x10 mm)*BEAM SECTION, ELSET=BEAM, MATERIAL=STEEL, SECTION=RECT10., 10.0.,0.,-1.** MATERIAL*MATERIAL, NAME=STEEL*ELASTIC210000., 0.3** STEP 1: Apply load*STEP, NAME=LoadStep, NLGEOM=NO*STATIC0.01, 1.0, 1e-5, 0.1** BOUNDARY: fix left end (node 1)*BOUNDARY1, 1, 6, 0.0** LOAD: vertical downward force at right end (node 11)*CLOAD11, 2, -100.0** OUTPUT REQUESTS*OUTPUT, FIELD*NODE OUTPUTU, RF*ELEMENT OUTPUTS, E*END STEP
5.2 命令行提交该示例的计算步骤
将上述代码保存为 cantilever.inp。打开终端,进入该文件所在目录。执行:
abaqus job=cantilever input=cantilever.inp interactive输出文件:cantilever.odb,cantilever.sta,cantilever.msg,cantilever.dat 等。
5.3 结果提取与验证
在 Abaqus/CAE 中打开 cantilever.odb 查看位移和应力云图。
六、常见注意事项与错误排查
6.1 关键字拼写错误与参数遗漏
错误示例:*ELASTC(少写 I) → 求解器报错 Unknown keyword
解决方法:对照关键字参考手册,注意拼写。
6.2 数据行与关键字行顺序错误
例如:将 *NODE 数据行写在 *NODE 关键字之前 → 求解器无法识别。
原则:关键字行必须在相关数据行之前。
6.3 空行导致解析提前终止
*某些老版本 Abaqus 遇到空行会认为输入结束,导致模型不完整。建议文件中不要出现空行。
6.4 单位制不一致(Abaqus 无固定单位,需自洽)
Abaqus 不规定单位,用户需自行保证单位一致。常用单位系统(选择一列进行单位全局一致):

错误示例:长度用 mm,力用 N,弹性模量却用 Pa(应为 MPa)。
6.5 求解器调用时找不到文件或权限问题
错误信息:The file 'xxx.inp' could not be opened.
原因:文件名拼写错误、文件不在当前目录、权限不足(如系统盘只读)。
解决:使用绝对路径或复制文件到工作目录。
6.6 常见报错简例
报错信息 | 可能原因 |
1 error(s), 0 warning(s) | 语法错误,查看 .msg 或 .dat |
Degree of freedom 4 is not active | 对不存在转动自由度的单元施加了转动边界 |
Too many attempts made for this increment | 收敛困难,需调整增量步或检查模型稳定性 |
七、总结
7.1 .inp 关键字格式的规范性与灵活性
.inp 文件采用严谨但灵活的关键字体系。用户不仅可以通过 CAE 生成,更能手动编辑以实现 CAE 无法直接支持的复杂功能(如多点数约束、自定义输出、非线性不稳定性分析等)。掌握关键字格式是进阶 Abaqus 应用的必备技能。
7.2 直接调用求解器的优势
无需 CAE:可在没有图形界面的服务器或集群上运行。
自动化:通过脚本批量提交多个计算任务,大大提高参数研究或优化设计的效率。
轻量:.inp 文件通常比 .cae 小得多,便于存储和版本控制。
7.3 掌握 .inp 与命令行对提高分析效率的意义
从“按钮式”操作转向“文本+命令行”工作流,是有限元工程师实现高效、可重复、自动化分析的关键一步。建议读者在练习中多尝试手动编写简单 .inp,并经常使用命令行提交,逐步积累经验。
📞 联系我们如果您在三维建模、网格划分、仿真分析或工业软件开发方面有任何需求,或者希望探索AI+仿真的无限可能,欢迎联系我洽谈合作。
QQ :773611784
邮箱 :773611784@qq.com
微信公众号:807仿真工坊(可在后台留言)
夜雨聆风