Получите elastic_strain_principal_1 от PyAnsys.Python

Программы на Python
Anonymous
Получите elastic_strain_principal_1 от PyAnsys.

Сообщение Anonymous »

Пытаемся получить некоторые данные из моделирования, сохраненного в первом файле.
Изначально у нас есть:

Код: Выделить всё

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 Desktop App, если я возьмите максимум в field.data и максимальную главную деформацию 1 (которая в данном конкретном случае всегда происходит в конце моделирования) в приложении Ansys Deskot разница составляет 1,5 единицы.
Мне трудно понять, как работает PyAnsys и почему значения не совпадают.
Кроме того, я выполняю ту же операцию для стресса_principal_1 с аналогичной структурой кода, в этом случае значения верны, и PyAnsys, и приложение Ansys Desktop App возвращают одинаковые значения, что приводит к еще большей путанице.

Подробнее здесь: https://stackoverflow.com/questions/788 ... om-pyansys

Вернуться в «Python»