Abaqus Итого по каждому компоненту стресса
У меня есть Ассамблея, которая состоит только из одной части. Я пытаюсь получить ИТОГО от каждого ударного компонента ВЕСЬ сборки / части в Python. Моя проблема с моим текущим методом состоит в том, что требуются годы, чтобы суммировать напряжение каждого элемента (см. Код ниже). Файлы отчетов дают мне итоговые данные за секунду, поэтому должен быть лучший способ получить эти значения через odb-файл.
Благодарен за любую подсказку!
odb = session.openOdb(name='C:/temp/Job-1.odb')
step_1 = odb.steps['Step-1']
stress_1=step_1.frames[-1].fieldOutputs['S']
#Step-1
sum_Sxx_1=sum_Syy_1=sum_Szz_1=0
for el in range(numElemente):
Stress=stress_1.getSubset(region=Instance.elements[el],position=CENTROID, elementType='C3D8R').values
sum_Sxx_1 = sum_Sxx_1 + Stress[0].data[0]
sum_Syy_1 = sum_Syy_1 + Stress[0].data[1]
sum_Szz_1 = sum_Szz_1 + Stress[0].data[2]
1 ответ
Прямой доступ Python к значениям действительно очень медленный (у меня были те же проблемы). Вы можете написать файл отчета с каждым значением, а затем снова работать с текстовыми файлами с помощью python. Просто подайте файл построчно, найдите соответствующую строку, разбейте ее, чтобы получить напряжения, суммируйте их и продолжайте.