使用 Mechanical 脚本获取联合反作用力和力矩
介绍
在上一篇文章中,我们详细介绍了在 Ansys Mechanical 静态/瞬态结构、随机振动和/或响应谱分析中提取所有螺栓连接的反作用力的过程。他,我们将讨论如何使用 Python 代码结果对象对关节连接执行相同的作,这对于随机振动/响应谱分析非常有用,因为没有可用的关节探针结果对象。
示例模型
为了说明提取关节反应的过程,我们有一个示例模型,该模型利用一个衬套接头、一个普通接头和一个梁连接将两个支架连接在一起。在这里,我们重新定向了关节参考坐标系,以表明产生的力/力矩反作用力解析了关节参考坐标系。我们在任意方向上施加一个力,以便在所有方向上都获得力矩;下图中未显示的是平面支架底面上的固定支撑。
Python 代码结果对象
要输出力/力矩反作用力结果,可以使用 Mechanical 脚本,但必须手动执行。每次运行解决方案时输出结果的自动方法是使用带有“Post 后”目标回调的 Python 代码结果对象。要插入 Python Code 对象,只需右键单击 Solution 并选择 Insert -> Python Code。然后,将可下载代码复制并粘贴到 Python Code (Python 代码) 窗口中。
Target 回调
设置目标回调会指示 Mechanical 何时应执行 Python Code 结果对象。适当的 Target 回调是“Post 之后”,因为我们希望读取结果文件并提取结果,而无需触发其他求解。这类似于添加 APDL 命令片段,然后在解决方案完成后选择“执行 Post Commands”。在下图中,我们看到 Python Code 对象的 Target Callback 设置:
用户定义的单位选择
在代码中,我们能够为长度和力选择所需的输出单位,从中得出的单位将是一致的。红色括号中的线条允许用户输入所需长度和力单位的字符串值。注意:这些单位区分大小写,必须是 Ansys Mechanical 可以理解的缩写;有关详细信息,请参阅 Mechanical 帮助。
连接和评估结果
在最初创建 Python Code 对象之后,或者对其进行任何更改后,必须通过右键单击 Python Code 对象并选择“Connect”来将 Python Code 对象“连接”到 Mechanical。在下图中,我们看到这个需要连接。
连接对象后,我们会看到它需要进行评估,旁边有一个黄色闪电表示,如下所示:
最后,将执行 Evaluate All Results 和 Python Code 对象。
结果比较
执行时,Python 代码结果对象会将一个文件写入 Workbench 项目的 user_files 目录,该目录以分析系统类型和名称命名。静态结构 系统的结果快照如下图所示,结束时间结果以黄色突出显示:
下图显示了衬套的反作用力和力矩,并指出 Python 代码结果对象中的电子表格数据与结果探针的电子表格数据相匹配:
| |
| |
结论
总之,我们引入了一个 Python Code 结果对象,该对象从结果文件中检索力和力矩结果,并将结果输出到 Workbench 项目的 user_files 目录中的电子表格文件中。示例问题显示了静态结构系统的过程,但是相同的代码适用于没有反应探针的随机振动和响应谱分析。
可下载资源
https://4420950.fs1.hubspotusercontent-na1.net/hubfs/4420950/joint_and_beam_reactions_pymech.zip