Moin moin.
Im Zuge meiner Diplomarbeit möchte ich mittels eines Python-Skripts den HistoryOutput eines Odb-Files in einer Textdatei auslesen. Während der Simulation wurden für unterschiedliche Frequenzen die resultierenden Oberflächengeschwindigkeiten (V3) berechnet. Zur Auswertung des odb-Files habe ich folgendes Skrpit geschrieben:
FileName = 'Frequenz-Geschwindigkeit_Simulation.txt'
from odbAccess import *
import sys
if len(sys.argv) != 2:
print 'ERROR'
sys.exit(1)
odbPath = sys.argv[1]
odb = openOdb(path=odbPath)
step1=odb.steps['Kraftanregung']
velocity = step1.historyRegions['Node PLATTE_PART-1.25'].historyOutputs['V3'].data
Inc = -1
dispFile = open(FileName,'w')
for t, v in velocity:
Inc = Inc + 1
counter = 0
dispFile = open(FileName,'w')
while counter <= Inc:
v = velocity[counter][1]
t = velocity[counter][0]
dispFile.write('%10.4f %10.4f\n' % (t, v))
counter = counter + 1
dispFile.close()
odb.close()
Mein Problem besteht darin, dass es sich bei V3 um eine komplexe Größe handelt. Das genannte Skript schreibt in das Textfile aber jediglich die Frequenz und den Realteil der Bewegung.
Kann mir vielleicht jemand bitte sagen, wie ich folgendes Format erhalte:
f1 r1 i1
f2 r2 i2
f3 r3 i3
usw.
Ich bedanke mich schon einmal im vorraus für entstehende Mühen.
Mit freundlichen Grüßen,
Sebul
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP