Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Mises Spannung per Python aus FieldOutput

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:   Mises Spannung per Python aus FieldOutput (3134 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Daniel-S
Mitglied
Student

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

Beiträge: 3
Registriert: 14.03.2013

Abaqus 6.10

erstellt am: 14. Mrz. 2013 02:47    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

Hi,

Das ist mein erster Beitrag hier und gleich eine (sicher nicht ganz neue) Frage. Arbeite derzeit mit Abaqus an einigen Homogenisierungen für meine Abschlussarbeit und bin auch fast fertig. Zur Untersuchung der Spannungsverhältnisse an meinem Schalenmodell möchte ich die Mises Spannungen an bestimmten Knoten (Sets sind dort vorhanden) auslesen.
Mittels ProbeValue ist das im CAE kein Problem. Leider finde ich trotz Manual nicht den korrekten Befehl das mittels Python zu erledigen und weder rpy-File noch mit Macro wird der ProbeValue aufgezeichnet.

Zahlreiche Ansätze bringen mich nicht recht zum Ziel.

o1 = session.openOdb(name=odb_name)
o1.steps['Step1'].frames[-1].fieldOutputs['S'].values[0].mises

liefert mir einen Zahlenwert. Leider habe ich keine Ahnung zu welchem Punkt dieser gehört.

Einen bestimmten Punkt/Set wähle ich mit:
o1.steps['Step1'].frames[-1].fieldOutputs['S'].getSubset(region=o1.rootAssembly.nodeSets['K-4M']).values[0].mises
IndexError: Sequence index out of range

Generell ist mir die Bedeutung des IndexErrors klar, habe aber leider keinen Ansatz auf welchen Index er sich bezieht.

Vermutlich ist es nur ein kleiner Verständnisfehler, leider komme ich aber nicht weiter.
Die Arbeit ist quasi fertig, es fehlen nur noch die Spannungen.

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

schneitzmaster
Mitglied
Maschbau-Ingenieur


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

Beiträge: 12
Registriert: 09.01.2013

erstellt am: 14. Mrz. 2013 10:35    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 Nur für Daniel-S 10 Unities + Antwort hilfreich

Hi,
ich glaube dein erster Beitrag liefert dir zum ersten Element und zum ersten Integrationspunkt die entsprechende Mises-Spannung.
Über

o1.steps['Step1'].frames[-1].fieldOutputs['S'].values[0].elementLabel

kannst du dir die entsprechende Elementnummerierung ausgeben lassen.
Jetzt musst du nur noch herausfinden welches elementLabel das Element in deinem Set hat.
Das sollte über die getSubset funktion funktionieren.
Dann kannst du über die entsprechende value-Nummerierung auf die gewünschte Mises-Spannung zu greifen.

P.S.: Verwende doch mal die Funktion prettyPrint(...). Da kann man sehr schön die vorhandenen instanzen der Python-Objekte sehen.

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

Daniel-S
Mitglied
Student

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

Beiträge: 3
Registriert: 14.03.2013

Abaqus 6.10

erstellt am: 14. Mrz. 2013 12:04    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

Hi, erstmal Danke für den Ansatz!

Der erste Befehl liefert wirklich die Misesspannung am ersten Integrationspunkt des ersten Elements. Allerdings habe ich 4 Integrationspunkte (S4 Elemente) und 5 Sectionpoints. Wahllos den ersten Punkt abzugreifen erscheint mir etwas willkürlich. Wie komme ich denn an die anderen Werte des Elements? Und genaugenommen suche ich ja auch nach der Spannung in einem Knoten (meine Sets bestehen nur aus genau einem Knoten) und nicht einem Element.

Der prettyPrint ist schonmal ein guter Hinweis zum Weitersuchen.
Leider liefert er mir
prettyPrint(o1.steps['Step1'].frames[-1].fieldOutputs['S'].getSubset(region=o1.rootAssembly.nodeSets['K-4M']).values)
[]
Bedeutet das, dass für Set K-4M keine Daten vorliegen? Mit dem ProbeValue erhalte ich eine Misesspannung am Knoten. Irgendwo muss die doch hinterlegt sein...

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

schneitzmaster
Mitglied
Maschbau-Ingenieur


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

Beiträge: 12
Registriert: 09.01.2013

erstellt am: 14. Mrz. 2013 13:09    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 Nur für Daniel-S 10 Unities + Antwort hilfreich

Hi
hast du den prettyPrint mal nachgeschaut?
du verwendest den vielleicht nicht ganz korrekt.
Besser wäre

prettyPrint(o1.steps['Step1'].frames[-1].fieldOutputs['S'].getSubset(region=o1.rootAssembly.nodeSets['K-4M']).values,3)

Jetzt kann man bis zu 3 instanzen tief schauen. Bei einem großen Model wird die ausgabe allerdings sehr länglich. Von daher fange doch am besten so an:

prettyPrint(o1.steps['Step1'].frames[-1].fieldOutputs['S'].getSubset(region=o1.rootAssembly.nodeSets['K-4M']).values[0],3)

Dann kannst du dir die spezifischen Werte des aktuellen Integrationspunktes heraussuchen und ein Kritierum finden mit dem du dann den Integrationspunkt deines Sets identifizieren kannst.

Weiterhin glaube ich stehen nur Werte wie Mises-Spannung usw. für die Integrationspunkte der Elemente zur Verfügung.
Wenn du die auf einem Knoten brauchst musst du interpolieren. Sprich alle Elemente die an dem Knoten deines Sets angrenzen heraussuchen. Dann alle Mises-Spannungen der Integrationspunkte bestimmen und über die Formfunktionen (ABAQUS-Manual) auf den Knotenpunkt interpolieren.
Vielleicht hilft ja auch erst mal nur den Mittelwert der Integtationspunktwerte weiter.
So wäre jedenfalls mein Ansatz. Vielleicht irre ich mich ja auch aber ich denke erst der Viewer macht es möglich den Knoten Werte wie Spannungen usw. zuzuweisen und das auch nur im Modus "Banded".

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

Daniel-S
Mitglied
Student

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

Beiträge: 3
Registriert: 14.03.2013

Abaqus 6.10

erstellt am: 14. Mrz. 2013 19:27    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

Hi,

danke für die Infos. Ich sehe mittlerweile das Problem. Da ich sowieso nicht an exakten Werten, sondern bloß an dem generellen Verhalten der Spannungen auf Geometrieänderungen interessiert bin, werde ich mit den Elementen rund um meine Ecken/Kanten arbeiten und deren Spannungen an den Integrationspunkten untersuchen.

Viele Grüße,
Daniel

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)2020 CAD.de | Impressum | Datenschutz