本汇总将按照 ANSYS 的典型分析流程,并结合不同模块(如经典 APDL 和 Workbench)进行组织。

核心概念
在开始之前,需要理解几个关键概念:
- APDL (ANSYS Parametric Design Language):这是 ANSYS 经典产品的核心语言,是一套强大的脚本语言,所有在 GUI 中点击的操作,几乎都可以通过 APDL 命令来实现。
- 命令流文件:通常以
.inp为扩展名,是一个纯文本文件,包含了一系列的 ANSYS 命令。 - 输入窗口:在 ANSYS Classic 界面中,所有命令都可以直接在此输入并执行。
- 批处理模式:通过命令行(如
ansys110 -b -i input_file.inp -o output_file.out)运行 ANSYS,无需 GUI,适用于大规模计算。 - 参数:APDL 的强大之处在于使用变量(如
width=10),这使得分析过程可以参数化,便于优化和设计研究。
通用与初始化命令
这些命令适用于整个分析过程。
| 命令 | 功能描述 | 示例 |
|---|---|---|
/FILNAME, name, |
设置作业文件名,默认为 file。 |
/FILNAME, MyAnalysis, |
/PREP7 |
进入预处理模块,用于创建模型。 | /PREP7 |
/SOLU |
进入求解模块,用于设置载荷和求解。 | /SOLU |
/POST1 |
进入通用后处理模块,用于查看整体模型的结果。 | /POST1 |
/POST26 |
进入时间历程后处理模块,用于查看特定点随时间/载荷步变化的结果。 | /POST26 |
/CLEAR |
清空当前数据库中的所有数据。 | /CLEAR |
/EXIT |
退出 ANSYS 程序。 | /EXIT |
FINISH |
退出当前处理器(如从 /SOLU 回到 /PREP7)。 |
FINISH |
RESUME |
从数据库文件(db 或 dbb)中恢复模型。 |
RESUME |
SAVE |
保存当前模型和设置到数据库文件。 | SAVE |
预处理模块 (/PREP7)
这是创建几何模型、定义材料属性、划分网格的核心阶段。
参数定义
| 命令 | 功能描述 | 示例 |
|---|---|---|
*SET, Par, Value |
定义一个参数并赋值。 | *SET, length, 100 |
*DIM, Par, Type, Array, |
定义一个数组。 | *DIM, forces, ARRAY, 3 |
*DEL, Par |
删除一个参数。 | *DEL, length |
单元类型
| 命令 | 功能描述 | 示例 |
|---|---|---|
ET, Key, Type, |
定义单元类型。Key 是参考号,Type 是单元编号。 |
ET, 1, SOLID185 (定义1号单元为185号实体单元) |
KEYOPT, Key, OPT, VALUE |
设置单元选项。Key 是单元参考号,OPT 是选项号。 |
KEYOPT, 1, 3, 3 (设置1号单元的第三个选项为3,如应力输出) |
MP, Lab, Cnum, C0 |
定义线性材料属性。Lab 是属性名(如 EX, DENS)。 |
MP, EX, 1, 2.1e11 (定义1号材料的弹性模量为210GPa) |
MPDATA, Lab, Cnum, |
定义温度相关的材料属性。 | MPDATA, EX, 1, 1, 2.1e11, 2.0e11 |
TB, Lab, MAT, NTEMP, |
定义非线性材料数据表(如塑性、蠕变)。 | TB, BISO, 1, 1 (定义1号材料的双线性随动强化模型) |
TBTEMP, TEMP |
设置数据表中的温度点。 | TBTEMP, 0 |
TBPT, DEFORM, STRESS |
在数据表中添加一个数据点。 | TBPT, 0.002, 250e6 (塑性应变0.002时,应力为250MPa) |
几何模型创建
| 命令 | 功能描述 | 示例 |
|---|---|---|
K, NPT, X, Y, Z |
在 (X, Y, Z) 位置创建一个关键点。 |
K, 1, 0, 0, 0 |
L, P1, P2 |
连接关键点 P1 和 P2 创建一条线。 | L, 1, 2 |
A, P1, P2, P3, P4, |
由关键点 P1, P2, P3, P4 创建一个面。 | A, 1, 2, 3, 4 |
V, P1, P2, P3, P4, |
由关键点创建一个体。 | V, 1, 2, 3, 4, 5, 6, 7, 8 |
RECTNG, X1, X2, Y1, Y2 |
创建一个矩形面。 | RECTNG, 0, 0.1, 0, 0.05 |
CYL4, X, Y, Rad1, |
创建一个圆形或环形面。 | CYL4, 0, 0, 0.05 |
BLOCK, X1, X2, Y1, Y2, Z1, Z2 |
创建一个长方体。 | BLOCK, 0, 0.1, 0, 0.05, 0, 0.01 |
CYLIND, Rad1, Rad2, Z1, Z2, |
创建一个圆柱体。 | CYLIND, 0, 0.05, 0, 0.1 |
VGEN, ITIME, NV1, NV2, NINC, DX, DY, DZ, |
复制体。 | VGEN, 2, 1, 0, 0, 0.1, 0, 0 (复制1号体,沿X轴平移0.1) |
布尔操作
| 命令 | 功能描述 | 示例 |
|---|---|---|
VADD, VA1, VA2, |
布尔加法(合并体)。 | VADD, 1, 2 |
VSUB, VA1, VA2, |
布尔减法(从 VA1 中减去 VA2)。 | VSUB, 1, 2 |
VINV, VA1 |
布尔交集。 | VINV, 1, 2 |
GLUE, V1, V2, |
粘接,不删除原始面。 | GLUE, ALL |
网格控制
| 命令 | 功能描述 | 示例 |
|---|---|---|
ESIZE, Size |
设置全局单元边长。 | ESIZE, 0.005 |
LESIZE, Line, SIZE, |
设置线上单元的尺寸和份数。 | LESIZE, 1, , 10 (将1号线划分为10份) |
VMESH, V1 |
对体 V1 划分网格。 | VMESH, ALL (对所有体划分网格) |
LMESH, Line |
对线划分网格。 | LMESH, 1, 3 (对1号线和3号线划分网格) |
AMESH, Area |
对面划分网格。 | AMESH, 1 |
MSHAPE, Key, Dimension |
设置网格形状。Key=0 六面体/四边形,Key=1 四面体/三角形。 |
MSHAPE, 0, 3D |
VMESH, V1 |
对体 V1 划分网格。 | VMESH, ALL |
载荷与约束
| 命令 | 功能描述 | 示例 |
|---|---|---|
D, Node, Lab, Value, |
在节点上施加位移约束。Lab可以是UX, UY, UZ, ALL等。 |
D, 1, ALL, 0 (约束1号节点的所有自由度) |
D, ALL, UX, 0 |
约束所有节点的X方向位移。 | |
F, Node, Lab, Value, |
在节点上施加力。Lab可以是FX, FY, FZ, MOMENT等。 |
F, 10, FY, -1000 (在10号节点上施加-1000N的Y向力) |
SF, Area, Lab, Value1, Value2, |
在面上施加压力。 | SF, 5, PRES, 1e6 (在5号面上施加1MPa的压力) |
SFBEAM, Elem, Lab, Val1, Val2, |
在梁单元上施加分布载荷。 | |
ACEL, X, Y, Z |
定义加速度。 | ACEL, 9.8, 0, 0 (定义X方向重力加速度) |
OMEGA, X, Y, Z |
定义角速度。 | OMEGA, 0, 0, 10 (定义Z方向角速度10rad/s) |
求解模块 (/SOLU)
设置分析类型、求解选项并执行求解。

| 命令 | 功能描述 | 示例 |
|---|---|---|
ANTYPE, Type |
指定分析类型。STATIC 静态,MODAL 模态,TRANS 瞬态,BUCKLE 屈曲。 |
ANTYPE, STATIC |
NLGEOM, ON |
打开大变形开关(用于非线性分析)。 | NLGEOM, ON |
PSTRES, ON |
在模态分析中打开预应力效应。 | PSTRES, ON |
SOLVE |
执行求解。 | SOLVE |
LSCLEAR |
清除载荷和约束。 | LSCLEAR |
LCDEF, LCNO, LCMIN |
从载荷工况创建一个载荷步。 | LCDEF, 2, 1 (将1号载荷工况定义为载荷步2) |
LCASE, LCNO |
读入一个载荷工况。 | LCASE, 1 |
LSWRITE, LSNUM |
将当前载荷和约束写入载荷步文件。 | LSWRITE, 1 |
后处理模块
通用后处理 (/POST1)
用于查看模型在特定载荷步下的结果。
| 命令 | 功能描述 | 示例 |
|---|---|---|
SET, LSTEP, SBSTEP, |
将结果读入内存。LSTEP是载荷步号。 |
SET, 1 (读入第1载荷步的结果) |
PLDISP |
显示变形后的形状(带原模型)。 | PLDISP |
PLNSOL, Item, Comp |
用云图显示节点结果。Item可以是S(应力),U(位移)。 |
PLNSOL, S, EQV (显示等效应力云图) |
PLESOL, Item, Comp |
用云图显示单元结果。 | PLESOL, U, Y (显示Y方向位移云图) |
PRNSOL, Item, Comp |
以列表形式打印节点结果。 | PRNSOL, U, Y |
PRESOL, Item, Comp |
以列表形式打印单元结果。 | PRESOL, S, EQV |
ETABLE, Tabname, Item, Comp |
将结果项(如应力)存入结果表。 | ETABLE, STRAIN_MAX, EPEL, EQV (将等效塑性存入表STRAIN_MAX) |
PLETAB, Itab, Avglab |
显示结果表中的云图。 | PLETAB, STRAIN_MAX, AVG |
PRNSOL, U, Y |
打印Y方向位移。 | |
*GET, Par, ACTIVE, Item1, Item2, |
提取结果值并赋给参数,这是参数化分析的关键。 | *GET, MAX_STRESS, NODE, 100, S, EQV (提取100号节点的最大等效应力给MAX_STRESS) |
*CFOPEN, Fname, Ext, |
打开一个文件用于写入。 | *CFOPEN, results, txt |
*CFWRITE, String |
将字符串写入文件。 | *CFWRITE, Maximum Stress = %MAX_STRESS% |
*CFCLOS |
关闭文件。 | *CFCLOS |
时间历程后处理 (/POST26)
用于查看模型中特定位置的结果随时间/载荷步的变化。
| 命令 | 功能描述 | 示例 |
|---|---|---|
/POST26 |
进入时间历程后处理器。 | /POST26 |
NSOL, 2, Node, Item, Comp, Name |
定义一个变量,存储节点的结果。 | NSOL, 2, 10, U, Y, DISP_Y (定义变量2为10号节点的Y位移) |
ESOL, 3, Elem, Item, Comp, Name |
定义一个变量,存储单元的结果。 | ESOL, 3, 5, S, EQV, STRESS_ELEM |
RFORCE, 4, Node, Lab, Edge |
定义一个变量,存储反作用力。 | RFORCE, 4, 1, F, Y (定义变量4为1号节点的Y向反力) |
XVAR, 1 |
设置X轴的变量号,通常变量1是时间或载荷步。 | XVAR, 1 |
PLVAR, 2, 3, |
绘制指定变量的曲线图。 | PLVAR, 2, 3 (绘制变量2和3的曲线) |
PRVAR, 2, 3 |
打印指定变量的值。 | PRVAR, 2, 3 |
Workbench 命令流
在 Workbench 中,通常不直接编写 APDL,而是通过系统自动生成,但可以通过以下方式介入:
- Command Snippet (命令片段):在某个分析系统的
Analysis Settings或Geometry等单元格上右键,选择Edit in Mechanical,在 Mechanical 的Command对话框中输入 APDL 命令,这些命令会在特定时机(如划分网格前、求解前)执行。 - External Data (外部数据):可以创建一个包含 APDL 命令的
.txt文件,并通过External Data功能将其导入,作为Command Snippet的来源。
示例:在 Command Snippet 中添加一个约束

! This is a comment in APDL ! Fix all nodes at the bottom face NSEL, S, LOC, Z, 0 D, ALL, ALL, 0 ALLSEL
宏文件
宏是 APDL 命令的集合,用于封装一系列操作,方便重复调用。
-
创建宏:将一系列命令写入一个
.mac文件(my_macro.mac)。! --- my_macro.mac --- /PREP7 BLOCK, 0, 1, 0, 1, 0, 1 ET, 1, SOLID185 MP, EX, 1, 2.1e11 MP, NUXY, 1, 0.3 VMESH, ALL /SOLU /POST1
-
运行宏:
- 在输入窗口中直接输入文件名(不带扩展名):
my_macro - 使用
*USE命令:*USE, my_macro
- 在输入窗口中直接输入文件名(不带扩展名):
-
带参数的宏:宏可以接受输入参数。
! --- param_block.mac --- BLOCK, 0, %dim1%, 0, %dim2%, 0, %dim3% ! ...
调用时:
my_macro, dim1=2, dim2=3, dim3=4
高级与实用命令
| 命令 | 功能描述 | 示例 |
|---|---|---|
/UNITS, Label |
设置单位系统。SI (国际单位), CGS (厘米克秒), BFT (英尺吨) 等。 |
/UNITS, SI |
/COLOR, Pnum, Color, |
设置图形颜色。Pnum=5 代表模型。 |
/COLOR, 5, RED |
/VIEW, WN, WPC, |
设置视角。 | /VIEW, 1, 1, 1, 1 (等轴测视图) |
/REPLOT |
重新绘制当前图形窗口。 | /REPLOT |
*GET, Par, Entity, Item1, Item2, |
从数据库中提取数据并赋给参数,这是参数化优化的核心。 | *GET, my_vol,volu,,,VOLU (提取总体积给my_vol) |
*DO, Par, IS, IE, |
创建一个循环。 | *DO, i, 1, 10 |
*ENDDO |
结束循环。 | *ENDDO |
*IF, VAL1, Oper, VAL2, THEN |
创建一个条件语句。 | *IF, MAX_STRESS, GT, 250e6, THEN |
*ELSE |
||
*ENDIF |
结束条件语句。 | *ENDIF |
总结与建议
- 学习路径:从 GUI 操作开始,理解每个步骤背后的物理意义,尝试将简单的 GUI 操作用命令流实现,逐步过渡到完全使用命令流。
- 命令来源:最权威的命令参考是 ANSYS 帮助文档中的 ANSYS Command Reference,在 GUI 中,很多对话框的右下角有一个
Help按钮,可以快速定位到相关命令的说明。 - 调试:命令流调试比 GUI 困难,善用
/UI, LIST(列出日志) 和/STATUS命令,并分步执行命令(每行后按 Enter)来定位问题。 - 复用性:将常用的建模、求解、后处理流程保存为宏,可以极大地提高工作效率。
这份汇总涵盖了 ANSYS 命令流的主要方面,希望能为你提供一个清晰的指引,对于更复杂的分析(如流场分析、电磁分析),其命令流有特定的模块和命令,但基本框架和逻辑是相通的。
