Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Node Set ohne orphan mesh

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:  Node Set ohne orphan mesh (551 / mal gelesen)
Database91
Mitglied
Student


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

Beiträge: 20
Registriert: 18.01.2021

erstellt am: 29. Jan. 2021 15:44    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


NodeSet.JPG


ungekerbteProbe_v4_Momentenlast_MaterialOrientation.txt

 
Hallo zusammen,

ich bräuchte mal wieder Hilfe in Sachen skripting.
Ich habe mein Modell vernetzt und die Berechnung funktioniert auch wunderbar.

Mein Wunsch ist es jetzt die Spannungen an einem Set von Knoten auszuwerten. Da ich die .cae nicht anhängen kann, ist im Anhang ein Bild des Knotensets und mein SKript.

Ich möchte ein Knotenset erstellen, bei dem ich über eine Schleife die Knoten auswähle und aus der Liste dann ein entsprechendes Set erstellt.

Im Postprocessing möchte ich dann für genau dieses Set die Hauptspannungen S11, S22, S33 abgreifen.
Damit es dabei nicht zu einfach und langweilig wird bräuchte ich sowohl die drei Hauptspannungen im globalen Koordinatensystem wie auch in dem MaterialOrientation Koordinatensystem


Ich weiß, es ist viel, was ich möchte. Daher will ich versuchen es runter zu brechen.

1) Wie kann ich eine Schleife über die Knoten in einer "Cell" laufen lassen und dabei Knoten nach verschiedenen Kriterien selektieren?

2) Wie kann ich im Postprocessing wieder auf die "globalen" Hauptspannunge zugreifen? Angezeigt werden mir ja die Spannungen im veränderten Koordinatensystem.

3) Wie kann ich die Spannungen je Knoten auslesen?

Da ich nicht weiß, ob es relevant ist, ich nutze Abaqus 6.14-4


Über jegliche Hilfe wäre ich sehr dankbar!

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: 29. Jan. 2021 16:56    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 Database91 10 Unities + Antwort hilfreich

Zitat:


1) Wie kann ich eine Schleife über die Knoten in einer "Cell" laufen lassen und dabei Knoten nach verschiedenen Kriterien selektieren?

Du kannst relativ einfach die Knoten in jeder Zelle abgreifen. Bsp.:
x=mdb.models['Model-1'].parts['block'].cells[0].getNodes()
x ist dann eine Liste mit den Knoten. Mit der kannst du dann arbeiten und z.B. die Position von jedem Knoten abfragen.

Meist ist es aber einfacher mit der Geometrie zu arbeiten um Sets zu erzeugen. Dafür müsstest du die Geometrie so partitionieren, dass du eine (oder mehrere) Punkte/Kante/Fläche/Zelle für die Sets wählen kannst. Daraus wird dann automatisch je ein Knotenset wenn die Inputdatei erzeugt wird.

Zitat:

2) Wie kann ich im Postprocessing wieder auf die "globalen" Hauptspannunge zugreifen? Angezeigt werden mir ja die Spannungen im veränderten Koordinatensystem.

Da würde ich die eingebaute Option im Postprocessing verwenden und später mit Python ansprechen. Erstelle in der GUI eine neues CSYS und transformiere die Ergebnisse in dieses CSYS. Die .rpy gibt dir dann die Befehle.


Zitat:

3) Wie kann ich die Spannungen je Knoten auslesen?

Das einfachste ist, wenn du einen Report (Report->Field) erstellst und diesen dann ausliest. Das hätte den Vorteil, dass du direkt die gemittelten Knotenwerte bekommst und dies auch für die transformierten Werte funktioniert - je nachdem welche Orientierung aktiv war beim erstellen des Reports.

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

Database91
Mitglied
Student


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

Beiträge: 20
Registriert: 18.01.2021

erstellt am: 31. Jan. 2021 08: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

Guten Morgen und Danke für die Antwort.

Zitat:
Meist ist es aber einfacher mit der Geometrie zu arbeiten um Sets zu erzeugen. Dafür müsstest du die Geometrie so partitionieren, dass du eine (oder mehrere) Punkte/Kante/Fläche/Zelle für die Sets wählen kannst. Daraus wird dann automatisch je ein Knotenset wenn die Inputdatei erzeugt wird.

Ich kann die Geometrie an der Stelle nicht weiter partitionieren, da sich dadurch mein Netz verändern würde. Außerdem erhalte ich durch die Partitionierung doch nur neue Elemente, dann muss ich immer noch schauen, wie ich an die entsprechenden Knoten komme. Denn ich brauche genau die Knotenreihe, die exakt bei Z=0 entlang der x-Achse an der Oberfläche des Modells liegen.

Aber der getNodes Befehlt ist schon mal gut. Kann ich dann mit x.getSize() die Koordinaten abfragen?
Wie schreibe ich denn eine for-Schleife? Ich habe dazu zwar schon einiges gesehen, aber bin ich verwirrt, dass die Schleife kein Ende hat. Also sowas wie "next" oder ähnliches.

Code:

p = mdb.models['Model-1'].parts['ungekerbteProbe']
Nodes=mdb.models['Model-1'].parts['ungekerbteProbe'].cells[1].getNodes()
Nodes_z= []
p.Set(nodes=Nodes, name='Node-Set')
zKriterium=0

for i in range(len(Nodes)):
if Nodes[i].getSize()[2]==zKriterium:
Nodes_z[i]=Nodes[i]



So hatte ich die Selektion der Knoten jetzt versucht aufzubauen.
Allerdings bekomme ich dann als Fehler "AttributeError: 'MeshNode' object has no attribute 'getSize'". Geht das also gar nicht mit getSize?
zu 3):
Du sagtest, ich kann dann die gemittelten Knotenwerte auslesen. Ist es auch möglich direkt die Knotenwerte auszulesen ohne Mittelung?


[Diese Nachricht wurde von Database91 am 31. Jan. 2021 editiert.]

[Diese Nachricht wurde von Database91 am 31. Jan. 2021 editiert.]

[Diese Nachricht wurde von Database91 am 31. Jan. 2021 editiert.]

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: 01. Feb. 2021 14: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 Nur für Database91 10 Unities + Antwort hilfreich

Du solltest den Command Line Interpreter (CLI) in A/CAE verwenden um interaktiv Dinge abzufragen.

Wenn du das eingibst:
p = mdb.models['Model-1'].parts['ungekerbteProbe']
Nodes=mdb.models['Model-1'].parts['ungekerbteProbe'].cells[1].getNodes()

solltest du danach mal das eingeben:
print Nodes[0]
Damit kannst du dir den ersten Eintrag der Knotenliste ausgeben lassen und sieht was für Informationen noch dranhängen, wie z.B. Koordinaten und Knotennummer. Mit diesem Wissen kannst du dann auch direkt darauf zugreifen.
In diesem Fall
Nodes[0].coordinates


Zu deiner anderen Frage:
Ja, du kannst in dem Report auch die ungemittelte Knotenwerte ausgeben lassen (Option: Element Nodal). Damit bekommst du halt pro Knoten mehrere Werte, abhängig davon wie viele Elemente an dem Knoten hängen.

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

Database91
Mitglied
Student


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

Beiträge: 20
Registriert: 18.01.2021

erstellt am: 03. Feb. 2021 10: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

Vielen Dank.
Für alle, die vielleicht noch mal auf das Problem hier stoßen, meine Lösung sieht folgendedrmaßen aus:

Code:

### Sets für die Auswertung anlegen
p = mdb.models['Model-1'].parts['ungekerbteProbe']
n=p.nodes
Mantel=c.findAt(((0.0,D_klein/2,0.0),),)
p.Set(cells=Mantel, name='Mantel')
Nodes=mdb.models['Model-1'].parts['ungekerbteProbe'].sets['Mantel'].cells[0].getNodes()
Nodes_z= []

for i in range(1, SA_a+2):
x_Koord=-Sehne/4+((Sehne/2)/SA_a)*(i-1)
y_Koord=(R_mitte+D_klein/2)-(cos(alpha_oeffnung_0+alpha_oeffnung_Schritt*(i-1))*R_mitte)

Node=n.getByBoundingBox(x_Koord-HB_t/2, y_Koord-(3*HB_t/4), -HB_t/2 , x_Koord+HB_t/2, y_Koord+HB_t, HB_t/2)
Nodes_z.extend(Node)
print i
print x_Koord, y_Koord

Node_list=mesh.MeshNodeArray(Nodes_z)
p.Set(nodes=Node_list, name='Node_Auswertung')


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