Я пытаюсь извлечь значения фон Мизеса, используя сценарии Python в ABAQUS, используя этот код ниже (кстати, я могу извлечь температуру, используя аналогичный код):
import xlwt
import numpy as np
from odbAccess import *
odb = visualization.openOdb('C:/Users/'+Name+'.odb')
frame=odb.steps['AStep'].frames[-1]
dispNode = odb.rootAssembly.nodeSets['UPPER']
TEMP= frame.fieldOutputs['S'].getSubset(region=dispNode).values
COORD= frame.fieldOutputs['COORD'].getSubset(region=dispNode).values
sortie = open('Resu_PE_maillage.txt', 'w')
book = xlwt.Workbook()
sh = book.add_sheet("sheet")
col1_name = 'X Coordinate'
col2_name = 'Y Coordinate'
col3_name = 'Z Coordinate'
col4_name = 'Stress'
sh.write(0, 0, col1_name)
sh.write(0, 1, col2_name)
sh.write(0, 2, col3_name)
sh.write(0, 3, col4_name)
for NT in range(1,len(TEMP)):
sh.row(NT).set_cell_number(0,COORD[NT].data[0])
sh.row(NT).set_cell_number(1,COORD[NT].data[1])
sh.row(NT).set_cell_number(2,COORD[NT].data[2])
sh.row(NT).set_cell_number(3,TEMP[NT].data[1])
if i<10:
book.save('C:/Users/'+'00'+str(i)+'.xls')
if 9<i<100:
book.save('C:/Users/'+'0'+str(i)+'.xls')
if 99<i<1000:
book.save('C:/Users/'+str(i)+'.xls')
Но это не работает для стресса.
Можешь мне сказать почему??
xyDataListFromField
(который экстраполирует значения и немного медленный), см. здесь. > - person agentp   schedule 10.10.2016*Element Output, POSITION=NODES
в файл ввода перед запуском анализа. Остерегайтесь, таким образом вы получите отдельное значение напряжения от каждого элемента, который имеет общий узел. - person agentp   schedule 10.10.2016