在 ANSYS 中实现多载荷步每一步结果输出,需结合求解设置与结果输出控制命令。根据当前主流版本(如 ANSYS 2025 R2)及权威资料,关键在于正确配置 OUTRES 命令和时间步控制参数。
核心设置方法
使用 OUTRES 命令控制结果输出频率
该命令决定哪些结果(如位移、应力、反力等)以及以何种频率写入结果文件(.rst)或数据库。
语法示例:apdl
OUTRES, Item, FREQ, Cname
Item:结果类型(如 ALL, BASIC, NSOL, ESOL 等)
FREQ:输出频率
FREQ=ALL:输出每个子步的所有结果 ✅(满足“每一步输出”需求)
FREQ=LAST:仅输出最后一步(默认)
FREQ=n:每隔 n 个子步输出一次
Cname:元件名(可选)
推荐设置(确保每步都输出):apdl
OUTRES, ALL, ALL ! 所有结果、所有子步都写入
结合时间步控制命令
多载荷步分析通常涉及瞬态或非线性分析,需合理设置子步数与时间步长:NSUBST, n:指定每个载荷步的初始子步数为 n
DELTIM, dt:设置时间步长(自动时间积分时有效)
KBC, 0 或 1:定义载荷是递增(0)还是阶跃(1)施加
示例完整载荷步设置:apdl
/SOLU
TIME, 1.
NSUBST,
KBC,
DELTIM, 0.
OUTRES, ALL, ALL ! 关键:每子步输出结果
SOLVE
Workbench 中的操作(图形界面)
若使用 ANSYS Workbench Mechanical:在 Analysis Settings 中:设置 Time Steps 或 Load Steps 数量(如 300 步)
启用 Auto Time Stepping(若为瞬态分析)
在 Solution Output 选项中:找到 Write Results for All Substeps 或类似选项,设为 Yes
或在 Output Controls → Results 中选择 Write All Substeps
注意:Workbench 默认可能仅保存最后一步,需手动启用全子步输出
自动导出每步结果(后处理)
求解完成后,可通过 APDL 命令流 或 Python 脚本(如 PyAnsys)批量提取并导出每步结果:APDL 示例(循环读取每步并导出):apdl
*GET, nSet, SET, , LAST ! 获取总载荷步数
*DO, i, 1, nSet,
SET, i
*CFOPEN, results, txt, , , APPEND ! 追加模式写入
*VWRITE, UY(NODE_ID) ! 示例:写入某节点UY位移
(F10.4)
*CFCLOS
*ENDDO
Workbench + Python:可使用 ansys.mapdl.core 库自动化读取并导出所有子步数据
注意事项
文件大小:输出所有子步会显著增大结果文件(.rst),确保磁盘空间充足。
重启动分析:若中途中断,可通过 ANTYPE, REST 重载前步结果继续计算
验证输出:求解后用 SET, LIST 查看实际保存的子步信息。
如需进一步自动化,可参考 仿真秀的批量导出教程 或 CSDN 的自动导出方案。
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权