Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Report Datei via Python Script ausgeben lassen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Report Datei via Python Script ausgeben lassen (1793 mal gelesen)
vw-student
Mitglied
Berechnungsingenieur


Sehen Sie sich das Profil von vw-student an!   Senden Sie eine Private Message an vw-student  Schreiben Sie einen Gästebucheintrag für vw-student

Beiträge: 543
Registriert: 07.06.2005

IDEAS 12m4
ABAQUS/CAE 6.10-1
ADAMS MD R3
Matlab R2007a
Mathcad 14

erstellt am: 15. Mrz. 2010 17:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Der Start meiner Jobs über ein Python Script läuft dank des Forums. Es klappt auch, dass ich in einer Schleife alle in einem bestimmten Ordner liegenden inp Dateien durchrechnen lasse. Nun würde ich auch gern für jede odb ein rpt File automatisiert ausgeben lassen. Da ich echt keine Ahnung von Python habe, habe es über den Macro Manager versucht und mir ein Script aufgezeichnet. Nur leider funktioniert es nicht so ganz, wenn ich dieses Script mit Variablen versehen will und in mein eigentliches Script einbinde.
Vielleicht hat ja jemand ein kleines Template für mich 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

vw-student
Mitglied
Berechnungsingenieur


Sehen Sie sich das Profil von vw-student an!   Senden Sie eine Private Message an vw-student  Schreiben Sie einen Gästebucheintrag für vw-student

Beiträge: 543
Registriert: 07.06.2005

IDEAS 12m4
ABAQUS/CAE 6.10-1
ADAMS MD R3
Matlab R2007a
Mathcad 14

erstellt am: 16. Mrz. 2010 11:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also so langsam verzweifel ich. Ich bekomm es einfach nicht hin mir die Variable COORD in rpt File via Python schreiben zu lassen.
Anbei mal mein Script. Evtl kann ja jemand helfen.
Code:
#from abaqus import *
#from abaqusConstants import *
import os

abaquscommand = 'abaqus job='

#sollte unbeding verwendet, da sonst Rechnungen parallel laufen
modus = ' interactive' 

#Wieviele CPUS sollen verwendet werden?           
ncpus = ' cpus=8'

for i in range(7,9):
jobname = 'dateiname'+str(i)
oscommand = abaquscommand +jobname +modus +ncpus
os.system(oscommand)
print 'Job '+jobname+' beendet'
################################################################################################
odbpath = jobname+'.odb'
o1 = session.openOdb(name=odbpath)
session.viewports['Viewport: 1'].setValues(displayedObject=o1)

odb = session.odbs[odbpath]
nf = NumberFormat(numDigits=9, precision=0, format=ENGINEERING)
session.fieldReportOptions.setValues(printTotal=OFF, printMinMax=OFF,
    numberFormat=nf)
session.writeFieldReport(fileName=jobname+'.rpt', append=OFF, sortItem='Node Label',
    odb=odb, step=1, frame=1, outputPosition=NODAL, variable=(('COORD', NODAL,
    ((COMPONENT, 'COOR1'), (COMPONENT, 'COOR2'), (COMPONENT, 'COOR3'), )), ))

################################################################################################
else:
print 'Ende'
################################################################################################
###############################################################################################


Also wie gesagt: ich habe gestern das erste Mal mit Python gearbeitet. Demzufolge hab ich nicht wikrlich viel Ahnung von Python.
Aktueller Fehler ist folgender: session ist wohl nicht definiert.  

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

vw-student
Mitglied
Berechnungsingenieur


Sehen Sie sich das Profil von vw-student an!   Senden Sie eine Private Message an vw-student  Schreiben Sie einen Gästebucheintrag für vw-student

Beiträge: 543
Registriert: 07.06.2005

IDEAS 12m4
ABAQUS/CAE 6.10-1
ADAMS MD R3
Matlab R2007a
Mathcad 14

erstellt am: 16. Mrz. 2010 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich hab jetzt fast alles so wie ich es will. Die Koordinaten werden in eine txt Datei geschrieben, aber leider versteh ich nicht so ganz was da alles drin steht.
Der Output sieht wie folgt aus:
NodeIDarray([COORD1, COORD2, COORD3], 'd')
NodeIDarray([COORD1, COORD2, COORD3], 'd')
NodeIDarray([COORD1, COORD2, COORD3], 'd')
NodeIDarray([COORD1, COORD2, COORD3], 'd')

Mich stört jetzt das array sowie die Klammern und 'd' am Ende.
Sprich ich brauch die Ausgabe:
NodeID,COORD1,COORD2,COORD3

Wäre nett, wenn mir jemand nen Tipp geben könnte.

Anbei mein Code:

Code:

import os

abaquscommand = 'abaqus job='

#sollte unbeding verwendet, da sonst Rechnungen parallel laufen
modus = ' interactive' 

#Wieviele CPUS sollen verwendet werden?           
ncpus = ' cpus=8'

for i in range(7,9):
jobname = 'dateiname'+str(i)
oscommand = abaquscommand +jobname +modus +ncpus
os.system(oscommand)
print 'Job '+jobname+' beendet'
################################################################################################
from odbAccess import *
from abaqusConstants import *

odbpath = jobname+'.odb'
odb = openOdb(path=odbpath)
lastframe = odb.steps['name'].frames[-1]
coordinates = lastframe.fieldOutputs['COORD']
nodes = coordinates.getSubset(region=odb.rootAssembly.nodeSets[' ALL NODES'])
datei = file(jobname+'.rpt','w')
for x in nodes.values:
  datei.write(str(x.nodeLabel)+str(x.data)+'\n')
datei.close()
odb.close()

################################################################################################
else:
print 'Ende'
################################################################################################
################################################################################################


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

vw-student
Mitglied
Berechnungsingenieur


Sehen Sie sich das Profil von vw-student an!   Senden Sie eine Private Message an vw-student  Schreiben Sie einen Gästebucheintrag für vw-student

Beiträge: 543
Registriert: 07.06.2005

IDEAS 12m4
ABAQUS/CAE 6.10-1
ADAMS MD R3
Matlab R2007a
Mathcad 14

erstellt am: 16. Mrz. 2010 18:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hat sich erledigt!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz