2017-05-04 2 views
2

Ich versuche, an jedem Integrationspunkt in Abaqus Energie zu extrahieren. Ich kann es für Spannungen oder Belastungen tun, aber ich kann nicht für die energetischen Mengen tun. Der erhaltene Fehler ist: „KeyError:‚ELEN‘“, aber in Abaqus ist es das gute Keyword ... Darunter meinen Code ist es zu extrahieren:So fordern Sie die Energiefeldausgabe in ABAQUS an Python

from odbAccess import * 
import numpy as np 

odb = openOdb(path='C:/Desktop/Fish1.odb') 

# lastFrame = odb.steps['Step-2'].frames[-1] 
lastFrame = odb.steps['Step-1'].frames[-1] 

topCenter = \ 
odb.rootAssembly.instances['PART-1-1'] 
stressField = lastFrame.fieldOutputs['ELEN'] 


field = stressField.getSubset(region=topCenter, 
position=INTEGRATION_POINT, elementType = 'CPS3') 
fieldValues = field.values 

sortie = open('C:/Users/tests.txt', 'w') 
sortie.write('Eleme \t Integ \t\t PE11 \t\t\t PE22 \t\t\t PE12 \n') 


for v in fieldValues: 
    sortie.write('%-10.2f'% (v.elementLabel)) 
    if v.integrationPoint: 
     sortie.write('%-10.2f'% (v.integrationPoint)) 
     sortie.write('%-10.3f\t\t %-10.3f\t\t %-10.3f\t\t %-10.3f\t\t \n'% (v.data[0], v.data[1], v.data[2], v.data[3])) 

sortie.close() 
+0

haben Sie beim Ausführen der Analyse "ELEN" -Ausgabe angefordert? – agentp

+0

Ja natürlich! :) – user3601754

+1

sehen Sie, was 'lastFrame.fieldOutputs.keys()' zeigt. Sie sollten Ihre '.dat' und' .msg' Dateien auch überprüfen, falls die Anfrage aus irgendeinem Grund ungültig ist, sollte es eine Warnung darüber geben. – agentp

Antwort

2

Ich denke, Sie bereits in Abaqus-Viewer, ob der FieldOutput überprüft haben ELEN ist dort verfügbar.

ELEN ist eine ganze Elementvariable, daher kann sie nicht an Integrationspunkten extrahiert werden, da sie dort nicht verfügbar ist.

from odbAccess import * 
import numpy as np 

odb = openOdb(path='C:/Desktop/Fish1.odb') 
lastFrame = odb.steps['Step-1'].frames[-1] 

topCenter = odb.rootAssembly.instances['PART-1-1'] 
stressField = lastFrame.fieldOutputs['ELEN'] 

field = stressField.getSubset(region=topCenter, elementType = 'CPS3') 
fieldValues = field.values 

Obwohl es nicht wirklich die Lösung ist, um die Sie gebeten haben, hoffe ich, dass dies Ihnen helfen wird.

Verwandte Themen