首页 > 编程问答 >从 PyAnsys 获取 elastic_strain_principal_1

从 PyAnsys 获取 elastic_strain_principal_1

时间:2024-08-07 14:55:37浏览次数:7  
标签:python pyansys

尝试从第一个文件中保存的模拟中获取一些数据。

最初我们有:

from ansys.dpf import core as dpf
model = dpf.Model(r'.\file.rst')

我们想要获取 elastic_strain_principal_1 我们创建一个 操作符实例 来执行它:

op = dpf.operators.result.elastic_strain_principal_1()

为了填充该实例的参数,我们将其连接到模型:

op.inputs.data_sources.connect(model.metadata.data_sources)

尽管这是默认设置的,但我们将确保我们得到最后一个时间步中的主应变第一个分量:

time_scoping = model.metadata.time_freq_support.time_frequencies.data[-1]
op.inputs.time_scoping.connect(float(time_scoping))

然后我们使用输出创建一个 filds 容器并获取数据:

result_fields_container = op.outputs.fields_container()
field = result_fields_container[0] #only time considered so [0]
field_data = field.data

据我所知,我们获得了最后一个所有可用节点上的弹性应变主元时间步长,但如果我在 Ansys Deskot 中取 field.data 中的最大值和最大主应变 1(在这种特殊情况下总是发生在仿真结束时),那么到目前为止,这与 Ansys Desktop App 的结果不匹配应用程序存在 1.5 个单位的差异。

我无法理解 PyAnsys 的工作原理以及值不匹配的原因。

此外,在本例中,我正在使用类似的代码结构对 stress_principal_1 执行相同的操作值是正确的,PyAnsys 和 Ansys 桌面应用程序返回相同的值,这会导致更多混乱。


代码看起来不错,你对PyAnsys工作流程的理解也是正确的。然而,主应力和主应变值之间存在细微但至关重要的区别,这可能解释了你在一种情况下观察到的差异而不是另一种情况。该区别在于 结果解释

  • 主应力 是不依赖于坐标系的方向量。无论你的模型方向如何,最大主应力始终是相同的。这就是为什么你在 PyAnsys 和 Ansys Desktop 中都能获得相同的主应力值。

  • 主应变 也是方向量,但它们 依赖于用于计算它们的位移的参考状态 。Ansys Mechanical 可以使用不同的参考状态来计算应变,这取决于你如何设置求解。

以下是你在 PyAnsys 和 Ansys Desktop 之间看到主应变值差异的可能原因:

  1. 不同的参考状态: 检查 PyAnsys 和 Ansys Desktop 是否使用相同的参考状态来计算应变。这包括初始坐标系和任何应用的预应变。确保两个环境中的“应变选项”设置相同(例如,对数应变、工程应变)。

  2. 不同的结果解释: Ansys Desktop 可能会对显示的最大主应变值应用额外的处理或解释。这可能包括平均化技术或考虑特定于模型设置的因素。

  3. 时间历程插值: 你正在从最后一个时间步获取数据。如果你的求解使用非线性材料行为或大的变形,则在时间步之间插值应变会导致轻微差异。

要解决此差异,请尝试以下操作:

  1. 验证应变定义: 在 PyAnsys 和 Ansys Desktop 中,仔细检查用于计算主应变的精确定义和设置。比较“应变选项”和其他相关参数。

  2. 检查坐标系: 确保在两个环境中使用相同的坐标系来提取结果。

  3. 提取特定节点的结果: 不要依赖于最大值,而是尝试从 PyAnsys 和 Ansys Desktop 中的同一个特定节点提取主应变值,然后进行比较。

  4. 详细输出: 在 Ansys Mechanical 中启用更详细的输出,以了解 Desktop 版本如何计算和报告最大主应变值。

  5. 简化模型: 尝试使用简化的模型(例如,具有线性材料行为)来查看差异是否仍然存在。

通过仔细检查和协调 PyAnsys 和 Ansys Desktop 中的这些设置和解释,你应该能够确定主应变值差异的原因并确保一致性。

标签:python,pyansys
From: 78842229

相关文章

  • 将普通 python 文件导入另一个文件时出现 AttributeError
    我是新手。我正在尝试将简单的python文件导入到我的主文件中。相同的代码在我的mac上工作,但在我的电脑上不起作用。我不断收到此错误消息。“AttributeError:模块‘logo’没有属性‘hammer_logo’”第一个文件拍卖.py代码importlogoprint(logo.hammer_logo)第......
  • 使用python读取mysql数据,并记录到本地的文件中
    上次写过一次读取sqlserver数据,写入本地文件。今天分享一下mysql的。原理相似,希望对大家有小小的帮忙PS,我是3.6.13版本python,上一版本用包mysql-connector,一直不成功,查询官方文档,发现这个版本的PYTHON简直是奇葩的存在了。基本所有版本都支持,就是几个小版本排除在外了。......
  • python合并音视频-通过moviepy模块合并音视频
    ......
  • esp32安装circuitpython
    安装Thonnyhttps://thonny.org/在Thonny中安装circuitpython在配置解释器中选择circuitython然后点击右下角“安装或更新...“variant这里我选择了DOITesp32DevelopmentBoard(试过其他的一些个,不知道为什么安装完之后会无限重启,所以最后选择了这个)烧录完之后,重新连接,Th......
  • 利用Python进行金融数据分析的全面指南【文末送书】
    文章目录Python金融数据分析技术文章Python金融数据分析【文末送书】Python金融数据分析技术文章金融数据分析在现代金融行业中扮演着至关重要的角色。通过使用Python编程语言,我们可以对大量金融数据进行处理、分析和可视化,从而获得有价值的洞察。本篇文章将介绍如何......
  • python和sliver交互
    开源第三方库:https://sliverpy.readthedocs.io/en/latest/getting-started.html#connect-example代码示例:importosimportasynciofromsliverimportSliverClientConfig,SliverClientCONFIG_PATH=os.path.join('../sliver/','moloch_127.0.0.1.cfg')......
  • 不写代码,这样使用Python seaborn、matplotlib
    今天分享一个PyQt5GUI工具,动动鼠标拖拽就使用Python的Matplotlib、Seaborn进行绘图,并导出高清PDF。sviewgui安装pip install sviewguisviewgui使用使用很简单,因为,他只有一个方法啊:buildGUI();下面以tips.csv数据和boxplot为例介绍sviewgui的使用。以下三种方法均可......
  • 零基础学习人工智能—Python—Pytorch学习(一)
    前言其实学习人工智能不难,就跟学习软件开发一样,只是会的人相对少,而一些会的人写文章,做视频又不好好讲。比如,上来就跟你说要学习张量,或者告诉你张量是向量的多维度等等模式的讲解;目的都是让别人知道他会这个技术,但又不想让你学。对于学习,多年的学习经验,和无数次的回顾学习过程,都......
  • 【Python】网络编程
    计算机网络的介绍计算机的发展经历了以下几个阶段:阶段时间物理器件第一阶段1946年到20世纪50年代后期电子管第二阶段20世纪50年代后期到20世纪60年代中期晶体管第三阶段20世纪60年代中期到20世纪70年代初期中小规模集成电路第四阶段20世纪70年代初期至今大规模集成电路1.通......
  • 猫头虎分享 Python 知识点:pandas--info()函数用法
    ......