在 ANSYS 中自定义结果,主要分为 经典 ANSYS(APDL) 和 ANSYS Workbench 两种环境。根据当前主流使用场景(尤其是结构分析),以下分别介绍核心方法:一、ANSYS Workbench 中自定义结果
Workbench 提供了直观的图形界面方式来创建自定义结果,适用于大多数工程需求。
插入 User Defined Result
在 Solution 选项卡上右键 → 选择 Insert → User Defined Result。
在 Details of User Defined Result 面板中输入表达式,例如:总位移:(UX^2 + UY^2 + UZ^2)^0.
最大主应力:S
自定义组合:My_Result * 2 - 1.
查看可用变量标识符
右键 Solution → Worksheet,在 Expression 列中可查看所有支持的基本结果变量(如 UX、SY、EQV 等)
支持的操作符与函数
数学运算:+, -, *, /, ^, **
常用函数:sqrt(), abs(), max(), min(), sin(), cos() 等
二、经典 ANSYS(APDL)中自定义结果输出
适用于需要精确控制输出格式或批量处理数据的场景。
**使用 VWRITE + VGET 实现自定义文本输出
apdl
/POST
SET, LAST ! 读取最后一载荷步结果
*GET, NCOUNT, NODE,, COUNT ! 获取节点总数
*DIM, NARRAY, ARRAY, NCOUNT, 3 ! 创建数组:[位置x, 位移y, 位移z]
*VGET, NARRAY(1,1), NODE, 1, LOC, X ! 获取x方向位置
*VGET, NARRAY(1,2), NODE, 1, U, Y ! 获取y方向位移
*VGET, NARRAY(1,3), NODE, 1, U, Z ! 获取z方向位移
*CFOPEN, temp, txt ! 打开输出文件
*VWRITE, 'X-DIST', 8X, 'Y-DISP', 10X, 'Z-DISP' ! 写表头
*VWRITE, NARRAY(1,1), NARRAY(1,2), NARRAY(1,3) ! 写数据
(F6.2, 2X, E13.5, 2X, E13.5) ! 格式控制
*CFCLOS
此方法可输出任意节点/单元结果到文本文件,便于导入 Excel 或 Python 处理
PRxxx 系列命令(如 PRNSOL、PRESOL)
可通过 /FORMAT 控制数字格式(F 十进制、E 科学计数法、G 通用)
三、高级方法:Python 脚本自动化(推荐用于报告生成)
使用 ansys.mapdl.core 可实现高度自定义的后处理与报告生成:python
from ansys.mapdl.core import launch_mapdl
import numpy as np
mapdl = launch_mapdl()
mapdl.set(1) 读取结果集
提取路径上节点位移
path_disp = np.zeros((10, 3))
for i in range(10):
node_id = mapdl.path_node(i + 1)
path_disp[i, 0] = mapdl.get_value('NODE', node_id, 'UX')
path_disp[i, 1] = mapdl.get_value('NODE', node_id, 'UY')
path_disp[i, 2] = mapdl.get_value('NODE', node_id, 'UZ')
导出到文件
np.savetxt('path_disp.txt', path_disp, fmt='%.5f')
还可结合 python-docx 自动生成 Word 报告,自动插入图片、表格和格式化文本
总结建议
日常查看自定义结果 → 使用 Workbench 的 User Defined Result
导出数据到文件 → 使用 *APDL 的 VWRITE 方法
自动化报告或批量处理 → 推荐 Python 脚本 + ANSYS MAPDL API
如需具体操作示例或命令流模板,可参考以下资源:知乎专栏:ANSYS结果自定义输出
ANSYS Workbench 自定义结果教程
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权