Mechanical 数值计算结果:用 Python 创建温度和总热流结果并读取极值

需求描述:热分析结果对象标准化
大家好,我是小郭老师,中科院硕士,长期从事 ANSYS 二次开发与仿真流程自动化,曾帮助多个研究所、研究院、国企和大型企业完成 ANSYS 二次开发项目。
在 Mechanical 热分析后处理中,Temperature 和 Total Heat Flux 是最常用的结果对象。论文、评审报告和项目交付里,经常需要给出最高温度、最低温度、总热流极值和平均值。
手工添加结果对象并不复杂,但重复项目里容易出现两个问题:结果对象命名不统一,摘要值读取口径不统一。尤其在多模型、多工况对比时,如果每次都手动添加、刷新、复制数值,后续整理报告时就很难追溯这些结果来自哪个对象。
本文脚本在 Solution 下创建或复用标准命名的 Temperature 和 Total Heat Flux 结果,刷新后读取 Minimum、Maximum 和 Average,并把摘要输出到 Shell。它适合用于热分析结果复核、报告表格整理和批量工况摘要生成。
脚本实现思路
脚本入口是 DataModel.Project.Model、model.Analyses[0] 和 analysis.Solution,默认处理当前模型第一个分析对象下的结果。
结果对象由 result_rules 统一管理。目前规则表包含两项:R_Temperature 对应 Temperature,R_Total_Heat_Flux 对应 Total Heat Flux。脚本按名称查找已有结果对象;如果对象已经存在,则直接复用;如果不存在,则按类型创建新的结果对象。
整体执行过程如下:

第一步,脚本进入当前模型的第一个分析,并取得 Solution。
第二步,脚本根据 result_rules 检查温度结果和总热流结果是否存在。
第三步,若结果对象不存在,脚本分别通过 AddTemperature() 或 AddTotalHeatFlux() 创建,并写入标准对象名称。
第四步,脚本调用 EvaluateAllResults() 刷新 Solution 下的结果对象。
第五步,脚本逐个读取 Minimum、Maximum 和 Average。若某些摘要值无法读取,脚本不会中断,而是在 Shell 中提示该结果摘要无法完整读取。
源码及其讲解

这段脚本的核心,是把热分析常用结果对象整理成可重复执行的结果规则。
脚本先取得当前模型、第一个 Analysis 和对应 Solution。result_rules 中保存结果对象名称和结果类型,例如 R_Temperature 对应 Temperature,R_Total_Heat_Flux 对应 Total Heat Flux。后续创建、刷新和读取动作都围绕这张规则表展开。
创建结果时,脚本按名称查找已有对象。已有对象直接复用;缺失对象根据类型调用 solution.AddTemperature() 或 solution.AddTotalHeatFlux() 创建。这样重复运行时,不会在 Solution 下堆叠同类结果。
结果对象准备完成后,脚本调用 solution.EvaluateAllResults() 刷新结果。模型已经求解时,刷新后即可读取结果摘要;如果模型尚未求解,需要先回到 Mechanical 完成求解。
最后,脚本重新取得结果对象,并输出 Minimum、Maximum 和 Average。读取失败时,Shell 会提示摘要值无法完整读取,便于回到结果对象详情页确认求解状态、单位和字段可用性。
脚本运行结果
运行后,Solution 下会生成或复用两个标准命名结果:R_Temperature 和 R_Total_Heat_Flux。Shell 会输出每个结果对象的最小值、最大值和平均值。
运行前:

运行后:

复核时重点看三处:Solution 下结果对象是否按标准名称生成,结果是否已经 Evaluate,Shell 输出的 Minimum、Maximum、Average 是否与 Details 面板中的数值一致。
脚本扩展方向
- • 将温度、总热流、方向热流等结果对象加入
result_rules,形成热分析常用结果模板。 - • 为结果对象增加 Named Selection 作用域,只统计指定区域的温度或热流响应。
- • 将摘要值写入 CSV 或 Markdown 表格,用于报告结果表和多工况对比。
- • 与对流边界创建脚本串联,形成从热边界设置到结果摘要输出的稳态热分析流程。
总结
热分析结果复核需要稳定的对象名称和统一的读取口径。Temperature 和 Total Heat Flux 这类基础结果,最后往往要进入论文表格、评审记录或项目报告。
本文脚本把结果对象创建、刷新和摘要读取整理成固定流程。重复运行时,脚本会优先复用已有对象;对象缺失时再创建;刷新后输出最小值、最大值和平均值。这样可以减少手工添加结果对象、反复点开 Details 面板和复制数值时带来的遗漏。
正式用于项目时,应重点确认模型已经求解、单位制正确、结果对象对应当前工况。后续如果需要做多工况热分析,可以继续把结果摘要导出到 CSV 或 Markdown 报告中。
你在 Mechanical 热分析中,最希望自动整理哪类结果?可以把结果类型、统计范围和报告格式写在评论区,我后面继续按场景拆解。