You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyAnsis获取elastic_strain_principal_1结果与Ansys Desktop不一致问题

问题描述

我尝试从rst格式的仿真结果文件中提取数据,初始代码如下:

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

我需要获取第一主弹性应变,于是创建了对应的算子实例:

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))

之后创建场容器并提取数据:

result_fields_container = op.outputs.fields_container()
field = result_fields_container[0] #仅考虑单个时间步,所以取[0]
field_data = field.data

按我的理解,这段代码应该能提取最后时间步所有节点的第一主弹性应变,但结果和Ansys Desktop的输出差异极大——两者的最大值相差1.5个单位。我搞不懂PyAnsys的运行逻辑,也找不到结果不符的原因。更让我困惑的是,用完全相同的代码结构提取stress_principal_1(第一主应力)时,PyAnsys和Ansys Desktop的结果完全一致。

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:50:04