首页/文章/ 详情

测点不在网格节点上,ANSYS Mechanical 还能提取应力吗?

1月前浏览1397


image.png

需求描述:测点不在节点上,结果怎么取?

大家好,我是小郭老师,中科院硕士,长期从事 ANSYS 二次开发与仿真流程自动化,曾帮助多个研究所、研究院、国企和大型企业完成 ANSYS 二次开发项目。

之前我写过两篇 Mechanical 表格瞬态数据导出的文章,主要讲如何从已有结果表格中提取瞬态数据。

这类方法很好用,但有一个前提:选择范围内要有有效网格节点。

而实际项目中,试验测点、传感器位置或设计监测点,通常给的是空间坐标,很可能不一定正好落在某个节点上。

Probe 的关键不只是 Geometry Selection

在 Mechanical 里插入 Probe 时,很多人默认使用 Geometry Selection

也就是先选一个几何点、边、面或 Named Selection,再让 Probe 提取这个位置或范围上的结果。

image.png

这个习惯没有错。但它容易让人误以为 Probe 只能基于几何选择。

实际上,Probe 的 Details 里有一个很关键的属性:

Location Method

如果把它从 Geometry Selection 改成 Coordinate System,Mechanical 就会使用指定局部坐标系的原点作为 Probe 的结果提取位置。

image.png

image.png

更稳的做法是:

用局部坐标系定义测点位置,
再让 Stress Probe 使用这个坐标系作为 Location。

也就是说,脚本要完成三件事:

  1. 1. 创建一个局部坐标系 monitor_point

  2. 2. 将坐标系原点设置到目标测点坐标;

  3. 3. 创建 Stress Probe,并让它使用 monitor_point 作为结果提取位置。

脚本实现思路

核心流程如下:

1.png

这里最关键的是:monitor_point 不是提前手动创建好的对象,而是脚本创建出来的局部坐标系。后面 Stress Probe 的 Location 直接指向这个脚本对象。

源码及其讲解

image.png

首先,创建脚本入口

image.png

接着创建局部坐标系,并写入测点坐标:

image.png

这里采用的是 Mechanical 录制脚本中的写法:通过 OriginDefineByOriginXOriginYOriginZ 定义坐标系原点。

然后创建 Stress Probe,并把它绑定到刚创建的 monitor_point

image.png

其中最重要的是:

image.png

也就是说,Probe 的结果提取位置由脚本创建的局部坐标系决定。

脚本运行结果

脚本运行后的结果如下图所示:
image.png

这时 Stress Probe 不再通过几何选择定位,而是通过 monitor_point 坐标系定位。坐标系原点就是测点位置:

X Coordinate = 4.1 m
Y Coordinate = 0.517 m
Z Coordinate = 0.475 m

由于脚本设置了:

stress_probe.ResultSelection = ProbeDisplayFilter.Equivalent

因此这里提取的是该测点位置处的等效应力结果。

脚本扩展方向

这个脚本只演示一个测点。实际项目中,可以继续扩展成一套测点 Probe 自动化模板。

第一个方向,是多测点批量创建

可以把测点整理成表格:

point_name    x       y        z       unit
MP_01         4.1     0.517    0.475   m
MP_02         4.3     0.520    0.480   m
MP_03         4.5     0.530    0.490   m

脚本读取表格后,批量创建:

  • monitor_point_MP_01 这类局部坐标系;

  • Stress Probe_MP_01 这类应力探针;

  • • 每个 Probe 对应自己的测点坐标系。

第二个方向,是加入同名对象检查

本文脚本是演示版,每次运行都会创建新的坐标系和 Probe。项目版脚本可以先检查对象是否已存在,存在则更新坐标和 Details,不存在再创建。

第三个方向,是和结果导出结合

Probe 创建完成后,可以继续读取 Probe 结果、导出表格、截图,或者生成测点应力对比报告。

总结

这一篇解决的是一个具体问题:

测点不在网格节点上时,如何在 Mechanical 中提取该位置处的等效应力。

核心思路是:

测点坐标
  -> 局部坐标系 monitor_point
  -> Stress Probe
  -> Coordinate System Location
  -> Equivalent Stress

本文脚本完成了:

  1. 1. 创建局部坐标系 monitor_point

  2. 2. 写入坐标系原点坐标;

  3. 3. 创建 Stress Probe

  4. 4. 将 Location Method 设置为 Coordinate System

  5. 5. 将 Location 绑定到 monitor_point

  6. 6. 将 Result Selection 设置为 Equivalent

  7. 7. 刷新并激活结果对象。

需要注意的是,非节点位置处的结果通常来自插值。它适合虚拟测点、试验测点对比和关键空间点监测;如果项目要求读取某个节点 ID 的原始结果,就应该使用节点提取或 DPF 路线。


点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。

ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶

本课程从基础脚本开发到多工况批量计算的自动化实现,手把手教你用Python打通「仿真流程自动化 - 多工况批量计算」全链路,让「重复仿真工作自动化、复杂工况高效计算」从想法变成日常。

我还为付费用户提供VIP群进行交流、答疑服务持续加餐内容、提供定制化培训和咨询服务仿真人才库高薪内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。

仿真秀课程大纲.png

 

代码&命令二次开发通用静力学结构基础多体动力学显式动力学瞬态动力学流-固&热耦合MechanicalMeshing
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-29
最近编辑:1月前
小郭老师
硕士 小郭老师,精通ANSYS开发
获赞 145粉丝 43文章 32课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈