Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Python Script - Nodeliste Reihenfolge ändern

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:  Python Script - Nodeliste Reihenfolge ändern (889 / mal gelesen)
aeaelxndr
Mitglied


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

Beiträge: 9
Registriert: 25.03.2016

erstellt am: 17. Apr. 2016 17:48    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

Hallo,

als Modell habe ich einen Würfel an dem ich die Knoten einer Seite (rechts) in ein Set schmeiße und das selbe mit den Knoten auf der gegenüberliegender Seite (links).
Jetzt möchte ich die Reihenfolge dieser Python-Listen (bzw. Sets) so anpassen, dass die gegenüberliegenden Punkte in der jeweiligen Liste auf der selben Stelle stehen.
also:
rechts(1,2,3,4)
links(5,6,7,8)
Nodelabel 5 ist der gegenüberliegende Punkt von N.lbl. 1; N.lbl. 6 ist der ggü.liegender Punkt von N.lbl 2, etc. pp.


Wenn wir davon ausgehen, dass die Seiten normal zur x-Achse sind und wir die Reihenfolge von "rechts" so bestehen lassen, dann müsste ich die Reihenfolge von links anpassen. Die Idee hierbei ist, dass ich eine neue sortierte Liste generiere:
Wenn y-Koordinate und z-Koordinate mit den Koordinaten des ersten Knotens in rechts übereinstimmt, dann füge es der Liste hinzu.
Im nächsten Schritt soll er dann den Knoten hinzufügen, dessen y- & z-Koordinaten mit dem zweiten Eintrag aus "rechts" übereinstimmen.

Habt ihr eine Anregung/Idee, wie ich das anstellen kann? Ich arbeite mich erst seit wenigen Tagen in Python ein und wäre für jede Hilfe dankbar!
Kennt ihr hilfreiche Websites bei dem ggf Algorithmen etc in Bezug auf Abaqus zur Verfügung gestellt werden?

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 19. Apr. 2016 21: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 Nur für aeaelxndr 10 Unities + Antwort hilfreich

Das hat nichts direkt mit Abaqus zu tun. Alle Daten stehen als Text in der .inp. Du musst diese lesen und dir überlegen, wie du dann ans Ziel kommst. Das ganze ist nicht trivial, da du außerdem an allen anderen Stellen die geänderten Knotennummern austauschen musst. Z.B. bei der Elementdefinition oder in Knotensets.

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

hempres
Mitglied



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

Beiträge: 84
Registriert: 30.06.2008

erstellt am: 20. Apr. 2016 09:23    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 aeaelxndr 10 Unities + Antwort hilfreich

Hi,

so wie ich es verstanden habe geht es nur um Sets. Das habe ich auch schon einmal gemacht um periodische Randbedingungen aufzugeben. Allerdings habe ich Matlab verwendet, weil ich damals Python noch nicht mochte ;-)
Du musst eben "nur" den jeweiligen Knoten finden, der z.B. die (fast) gleiche x-Koordinate auf der gegenüberliegende Seite hat. Ist eben etwas Programmierarbeit. Zusätzlich brauchst Du die Option unsorted in *Nset.

Grüße

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

aeaelxndr
Mitglied


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

Beiträge: 9
Registriert: 25.03.2016

erstellt am: 20. Apr. 2016 17:34    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

Jap, es geht nur um Sets.

Habe es mittlerweile mit Python umgesetzt. Ich lege einfach einen neuen Set an und Vergleich die zwei Koordinaten des 2. unsortierten Sets mit dem 1. Set. Den ersten Set nehme ich dabei als vorgegebene Reihenfolge an.
Ich benötige es ebenfalls für die PBC.
Hat das irgendwelche Vorteile es mit Matlab zu machen?! Oder hast du es mehr oder weniger aus "Bequemlichkeit" gemacht, weil Abaqus dazu ein Paper mit entsprechenden Code zur Verfuegung stellt.

Gruß

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

aeaelxndr
Mitglied


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

Beiträge: 9
Registriert: 25.03.2016

erstellt am: 20. Apr. 2016 17:36    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

Beim zweiten mal durchlesen, habe ich die Antwort auf meine Frage erhalten.... Tut mir leid 
Arbeite mich auch mühselig in Python momentan ein...

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

aeaelxndr
Mitglied


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

Beiträge: 9
Registriert: 25.03.2016

erstellt am: 22. Apr. 2016 12:05    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 könnte eure Hilfe wieder gebrauchen:

Wie ermittele ich am einfachsten die gemittelte Spannungskomponenten?
Meine manuelle Vorgehensweise(noch ohne Skript) ist so, dass ich mir die "Total Spannungskomponente" in der Resultsfile hernehme und diese durch die Knotenanzahl teile.

Durch diese Vorgehensweise kann ich mit guter Näherung die Materialdaten eines homogenen Stahlblock "reproduzieren" (als Validierung).
Meine Frage hierzu zunächst, gibt es eine einfache Möglichkeit diesen Total Wert direkt abzufragen? Oder müsste ich die Spannungswerte jedes einzelnen Knotens aufsummieren. Auch hier: Wie erhalte ich DIE "Liste" mit allen Spannungswerten?

Eines meiner RVE funktioniert einwandfrei mit dem Python Skript. Beim zweiten habe ich Probleme, da die relevanten Koordinaten nicht exakt den selben Wert teilen, sondern kleine Abweichungen gibt. Gibt es hier eine simple Möglichkeit das selbe Knotennetz auf gegenüberliegende Seiten zu projetieren?

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

hempres
Mitglied



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

Beiträge: 84
Registriert: 30.06.2008

erstellt am: 22. Apr. 2016 13:00    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 aeaelxndr 10 Unities + Antwort hilfreich

Ich habe Deine Mittelung nicht verstanden. Wo geht bei Dir das Volumen ein.
Die einfachste Methode, die ich kenne um an die gemittelte Spannung zu kommen, ist über die Reaktionskraft eines Dummyknotens, den Du für die Equations verwendest. Dann muss man nur noch durch die Fläche teilen und bekommt direkt die Spannung.

Eine Methode, um gegenüberliegende Knoten zu bekommen, kenne ich nicht. Zur not tuen es aber gleichmäßig vernetzte Schalenelemente, die Du auf die Oberfläche deines RVE klebst. Habe ich zwar auch noch nie gemacht, sollte aber gehen.

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

aeaelxndr
Mitglied


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

Beiträge: 9
Registriert: 25.03.2016

erstellt am: 24. Apr. 2016 12:26    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 berechne die Nachgiebigkeitsmatrix zunächst.
Bei einer Aufbringung von eps_11 bestimme ich C11, C21, und C31
eps_22: (C12),C22,C32 usw...
eps_33: C33
gamma_23: C66
So brauche ich nur 4 statt 6 Steps.
Hieraus kann ich anschließend die homogenisiserten Materialdaten berechnen.
Ich habe die Längen des RVE mit in die Equations integriert. So bleibt mir eine Umrechnung erspart bei der Ermittlung der gemittelten Spannung. Dennoch sollte ich die Spannungswerte der Integrationpoints nehmen.

Danke für den Tipp mit den Shell-Elementen. Du meinst, dass ich also diese Shell-Elemente erzeuge, diese dann mit den Oberflächen des RVE verklebe und mich dann auf diese Shellelemente in den Equations beziehe - stimmt das so?
Alternativ versuche ich den RVE zu partitionieren, sodass sich hoffentlich ein gleihcmäßiges Muster ergibt. Arbeite jedoch noch daran...


Bei deiner Methode mit den Referenzknoten erhalte ich jedoch bei der Auftragung von eps_11 a

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