Ich arbeite grad an python program die von Mises Dehnung ausrechnet (Formel von Nastran).
Soweit so gut ich nehme principal Dehnungen und kombiniere sie an von Mises Dehnung. Es funktioniert.
Jetzt wollte ich die Daten kombinieren da ich Werten für SPOS und SNEG bekomme und ich interessiere an reine Maximum von allen Section Point (was immer an SPOS oder SNEG vorkommt).
Das habe ich bis jetzt:
from odbAccess import *
from abaqusConstants import *
#import sys
#sys.path.append(r'/share/amp/abaqus/Plugins')
#currentOdb = session.odbs['test.odb']
#scratchOdb = session.ScratchOdb(odb=currentOdb)
odb=openOdb(path='test.odb')
step1 = odb.steps.values()[0]
#print step1.name
#sessionStep = odb.Step(name='Custom Step',description='Step for vMises Strains', domain=TIME,timePeriod=1.0)
sessionStep = odb.steps[step1.name]
for b in range(len(odb.steps[step1.name].frames)) :
s1f1_LE = odb.steps[step1.name].frames[b].fieldOutputs['LE']
tmpField = sqrt(s1f1_LE.getScalarField(
invariant=MAX_INPLANE_PRINCIPAL)*s1f1_LE.getScalarField(
invariant=MAX_INPLANE_PRINCIPAL)+s1f1_LE.getScalarField(
invariant=MIN_INPLANE_PRINCIPAL)*s1f1_LE.getScalarField(
invariant=MIN_INPLANE_PRINCIPAL)-s1f1_LE.getScalarField(
invariant=MIN_INPLANE_PRINCIPAL)*s1f1_LE.getScalarField(
invariant=MAX_INPLANE_PRINCIPAL))/1.5
sessionFrame = sessionStep.frames[b]
sessionField = sessionFrame.FieldOutput(name='LE vMises',description='vMises Strain (Nastran)', type=SCALAR)
sessionField.addData(field=tmpField)
odb.save()
Es funzt mit explicit, geht alle Schritte durch und rechnet die neue Output, jetzt wollte ich MaxEnvelope Funktion benutzen, aber hier wird das Manual eher unklar und ich wiederum ratlos...
[Diese Nachricht wurde von Chickenlover am 07. Jul. 2012 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP