菜鸟科技网

ANSYS命令有哪些?如何快速掌握?

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

ANSYS命令有哪些?如何快速掌握?-图1
(图片来源网络,侵删)

核心概念

在开始之前,需要理解几个关键概念:

  1. APDL (ANSYS Parametric Design Language):这是 ANSYS 经典产品的核心语言,是一套强大的脚本语言,所有在 GUI 中点击的操作,几乎都可以通过 APDL 命令来实现。
  2. 命令流文件:通常以 .inp 为扩展名,是一个纯文本文件,包含了一系列的 ANSYS 命令。
  3. 输入窗口:在 ANSYS Classic 界面中,所有命令都可以直接在此输入并执行。
  4. 批处理模式:通过命令行(如 ansys110 -b -i input_file.inp -o output_file.out)运行 ANSYS,无需 GUI,适用于大规模计算。
  5. 参数: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 从数据库文件(dbdbb)中恢复模型。 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)

设置分析类型、求解选项并执行求解。

ANSYS命令有哪些?如何快速掌握?-图2
(图片来源网络,侵删)
命令 功能描述 示例
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,而是通过系统自动生成,但可以通过以下方式介入:

  1. Command Snippet (命令片段):在某个分析系统的 Analysis SettingsGeometry 等单元格上右键,选择 Edit in Mechanical,在 Mechanical 的 Command 对话框中输入 APDL 命令,这些命令会在特定时机(如划分网格前、求解前)执行。
  2. External Data (外部数据):可以创建一个包含 APDL 命令的 .txt 文件,并通过 External Data 功能将其导入,作为 Command Snippet 的来源。

示例:在 Command Snippet 中添加一个约束

ANSYS命令有哪些?如何快速掌握?-图3
(图片来源网络,侵删)
! This is a comment in APDL
! Fix all nodes at the bottom face
NSEL, S, LOC, Z, 0
D, ALL, ALL, 0
ALLSEL

宏文件

宏是 APDL 命令的集合,用于封装一系列操作,方便重复调用。

  1. 创建宏:将一系列命令写入一个 .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
  2. 运行宏

    • 在输入窗口中直接输入文件名(不带扩展名):my_macro
    • 使用 *USE 命令:*USE, my_macro
  3. 带参数的宏:宏可以接受输入参数。

    ! --- 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 命令流的主要方面,希望能为你提供一个清晰的指引,对于更复杂的分析(如流场分析、电磁分析),其命令流有特定的模块和命令,但基本框架和逻辑是相通的。

分享:
扫描分享到社交APP
上一篇
下一篇