Abaqus XYPlot speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
katha
User
Beiträge: 1
Registriert: Mittwoch 10. September 2014, 09:47

Hallo zusammen,
ich schreibe ein Skript um mir die Spannung über die Plattendicke (z) in Abaqus ausgeben und plotten zu lassen. Dazu importiere ich einfach die odb. Ich gebe die Koordinaten x und y ein und erhalte dann die XY-Daten über XYDataFromPath in Abaqus und kann diese plotten. Die einzelnen Bilder möchte ich aber nicht jedes Mal einzeln aus Abaqus heraus abspeichern, sondern hätte gerne, dass die Plots direkt gespeichert werden. Er gibt mir aber jedes Mal nur den leeren Viewport aus. Der Plot wird nicht geladen. Ich habe es auch mit den Befehl: xyPlot.XYDataFromPath probiert, aber da heißt es dann, dass er beim displayedObject ein XYPlot erwartet und keine XYData.

Mein Skript vereinfacht für die Spannung S11:

Code: Alles auswählen

# Eingabe
x1 = 100
y1 = 100
Elementanzahl = 5

# Import
from odbAccess import *
from abaqus import *
from abaqusConstants import *
import visualization
import xyPlot

odb = openOdb(path='PaganoPlatte.odb')

lastFrame = odb.steps[odb.steps.keys()[-1]].frames[-1]
stress = lastFrame.fieldOutputs['S']

odb = session.openOdb(name='PaganoPlatte.odb')

session.viewports['Viewport: 1'].setValues(displayedObject=odb)


# Variablendefinition
variable_S11= (('S',INTEGRATION_POINT, ((COMPONENT, 'S11'),)),)

# Pfaddefinition
z_end = 20
z_0 = -20
Schritte = (z_end - z_0)/Elementanzahl

pathPts = ((x1, y1, z_0), (x1, y1, z_end))
newpath = session.Path(name='PtLocNbd', type=POINT_LIST, expression=pathPts)

# XY - Data from Path
session.XYDataFromPath(name='S11LocNbd', path=newpath, pathStyle=UNIFORM_SPACING, includeIntersections=False, shape=UNDEFORMED, labelType=TRUE_DISTANCE_Z, variable=variable_S11, numIntervals=Schritte)


# S11 - Hier muss irgendetwas falsch sein oder fehlen!? 
xyp_S11 = session.XYPlot('Stress S11')
session.viewports['Viewport: 1'].setValues(displayedObject=xyp_S11)
session.printToFile(fileName='Stress_S11', format=TIFF, canvasObjects=(session.viewports['Viewport: 1'], ))

x_0 = session.xyDataObjects['S11LocNbd']

session.writeXYReport(fileName='Pagano.rpt', xyData=(x_0, ))

Was mache ich falsch?

Vielen Dank schon mal für eure Hilfe.

Gruß Katha
Zuletzt geändert von Anonymous am Mittwoch 10. September 2014, 11:10, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Antworten