Hallo zusammen,
ich habe eine Fragestellung, an der ich schon eine Weile arbeite und einfach keine Lösung finde.
Es geht um folgendes, ich möchte mit OpenFOAM eine Vakuumkammer evakuieren und diesen Prozess simulieren. Mir geht es dabei um den Druckverlauf über die Zeit, sprich ein Optimierungsproblem.
Diesen Anwendungsfall möchte ich, vorausgesetzt man kann es Umsetzten, in meiner Abschlussarbeit für die Untersuchung von verschiedenen Geometrien der Kammer anwenden.
Kurz zur Erklärung wie der Aufbau ist:
Es geht im einfachen Fall um eine geschlossene Kammer (Volumen ist fix), die nur einen Auslass hat.
In der Kammer herrscht als Initialbedingung Umgebungsdruck (p_U = 1000 mbar / v_U = 0)
Den Auslass kann man sich als Ventil vorstellen, an dem annähernd Vakuum anliegt (p_A=1-10mbar). Zusätzlich wird hier mit einem Volumenstrom von v_A = 240m³/h (=1/15 L/s) gesaugt. (Vakuumpumpe angschlossen).
Den Prozess kann man sich so vorstellen: Vakuumkammer wird geschlossen > Ventil macht auf (bis zum Ventil liegt p_A / v_A an) > ab dem Moment in dem geöffnet wird die Kammer evakuiert.
Den Druck p_A lege ich dabei so das ich keinesfalls in den Bereich von zu großen Knudsen-Zahl komme. Es soll nur die Strömung bis dahin untersucht werden.
Meine Annahmen bis dahin sind:
- instationärer Prozess
- kompressibel (inkompressibel habe ich auch schon versuchsweise ausprobiert)
- ideales Gas (p*V=m*R*T)
- T_Umgebung = 293K
- im einfachen Fall laminare Strömung / turbulente soll im weiteren Verlauf folgen, wenn das Szenario lauffähig ist
- als Referenz für das evakuieren des Volumens meines Modells habe ich den Druckverlauf vom Herstelle der Vakuumpumpe
- verwendeter Solver rhoPimpleFoam / versuchsweise rhoSimpleFoam führt zu > continuity error
Meine Simulation läuft jetzt bis zum Druck von ca. 750-800 mbar relativ gleichmäßig und zeitlich gesehen zügig durch, ab diesem Druck habe ich dann zuerst Probleme gehabt mit der Temperatur (wurde negativ > Abbruch mit Fehler).
Dies habe ich in den Griff bekommen in dem ich zuerst den Zeitschritt verfeinert habe und im weiteren in den fvOptions ein Temperaturlimit (limitTemperature min 100K max 400K) gesetzt habe.
Den Zeitschritt lasse ich dabei mit adjustTimeStep true; maxCo 0.9; laufen.
Zusätzlich ist mir aufgefallen das ich bei einigen Kombinationen an Randbedingungen rho Werte von gut und böse bekomme 100kg/m³ usw.
Problem ist hierbei, dass ab beschriebenen Druckbereich die Zeitschritte im 10^-11er Bereich liegen. Lasse ich diese größer werden (manuell) bricht die Simulation mit Fehlern ab (negativer Druck / viel zu hoher Druck).
Meine Frage ist nun erst mal ganz allgemein:
Ist es Möglich eine Simulation in OpenFoam nur mit einem Auslass (outlet) der Rest sind Wände (staticwall) wie folgt beschrieben erfolgreich zu simulieren:
Als Randbedingungen habe ich folgende:
staticwall: p/T: zeroGradient / U: noSlip
outlet: p: internalField uniform 100000; zeroGradient / fixedFluxPressure / totalPressure und schon einige andere
outlet: T: zeroGradient / totalTemperature und schon einige andere
outlet: U: flowRateOutletVelocity / fixedValue usw.
Ich habe da schon einige Varianten durchprobiert, aber komme zu keinen sinnvollen Ergebnissen.
Das Ganze habe ich mittlerweile schon auf einen einfachen 2D Fall beschränkt, aber auch hier läuft die Simulation mit Zeitschritten 10^-11 und hat nach mehreren Stunden auch nicht mal annähernd 0,5 Sek durchlaufen.
Ich würde mich freuen, wenn ihr mir auf die Sprünge helfen könnt. Ich bin für jegliche Vorschläge offen.
Vielen Dank schon mal im Voraus.
Gruß Flo
PS.: Als Anhang habe ich ein Bild vom 3D- und einfachen 2D-Modell(Es ist nur eine Zelle dick) reingepackt
[Diese Nachricht wurde von Evocs am 27. Jul. 2020 editiert.]
[Diese Nachricht wurde von Evocs am 27. Jul. 2020 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP