Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  OpenFOAM
  Flux Limiters

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:  Flux Limiters (640 mal gelesen)
Friendly
Mitglied



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

Beiträge: 69
Registriert: 05.06.2017

erstellt am: 03. Aug. 2020 17: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

Hallo,

ich versuche gerade mit OpenFOAM den solver rhoCentralFoam zu verwenden.
Allerdings habe ich Probleme bei den interpolationSchemes etwas anderes als upwind zu verwenden, um die Genauigkeit zu erhöhen. Deswegen habe ich mich mit flux limtern auseinandergesetzt.

Auf https://en.wikipedia.org/wiki/Flux_limiter und YouTube-Videos wird es eigentlich ganz gut erklärt. Allerdings habe ich eine spezifische Frage:

Nehmen wird z.B. Minmod. Es ist klar, dass wenn phi(r) = 0 ist, dass ein Schema 1. Ordnung genommen wird (upwind) und bei phi(r) = 1 ein Schema 2. Ordnung. Aber es gibt auch einen Bereich phi(r) = r. Was genau passiert dort? Ist es eine Art Gewichtung zwischen der Lösung 1. und 2. Ordnung, z. B. wenn phi(0.5) = 0.5, dass 50% 1. und 2. Ordnung genommen werden? Warum sollte man das wollen?


Viele Grüße!

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

Friendly
Mitglied



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

Beiträge: 69
Registriert: 05.06.2017

erstellt am: 10. Aug. 2020 09:17    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

Niemand eine Ahnung?

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

Shor-ty
Moderator





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

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 07. Okt. 2020 08:34    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 Friendly 10 Unities + Antwort hilfreich

Natürlich haben viele eine Ahnung über das Thema  allerdings habe ich seit neuestem keine Emails mehr von CAD.de erhalten. Nungut. Du kannst mal auf meiner Seite die numerischen Schemen betrachten. Upwind ist die einzige Diskretisierungsmethode, die immer physikalische Lösungen zurückgibt. Alle anderen, vor allem das linear Schema, sind je nach Netz instabil. Diverse Schemen limitieren bspw. den Gradienten um zu erzwingen, dass die Lösung in einem korrekte Range endet (cellLimited, edgeLimited, pointLimited). Wichtig ist im Allgemeinen die Diskretisierung des Konvektiven Terms, da der am meisten Probleme macht. Der Laplace-Term ist diffusiv, und benötigt - wie die snGrad Berechnung - vor allem seine Aufmerksamkeit bei der nicht-Orthogonalität. Zu Deiner Frage. Verschiedene Schemen "blenden" zwischen niedrigerer und höher ORdnung hin und her, um stabiler zu agieren. Was bringt es mir, wenn ich ein 2nd Order Schema habe, dass ständig ein »Floating-Point-Exception« erzeugt.

Tobi

PS: Dein Schema ist natürlich jetzt relativ unbrauchbar für die Konvektionsschemen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

Friendly
Mitglied



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

Beiträge: 69
Registriert: 05.06.2017

erstellt am: 12. Okt. 2020 10:28    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

Hallo Tobi,

vielen Dank für deine Antwort!

Was genau meinst du mit "blenden"? Sind diese Zwischenbereiche erster oder zweiter Ordnung, sie können ja nicht beides sein, oder?

RhoCentralFoam unterscheidet sich stark von den üblichen piso, pimple und simple Algorithmen. So wie ich den solver verstanden habe, werden die konvektiven Terme, Gradienten und der Laplacian Term über die Flüsse durch die Zellwände approximiert. Hierbei wird bereits "entschieden", ob die Interpolation 1. oder 2. Ordnung durchgeführt wird. Deswegen ist es denke ich von zentraler Bedeutung, was bei den InterpolationSchemes einträgt.

Grüße,
Friendly

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

Shor-ty
Moderator





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

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 13. Okt. 2020 10:47    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 Friendly 10 Unities + Antwort hilfreich

Hallo Friendly,

Du musst differenzieren zwischen den Interpolationsschemen (Zelle zu Face) und den Term-Diskretisierungsschemen. Eine Interpolation (Cell-To-Face) ist im Allgemeinen immer mit der 2ten Ordnung durchzuführen (siehe Interpolation in fvSchemes die oft auf linear ist // eigentlich immer).

Blending - wie der Name sagt. Es ist eine Mischung aus beidem. Du kannst den Wert der 1. Ordnung und 2. Ordnung berechnen und anschließend über 25 % zu 75 % gewichten. Ähnlich auch die Limiter Schemen. LimitedLinear 0 - 1 wirkt sich also entsprechend aus. Für 0 folgt rein Linear, für 1 folgt 100 % Limitiert (dabei wird eben der entsprechende Limiter zu 100 % angewendet).

Anderes Beispiel: linearUpwind ist ein Upwind Schema mit expliziter gradienten Korrektur und verwendet zusätzlich Gewichtungsfaktoren.


Übrigens, rhoCentralFoam ist ein dichte-basierter Löser und die anderen sind druck-basierte Löser.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

Friendly
Mitglied



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

Beiträge: 69
Registriert: 05.06.2017

erstellt am: 13. Okt. 2020 16:31    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

Hallo Tobi,

verstehe, also im Zwischenbereich wird also ein gewisser Anteil der Lösung 1. Ordnung genommen, um die Lösung zu stabilisieren. Das habe ich mir gedacht, wollte mich aber vergewissern, danke!  

Das rhoCentralFoam dichtebasiert ist und die übrigen solver druckbasiert sind, ist mir bekannt. Deswegen habe ich rhoCentralFoam gewählt.

So wie ich es verstanden habe, wird bei rhoCentralFoam bei der cell to face interpolation bereits gegebenenfalls ein limiter verwendet, um zwischen 1. und 2. Ordnung zu schalten. Ich glaube Verdichtungsstöße kann man auch nicht 2. Ordnung auflösen?


Das sind die folgenden Terme:

interpolationSchemes
{
    default         linear;
    reconstruct(rho) vanAlbada;
    reconstruct(U)   vanAlbadaV;
    reconstruct(T)   vanAlbada;
}


Grüße,
Friendly

[Diese Nachricht wurde von Friendly am 13. Okt. 2020 editiert.]

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

Shor-ty
Moderator





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

Beiträge: 2463
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)
OpenFOAM-xxxx (ESI)

erstellt am: 14. Okt. 2020 09:10    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 Friendly 10 Unities + Antwort hilfreich

Hey Friendly,

ich habe mit dem rhoCentralFoam noch nicht gearbeitet. Allerdings sollte hier eben eine Gleichung für die Dichte gelöst werden und über die EOS dann der Druck. Bei den druck-basierten Lösern ist es ja genau andersrum.

Ob hier eine Limiter Verwendung findet kann ich Dir nicht sagen. Allerdings ist ein Limiter nicht automatisch eine Reduktion auf ein Upwind-Verfahren. Die Limiter-Funktionen haben ja eine spezielle Form.

Übrigens Reconstructing ist das Verfahren, um von den Face Values auf den Cell Value zurückzukommen.

------------------
Glück Auf,
Tobi

OpenFOAM® Community - Knowledge Base

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

Friendly
Mitglied



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

Beiträge: 69
Registriert: 05.06.2017

erstellt am: 14. Okt. 2020 16:16    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

Hi Tobi,

ja genau und da bei kompressiblen Strömungen Druck eine Funktion von Dichte und Temperatur ist, denke ich dichtebasierte solver sind für kompressible Probleme besser geeignet. Es gibt noch den solver rhoPimpleFoam, weiß aber nicht ob er dichte- oder druckbasiert ist. Weißt du das zufällig?

Ich habe mir nochmal das Paper zu rhoCentralFoam angesehen. Ich meine, dass die limiter bei der cell center to face interpolation eingesetzt werden. Darüber können die Flüsse evaluiert werden und die konvektiven Terme etc. approximiert. Danach wird die Kontigleichung nach rho, Impulsgleichung nach u und die Energiegleichung nach E gelöst, wodurch letztlich u, rho und T upgedatet werden. Am ende wird with p durch die jeweils verwendete EOS upgedatet. Ich hatte gedacht, dass "reconstruct" für die face interpolation verwendet wird und die cell center Einträge direkt über die Erhaltungsgleichung geupdatet werden. Aber ich bin mir da allerdings nicht sicher. Wieso ist eine erneute Interpolation von den faces zu den cell centern notwendig?

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