Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Node-Set über Koordinateneingabe im rpy erstellen

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 über Koordinateneingabe im rpy erstellen (428 mal gelesen)
StuetzenPaule
Mitglied


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

Beiträge: 2
Registriert: 01.07.2022

erstellt am: 28. Jul. 2022 16: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

Moin zusammen,

ich habe mir seit einigen Tagen die Finger wund gegoogelt und leider keine Lösung gefunden deshalb versuche ich mein Glück mal hier:
Ich habe ein parametrisches Script erstellt für eine einfache mechanische Analyse. Da später einige Parameterstudien folgen sollen, würde ich gern den händischen Aufwand je Modell klein halten, ebenso die Flut an Ergebnisdateien.
Nun brauche ich bei jeder Berechnung eigentlich nur History Outputs von bestimmten Knoten, zu denen ich auch die Koordinaten kenne. Dass dort Knoten existieren habe ich mithilfe einer Partition an der jeweiligen Stelle sichergestellt.

Mein Wunsch wäre es die Nodes an den speziellen Koordinaten über das Script auszuwählen, einem Set hinzuzufügen und dafür das History Output für Stress und Strain zu definieren.
Bisher sah der Workflow immer vor, händisch in der GUI den mittleren Punkt auszuwählen, dem Set hinzuzufügen und das History Ouput zu generieren.

Ich habe es schon über vertices.findAt() probiert, dort kann ich aber nur die Displacements ausgeben lassen, nicht aber die Spannungen/Dehnungen. nodes hat leider keinen Befehl findAt() weshalb ich so langsam verzweifle..
Der Befehl findNearestNode brachte übrigens auch nicht die Lösung. (oder habe ich da einen Eingabe-Fehler gemacht? Vielleicht in Kombination getSequenceFromMask?)
Als workaround würde ich nun die für mich wichtigen Nodes in ein einzelnes Set packen und über ein Field Output der Sets meine gewünschten Ergebnisse produzieren aber das ist doch umständlicher als es sein müsste :-(

Vielen Dank und besten Gruß

Über eine kleine Idee würde ich mich sehr freuen.

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. Jul. 2022 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 StuetzenPaule 10 Unities + Antwort hilfreich

Es gibt mehrere Möglichkeiten für das was du machen möchtest.

Aber erstmal generell: Spannungen und Dehnungen sind Elementergebnisse, daher kannst du die nicht im History Output für Knoten anfordern.

Workaround: Leg im Preprocessing einfach das Set mit den Vertices an. Daraus wird dann ein Set mit Knoten. Dieses Set, selbst wenn du es gar nicht für etwas verwendet hast, findest du dann auch im Postprocessing. Hier kannst du für dieses Set (Knoten) trotzdem die Spannungen und Dehnungen abgreifen, da nun die Integrationspunktergebnisse an die Knoten extrapoliert und gemittelt werden können.

Wenn du Spannungen und Dehnungen haben willst, hast du diese wahrscheinlich im default Field Output Request für die Ergebnisdatei. Du musst also nichts weiter anfordern.

Verwende im Postprocessing dann Tools -> XY Data -> Create (oder Button) -> ODB Field Output. In dem folgenden Dialog kannst du auf "Position = Unique Nodal" umstellen und die gewünschten Variablen auswählen. Auf dem zweiten Tab kannst du dann das Knotenset auswählen und dann die xy-Daten erzeugen. In der .rpy findest du die Python-Befehle für diese Aktion.

Alternativ kannst im Postprocessing auch einfach nur das Set einblenden (auch wenn dann nichts zu sehen ist) und mit Report->Field Output eine ASCII-Datei mit den Daten erzeugen.

Oder du fügst einmal in Keyword Editor den folgenden Befehl ein um die Ergebnisse vom solver an den Knoten in die odb zu bekommen und holst sie dir dann direkt mit Python für das Set.
*Output
*Element Output, Position=AVERAGED AT NODES
S, LE


Nun noch die Frage wie man das Set im Preprocessing anlegen kann. Ich bevorzuge hier getClosest() anstatt findAt(), da man dann noch Einfuss auf die Suchtoleranz hat.
Hier ein Beispiel um zwei Vertices an zwei Koordinaten zu finden und in ein Set zu legen:

Code:

from abaqus import *
from abaqusConstants import *
from caeModules import *

a = mdb.models['Model-1'].rootAssembly
v = a.instances['block-1'].vertices

# get vertices
myvertices = v.getClosest(coordinates=((0,0,0),(15,0,0),), searchTolerance=0.01)

# get list with indices of resulting vertices
v_ids = [x[0].index for x in myvertices.values()]

# create object with all resulting vertices
verts = v[0:0]
for x in v_ids:
    verts = verts + v[x:x+1]

# create set
a.Set(vertices=verts, name='Set-1')


[Diese Nachricht wurde von Mustaine am 29. Jul. 2022 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: 29. Jul. 2022 10:43    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 StuetzenPaule 10 Unities + Antwort hilfreich

Noch ein Tip fürs Scripting (falls noch nicht bekannt):
Gib folgende Befehle in den Python-Prompt in Abaqus/CAE ein um die Ausgabe in die .rpy besser lesbar zu machen.

session.journalOptions.replayGeometry
session.journalOptions.setValues(replayGeometry=INDEX)

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



Mitarbeiter/in CAM-Produktion (m/w/d)

Die Dental Direkt GmbH ist einer der führenden Hersteller von Zirkonoxid-Rohlingen für die Dentalbranche und bildet darüber hinaus mit seinem Portfolio die gesamte digitale Prozesskette ab. Über ein Händlernetzwerk vertreiben wir Medizinprodukte in über 70 Länder weltweit. An den Standorten in Spenge und St. Annen arbeiten wir mit einem ca. 160-köpfigen Team. Im eigenen Technologiezentrum betreiben wir kontinuierliche Forschung und Entwicklung und garantieren höchste Qualitätsstandards....

Anzeige ansehenFertigungstechnik
StuetzenPaule
Mitglied


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

Beiträge: 2
Registriert: 01.07.2022

erstellt am: 01. Aug. 2022 11: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

Herzlichen Dank für die schnelle Rückmeldung! Im Prinzip klärte deine generelle Antwort schon mein Problem, die vertices hatte ich schon in einem Set aber auch für das Minimalbeispiel großen Dank.

Ich habe über
*Output, field
*Element Output, Position=AVERAGED AT NODES
S, LE
jetzt die gewünschten Ausgaben erreicht :-) Hier wollte ABAQUS noch einen Zusatz hinter *Output. (entweder field oder history)

Nun funktioniert alles, ich kann mich nur noch einmal bedanken.

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