Autor
|
Thema: Bis zu 300 Parts als Rigid festlegen (1060 / mal gelesen)
|
VO777 Mitglied
Beiträge: 16 Registriert: 27.02.2017
|
erstellt am: 14. Jul. 2017 12:54 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich bin gerade dabei in Abaqus CAE 2017 eine Simulation aufzubauen, in der ich bis zu 300 Kugeln in einem elastischen Behälter simuliere. Dazu nutze ich den expliziten Solver. Bei den Kugeln handelt es sich um Stahlkugeln. Um die Berechnung deutlich zu verkürzen (bei Annahme des realen E-Moduls von Stahl bspw. braucht die jetzige Simulation mehrere Tage), würde ich gerne die Kugeln als unverformbar simulieren. Folgende Probleme ergeben sich allerdings dabei:
- Analytical Rigids fallen raus, weil ich ein gesamtes Modell importiere. Außerdem möchte ich am Ende Lasten an den Kugeln beobachten und das geht soweit ich weiß nicht ohne Vernetzung. - Wenn ich die Kugeln als Discrete Rigid einstelle, müssen diese von solid- zu shell-Objekten konvertiert + ein Referenzpunkt angegeben werden. Das wird bei bis zu 300 Kugel-Parts zu aufwendig manuell zu machen (Skript?). - Weiteres Problem bei Discrete Rigids ist, dass die Masse der Kugeln von Bedeutung ist, da Schwerkraft wirkt. Dh. wenn ich die Kugeln als shell simuliere, weicht das Modell deutlich von der Realität ab. Wie löse ich das ganze also am besten?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 14. Jul. 2017 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für VO777
Zitat: Original erstellt von VO777: Hallo zusammen,ich bin gerade dabei in Abaqus CAE 2017 eine Simulation aufzubauen, in der ich bis zu 300 Kugeln in einem elastischen Behälter simuliere. Dazu nutze ich den expliziten Solver. Bei den Kugeln handelt es sich um Stahlkugeln. Um die Berechnung deutlich zu verkürzen (bei Annahme des realen E-Moduls von Stahl bspw. braucht die jetzige Simulation mehrere Tage), würde ich gerne die Kugeln als unverformbar simulieren. Folgende Probleme ergeben sich allerdings dabei:
- Analytical Rigids fallen raus, weil ich ein gesamtes Modell importiere. Außerdem möchte ich am Ende Lasten an den Kugeln beobachten und das geht soweit ich weiß nicht ohne Vernetzung. - Wenn ich die Kugeln als Discrete Rigid einstelle, müssen diese von solid- zu shell-Objekten konvertiert + ein Referenzpunkt angegeben werden. Das wird bei bis zu 300 Kugel-Parts zu aufwendig manuell zu machen (Skript?).
Man kann auch Solids als Rigids definieren. Dafür lässt man das Part als "deformable" und erstellt eine Rigid Body Constraint im Interaction-Modul. Siehe A/CAE Manual 15.15.2 Defining rigid body constraints Die Definition dieses Constraints und die Erzeugung der Steuerknoten kann man relativ einfach skripten.
Zitat: Original erstellt von VO777: - Weiteres Problem bei Discrete Rigids ist, dass die Masse der Kugeln von Bedeutung ist, da Schwerkraft wirkt. Dh. wenn ich die Kugeln als shell simuliere, weicht das Modell deutlich von der Realität ab.Wie löse ich das ganze also am besten?
Bei der von mir beschriebenen Methode ergibt sich das Problem nicht. Ansonsten könnte man auch einfach eine Punktmasse auf die Steuerknoten geben (und auch das ggf. automatisieren). Siehe A/CAE Manual 33. Inertia [Diese Nachricht wurde von Mustaine am 14. Jul. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VO777 Mitglied
Beiträge: 16 Registriert: 27.02.2017
|
erstellt am: 14. Jul. 2017 14:33 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Antwort. Die Methode der Rigid Body Constraint hatte ich sogar auch schon gefunden, allerdings habe ich das anscheinend nicht richtig hinbekommen. Ich hatte dabei einen constraint erstellt und bei der Auswahl der Bodys alle Parts auf einmal ausgewählt und dazu einen Referenzknoten. In der Simulation bewegte sich dann gar nichts mehr und alle Teile waren fest. Muss ich also jedes Part einzeln auswählen und einen eigenen Referenzknoten zuweisen? Wenn ja, hast du vielleicht noch Hinweise wo ich Infos zum Skripten solcher Sachen finde? Darin bin ich nämlich echt nicht bewandert... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 14. Jul. 2017 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für VO777
So wie du das gemacht hast, hast du einen Rigid Body erstellt - also eine starre Einheit. Das hast du dann ja gesehen. Wenn du die Grundlagen von Python kannst, solltest du dir dann das Abaqus Scripting Manual anschauen. Das erklärt das Zusammenspiel von Python und Abaqus/CAE. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VO777 Mitglied
Beiträge: 16 Registriert: 27.02.2017
|
erstellt am: 14. Jul. 2017 14:56 <-- editieren / zitieren --> Unities abgeben:
Habe leider noch nie in Python programmiert, daher werde ich mal sehen müssen wie weit ich komme... Aber danke dir schon mal für die Hilfe; wenn jemand noch weiß wo man solche Skripte sonst herbekommen kann, gerne Bescheid sagen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 14. Jul. 2017 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für VO777
Im Anhang sollte ein einfaches Beispiel sein. Das .txt entfernen, CAE starten und Skript laufen lassen (File->Run Script). Mit den Kommentaren im Skript und dem Ergebnis in CAE sollte es leicht zu verstehen sein. Der interessante Teil ist im Bereich Zeile 89 bis 110. Alles andere hast du wahrscheinlich schon in deinem Modell oder kannst du händisch in der GUI erzeugen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VO777 Mitglied
Beiträge: 16 Registriert: 27.02.2017
|
erstellt am: 17. Jul. 2017 14:07 <-- editieren / zitieren --> Unities abgeben:
Wow, sehr geile Sache! Tausend Dank dafür!! Ich habe mich heute damit beschäftigt, den von dir erwähnten Teil der Zeilen 89-110 in mein Modell zu implementieren, das habe ich nämlich wie du angenommen hast schon aufgebaut. Ich tue mich damit allerdings schwer, weil ich die Zeilen ja nicht einfach rauskopieren kann, da dann noch einige Variablen undefiniert sind (a, p, ...). Wenn ich diese Zuweisungen mit rein nehme, bekomme ich allerdings auch wieder Fehlermeldungen. Wie kann ich jetzt am besten nur den Teil des Skripts auf mein bestehendes Modell anwenden? edit: Ich denke ich habe es hinbekommen, danke nochmal! [Diese Nachricht wurde von VO777 am 17. Jul. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |