| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Energiegleichung (4321 mal gelesen)
|
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 27. Okt. 2010 16:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Stimmt es, dass die Energiegleichung bzw. Enthalpiegleichung in OpenFOAM nicht ganz korrekt ist bzw. es Probleme mit ihr gibt? Auf jeden Fall sinkt meine Temperatur am Auslass zu stark ab, und meine Dichte ist zu hoch. Dadurch ergibt sich ein falscher Totaldruckverlust. Ich verwende den Löser "rhoSimpleFoam". Im Forum auf "cfd-online" habe ich alternative Gleichungen für hEqn.H gefunden, und dort wurde das Thema auch schon diskutiert, aber ohne eine 100% korrekte Lösung. Jetzt wollte ich nur gerne wissen, ob es wirklich so ist, das die Energiegleichung in OpenFOAM anders implementiert als in anderen CFD Programmen ist. Und wie ihr damit umgeht, dass Temperatur-, Dichte-, und Totaldruck dadurch falsch berechnet wird. Gruß Ralph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chrisi1984 Mitglied Berechnungsingenieur

 Beiträge: 35 Registriert: 13.05.2010
|
erstellt am: 28. Okt. 2010 08:12 <-- editieren / zitieren --> Unities abgeben:          Nur für RalphSt
Hallo, Ja das stimmt! In OF ist nur die thermische Energiebilanz enthalten. Um auch die kinetische Energie zu bilanzieren bedarf es aber einer totalen Energiebilanz. Für den Solver rhoSimpleFoam habe ich meine Energiegleichung wie folgt abgeändert:
Code: volScalarField u2 = 0.5 * magSqr(U); volTensorField gradU = fvc::grad(U); volTensorField kin1 = turbulence->muEff() * (gradU + gradU.T()); volScalarField divU = fvc::Div(U); volVectorField kin2 = 2.0/3.0 *turbulence->muEff() * divU * U; volScalarField kin3 = fvc::Div(kin2); volVectorField kin4 = kin1 & U; volScalarField kin5 = fvc::Div(kin4); fvScalarMatrix hEqn ( fvm::Div(phi, h) - fvm::Sp(fvc::Div(phi), h) - fvm::laplacian(turbulence->alphaEff(), h) ==
- kin3 + kin5 -fvc::Div(phi, u2) ); hEqn.relax();
Der Code wurde durch Vergleiche mit Fluent validiert. Gruß Chrisi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 28. Okt. 2010 08:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Chris, danke für die Antwort, diese Energiegleichung habe ich auch schon verwendet. Ich vergleiche meine Ergebnisse mit Starccm+. Mein Geschwindigkeitsfeld ist identisch, ebenso das statische Druckfeld. Die Verteilung der kinetischen Energie, und der turbulenten Wirbelviskosität entspricht auch den Ergebnissen von Starccm+. Ich habe noch den "Uniformity Index" am Auslass berechnet, er ist auch vergleichbar mit den Ergebnisse mit starccm+. Die Temperaturverteilung ist auch sehr ähnlich (Erst durch deine Gleichung wurde es richtig abgebildet). Nur sinkt meine Temperatur zu stark ab und meine Dichte nimmt stärker zu als in Starccm+ und dadurch ist mein Totaldruckverlust(massengemittelt, Auslass - Einlass) um 50% zu gering. Meine Totaltemperatur ist aber identisch. Und deshalb wollte ich wissen, ob die neue totale Energiebilanz 100% korrekt ist. Ich versuche gerade den Grund für die Abweichung zu finden. Meine Einstellungen sind meines erachtens vollkommend identisch mit den Einstellungen der Simulation aus starccm+. Deshalb schaue ich mir gerade nochmal die Stoffeigenschaften an, weißt du was in hpsiThermo bzw. hConstThermo die Kompressibilität psi aussagt? bzw. wie diese berechnet wird? meinst du es ist sinnvoll hRhoThermo zu verwenden? Gruß Ralph P.S. Simulationen mit EFD brachten vergleichbare Ergebnisse wie Starccm+, also ist definitiv in OpenFOAM noch etwas falsch
[Diese Nachricht wurde von RalphSt am 28. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 28. Okt. 2010 08:52 <-- editieren / zitieren --> Unities abgeben:         
|
Chrisi1984 Mitglied Berechnungsingenieur

 Beiträge: 35 Registriert: 13.05.2010
|
erstellt am: 28. Okt. 2010 09:05 <-- editieren / zitieren --> Unities abgeben:          Nur für RalphSt
Hallo Ralph, also ich habe meine Simulationsergebnisse mit Fluent verglichen und mit dieser Energiegleichung keine Abweichungen zu Fluent erkennen können. Ich würde behaupten die Energiegleichung ist korrekt. Jedoch haben noch viele andere Einstellungen auf den Druckverlust. Da wäre zum Beispiel die dynamische Viskosität des Gases mu oder die spezifische Wärmekapazität cp. Dieses ist stark von der Temperatur abhängig. Du musst prüfen wie die Stoffdaten in den verschiedenen Programmen simuliert wurden! Bei Unterschieden in den Stffowerten kann man sehr große Unterschiede beim Druckverlust erhalten. Außerdem musst du die Vergleichbarkeit der verwendeten Diskretisierungsschemata prüfen. Auch das ist ein wichtiger Faktor. Du solltest z.B. nicht in einem Programm mit erster und im anderen Programm mit zweiter Ordnung diskretiesieren. Zur Komprassibilität kann ich dir auf die Schnelle nichts sagen. Aber meiner Erfahrung nach erzielt man bei selben Stoffwerten und Diskretisierungen mit OF und dieser Energiegleichung vergleichbare Ergebnisse mit anderen CFD-Codes. Gruß Chrisi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ch.lucas Mitglied

 Beiträge: 13 Registriert: 17.02.2010
|
erstellt am: 28. Okt. 2010 11:11 <-- editieren / zitieren --> Unities abgeben:          Nur für RalphSt
Hallo, die Energiegleichung, wie sie in OpenFoam ist, ist für langsame Strömung richtig. Für schnelle Strömungen (transonic) sollte eine totale Energiegleichung verwendet werden wie sie oben steht bzw. man sie auf cfd-online.com findet. http://www.cfd-online.com/Forums/openfoam/72127-solving-total-energy-equation.html Das psi wird für die Druckgleichung verwendet, wo es (in etwa) das d(rho) der Kontigleichung in ein d(p) für die Druckgleichung "umwandelt". Es wird aus den Stoffdaten (perfect gas -> psi=1/(RT)) berechnet.
Bezüglich des Fehlers, ist deine Geschwindigkeit hoch? Wenn ja, musst du die „transonic“ Option für die Druckgleichung verwenden. Ansonsten wird keine Dichtekorrektur durchgeführt. Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 28. Okt. 2010 11:20 <-- editieren / zitieren --> Unities abgeben:         
Geschwindigkeitsfeld passt. Habe die gleiche Verteilung, und auch die gleichen Werte. Wie gesagt, ich konnte den Fehler eingrenzen. Meine Temperatur sinkt zu stark ab, die Dichte ist höher als im Vergleichfall. Wenn ich anstatt der Temperatur, die Temperatur von starccm+ zur Berechnung verwende, stimmt mein Totaldruckverlust. [Diese Nachricht wurde von RalphSt am 28. Okt. 2010 editiert.] [Diese Nachricht wurde von RalphSt am 28. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 28. Okt. 2010 12:13 <-- editieren / zitieren --> Unities abgeben:         
achso meinst du mit Geschwindigkeit hoch, das sie hoch ist, oder zu hoch? also hoch ist sie, bis zu 280 m/s wie verwende ich die transonic Option? einfach nur so? SIMPLE { transonic true; } was bewirkt sie genau? Werden andere Gleichungen gelöst? Die Rechnung bricht schnell ab, wenn transonic true ist. relaxationFactor für pEqn musste hinzugefügt werden. und in fvSchemes: div(phid,p) Meine Dichte explodiert [Diese Nachricht wurde von RalphSt am 28. Okt. 2010 editiert.]
[Diese Nachricht wurde von RalphSt am 28. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 28. Okt. 2010 16:41 <-- editieren / zitieren --> Unities abgeben:         
Ich habe eine detaillierte Auswertung gemacht. Meine Geometrie ist ein Krümmer, und ich habe Ein- und Auslass extrudiert. Der Unterscheid ist minimal, dieser macht aber ein riesen Unterschied aus. Ich werte aus: am Einlass, Krümmereinlass, Krümmerauslass, und Auslass. ausgewertet habe ich (alles massengemittelt): Totaldruck, Druck, Totaltemperatur, Temperatur. Über Ein- und Auslass stimmen alle Größen mit starccm+ überein, die Energiegleichung muss also richtig sein ! Am Krümmereinlass passt es auch. Aber die Verteilung der Temperatur und der Dichte gegen Ende vom Krümmer stimmt nicht überein. Ich habe einen Temperaturunterschied von gerade mal 4 Kelvin, dieser macht aber im Totaldruckverlust einen Unterschied von über 50 % aus! und das ist nicht tragbar. Ich bin ratlos woran das liegt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ch.lucas Mitglied

 Beiträge: 13 Registriert: 17.02.2010
|
erstellt am: 29. Okt. 2010 10:04 <-- editieren / zitieren --> Unities abgeben:          Nur für RalphSt
|
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 29. Okt. 2010 10:28 <-- editieren / zitieren --> Unities abgeben:         
|
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 29. Okt. 2010 11:19 <-- editieren / zitieren --> Unities abgeben:         
Danke für den Tipp mit den Diskretisierungsschemen. Ich denke das führt mich auf den richtigen Weg. EDIT: Ich schaffe es jetzt mit Änderung der gradSchemes auf die selben Werte wie starccm+ zu kommen. OpenFoam reagiert hier sehr sensibel, ich könnte jeden beliebigen Totaldruckverlust bekommen, nur durch kleine Änderungen. Im Umkehrschluss heißt das, das eine kleine Änderung die Strömung total anders abbilden kann - schwer nachvollziehbar, schwer verständlich, wie man nun was "richtig" einstellt. [Diese Nachricht wurde von RalphSt am 29. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 02. Nov. 2010 13:46 <-- editieren / zitieren --> Unities abgeben:         
Ganz so einfach ist es doch nicht. Wenn ich zum Beispiel die gradSchemes verändere, stimmt zwar mein Totaldruckverlust, aber meine kinetische Energie beträgt nur noch 1/4 vom ursprünglichen Wert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RalphSt Mitglied Student

 Beiträge: 38 Registriert: 19.10.2010
|
erstellt am: 03. Nov. 2010 15:27 <-- editieren / zitieren --> Unities abgeben:         
|