在 ANSYS 中导出数组,主要通过 APDL(ANSYS Parametric Design Language) 实现。根据数据规模和需求,常用方法有以下两类:一、小规模数组或变量:使用 *VWRITE
适用于输出少量数据(如节点温度、位移等),一次最多可输出 19 个参数。
基本步骤
打开文件:使用 *CFOPEN 指定输出文件名和路径。
写入数据:用 *VWRITE 配合 FORTRAN 格式符输出数组或变量。
关闭文件:必须用 *CFCLOS 关闭文件,确保数据写入磁盘。
示例代码
apdl
*CFOPEN, 'output', 'txt' ! 打开文件 output.txt
*VWRITE, 'Node', 'Temp' ! 表头
(A6, A8)
*VWRITE, 1, 25.5 ! 数据行
(I4, F6.2)
*CFCLOS ! 关闭文件
⚠️ 注意事项:*VWRITE 必须在宏文件中执行,不能直接在命令行输入
路径避免中文或特殊字符,建议使用纯英文路径
格式符如 (F6.2) 表示总宽 6、小数 2 位;若宽度不足,会显示
**
二、大规模数组:使用 *MWRITE 或矩阵工具箱
当数组维度较大(如 >10000)时,推荐使用更高效的方法。
方法 1:*MWRITE(传统高效方式)
按列优先(Fortran 风格)或行优先(C 风格)批量输出。
语法示例:apdl
*DIM, myArray, 1000, 5 ! 定义 1000×5 数组
! ... 填充数据 ...
*MWRITE, myArray, 'array_out', 'csv', , JIK, 1000, 5 ! 行优先输出
(5F12.6) ! 每个数占 12 宽、6 小数位
方法 2:矩阵工具箱(现代推荐,适合超大数组)
使用 *DMAT 和 *EXPORT,支持 CSV、MMF 等格式,速度更快且不易崩溃
示例:apdl
*DMAT, matA, D, IMPORT, APDL, myArray ! 转为矩阵对象
*EXPORT, matA, CSV, myArray_output ! 导出为 CSV
✅ 优势:处理万级数组仅需几秒,自动处理格式,无需手动编写循环
三、其他导出方式(非 APDL)
ANSYS Workbench 图形界面:右键结果 → “Export to File” → 选择 CSV/Excel
Python 脚本:使用 pyansys 库读取 .rst 文件并保存为 CSV
第三方工具:如 EnSight、Tecplot 支持直接读取 ANSYS 结果文件并导出
常见错误与解决
❌ 文件未生成:检查路径是否含中文、是否遗漏 *CFCLOS
❌ 数据错位:格式符与数据类型不匹配(如用 I 输出浮点数)
❌ 命令无效:*VWRITE/*MWRITE 必须在宏中运行
如需完整示例代码或具体场景(如导出位移、应力),可进一步说明需求。
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权