Autor
|
Thema: Container gefüllt mit Gas und Flüssigkeit (2232 mal gelesen)
|
Poldi1979 Mitglied
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 28. Mrz. 2008 09:36 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Ich möchte einen Container simulieren, der mit einer Gas- und Flüssigkeitsphase gefüllt ist. Der Container soll u.a. mit einer Stauchlast belastet werden. Abaqus bietet ja die Möglichkeit, über *fluid cavity Fluidinhalte zu simulieren. Ich habe ja nun das Problem, dass ich einen zwei Phaseninhalt habe: Gas ist kompressibel, Flüssigkeit nicht. Wie kann ich dieses zwei Phasensystem am besten in Abaqus darstellen? So wie ich das verstehe, kann Abaqus nur mit einer Phase pro Kavität rechnen. Über Hinweise oder Tipps würde ich mich sehr freuen. Vielen Dank und Grüße [Diese Nachricht wurde von Poldi1979 am 28. Mrz. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
milasan Mitglied
Beiträge: 165 Registriert: 24.04.2007
|
erstellt am: 28. Mrz. 2008 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für Poldi1979
|
Poldi1979 Mitglied
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 31. Mrz. 2008 14:26 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Ich muss leider ohne die Verwendung der CEL-Methode dieses Problem lösen. Ich habe nun überlegt, die Phasengrenze mit Surface-Elementen zu versehen. Somit kann ich zwei getrennte Kavitäten für die Gas- und Flüssigphase realisieren. Allerdings zeigt dieser Weg bei den ersten Versuchen unrealistische Deformationen eben dieser Phasengrenze. Kann mir hier jemand weiterhelfen? Ist der Weg über Surface-Elemente überhaupt sinnvoll? Gibt es möglicherweise weitere Möglichkeiten? Vielen Dank und Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Poldi1979 Mitglied
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 27. Apr. 2008 20:19 <-- editieren / zitieren --> Unities abgeben:
Hallo. Ich habe meine Problemstellung leider immer noch nicht gelöst. (Aufgrund von INstabilitäten bei der Aufgabenstellung würde ich gerne mit Abaqus/Explicit rechnen.) Idee 1: Möglicherweise kann man das Zwei-Phasen-System mit der Subroutine VDLOAD lösen. Bei einer Veränderung des Kavitätsvolumens bleibt das Volumen der Flüssigkeit konstant, das der Gasphase kann komprimiert werden. Über die Gasgleichung kann man dann auf den Druck schließen. Allerdings benötigt dann die Subroutine das Gesamtvolumen der Kavität. Mein Problem ist es jetzt, dieses Kavitätsvolumen an die Subroutine zu übergeben. Hier stellt sich dann auch die Frage, wie man das Volumen überhaupt bestimmen kann. Wenn man eine Kavität über *fluid cavity simuliert, wird das Volumen über die Output-Variabel CVOL ausgegeben. Vielleicht gibt es hier eine Möglichkeit, diese Informationen an die Subroutine zu übergeben? Idee 2: Über *boundary kann man den Druck in der Kavität direkt vorgeben. Gibt es vielleicht eine Möglichkeit, hier die Abhängigkeit zum Kavitätsvolumen herzustellen? Ich würde mich freuen, wenn mir jemand weiterhelfen könnte und mir ein paar Hinweise/Tipps geben könnte. Vielen Dank und Grüße
[Diese Nachricht wurde von Poldi1979 am 27. Apr. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Poldi1979 Mitglied
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 29. Apr. 2008 11:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Community. meine oben beschriebene Problemstellung läßt mich einfach nicht los. Kann ich mit Hilfe einer Subroutine (im speziellen VDLOAD) kontinuierlich auf den History-Output eines odb-Files zugreifen und eine Variabel eines Punktes (Kavitätsvolumen CVOL des Kavitätsreferenzpunktes) auslesen? Diese Variabel würde ich dann zur weiteren Berechnung benötigen. Ist dieses möglich? Und wenn ja, wie greife ich mit der Subroutine darauf zu? Oder müsste ich parallel ein Python-Skript laufen lassen, dass die odb ausliest? Für Tipps und Hinweise wäre ich sehr dankbar. Vielen Dank und Grüße 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: 29. Apr. 2008 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für Poldi1979
Soweit ich das sehe wird CVOL nicht an die Subroutine VDLOAD übergeben. CVOL müsste also auf anderem Wege weiterverarbeitet werden. Vielleicht loht sich auch das warten auf v6.8 (Juni 08). Hier soll es wohl möglich sein Lasten und Randbedingugen auf Grundlage aktueller Ergebnisse zu verändern. Theoretisch müsstest du dann also *Boundary oder andere Lasten in Abhängigkeit von CVOL definieren können. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Poldi1979 Mitglied
Beiträge: 51 Registriert: 22.07.2007
|
erstellt am: 29. Apr. 2008 18:54 <-- editieren / zitieren --> Unities abgeben:
|
milasan Mitglied
Beiträge: 165 Registriert: 24.04.2007
|
erstellt am: 30. Apr. 2008 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für Poldi1979
Hallo Poldi, auf Ergebnisse der laufenden Rechnung kannst Du unter Standard mit der Subroutine URDFIL zugreifen und mit UEXTERNALDB kanst Du externe Programme starten, zum Beispiel ein Script, dass die Odb liest. Aber das geht leider nur unter Standard. Bei Explicit könntest Du Deine Kavität mit eignen Dummyelementen VUEL füllen oder auskleiden, um das Volumen zu bekommen und das Gemisch über ein VUMAT beschreiben. Möglicherweise kannst Du auch mit *EOS (Equation of State) arbeiten, um die Materialien zu definieren. Ansonsten bleibt Dir nur die Hoffnung auf 6.8, da soll es auch neue Subroutinen geben - oder CEL, das gibt es schon ab 6.7-ef und wäre wohl die absolut einfachste Lösung. Gruß, M.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |