BA Fynn Wawrzyniak/Probleme: Difference between revisions
m (+up) |
(+Jet) |
||
Line 53: | Line 53: | ||
:: So wie es aussieht handelt es sich um die Maximale Mach Zahl --[[User:Fynn.W|Fynn.W]] ([[User talk:Fynn.W|talk]]) 14:58, 26 April 2024 (CEST) | :: So wie es aussieht handelt es sich um die Maximale Mach Zahl --[[User:Fynn.W|Fynn.W]] ([[User talk:Fynn.W|talk]]) 14:58, 26 April 2024 (CEST) | ||
= der "Jet" = | |||
Für größere Mach Zahlen sind in Druck und Dichte Feld ein "Jet" (Shaghayegh) zu erkennen (s. Fig. 1). Der Fehler tritt nur an der X2-Boundary auf, welche in der 'pluto.ini' als 'axisymmetric' definiert wird. | |||
[[File:BA-FW-PROBLEM-JET-M25-ENDE.jpg|thumb|400px|center|Fig. 1: Plot des Druck-Feldes über Theta und R, Darstellung in cgs-Einheiten. Für Mach 25]] | |||
Für das Feld in Fig. 1 wurde auch der minimale Druck aus der 'Restrictions.conf' entfernt, welcher zuvor auf den Wert 1e-16 (in cgs-Einheiten) festgelegt wurde, um die Fehler zu Beginn der Simulation vermeiden zu können. Ich habe diesen Entfernt, weil der unterschied des Minimalen Drucks in der Simulation dem in 'Restrictions.conf sehr ähnlich wurde. Um zu überprüfen ob die Einstellung des minimalen Drucks eine Auswirkung auf den "Jet" hat, habe ich die selbe Simulation mit einem Minimalen Druck von 1e-17 (cgs) druchgeführt. Das Ergebnis ist das selbe. Wenn ich allerdings Versuche den Druck noch kleiner einzustellen treten die Fehler von zuvor wieder auf (ConsToPrim(): p(E) < 0). | |||
Ich habe auch einmal den Druck in den Zellen für verschiedene Theta geplottet (Fig. 2). Dabei erkennt man, dass die innersten Zellen (\( \theta \approx 0.016 \)) sich vom Verlaufen stark von dass Nachbarn unterscheiden. | |||
[[File:BW-FW-PROBLEM-JET-M25-LINE-PLOT.png|700px|thumb|center|Fig. 2: Plots für unterschiedliche Theta über R. Selbe Daten wie in Fig. 1]] | |||
== Änderung des Gitters == | |||
Da in den obigen Simulation der Jet immer nur an den nächsten Zellen zur X2-BEG Boundary zu beobachten war, habe ich für selbe Setup mir verschiedene Gittereinstellungen angeguckt. Geändert habe ich dabei die Position der X2-BEG Boundary und die Auflösung des Gitters. Das Gitter aus den vorherigen Simulation (Auflösung : 550x100) hatte folgende Form: | |||
<syntaxhighlight lang="ini" line="1" start="1"> | |||
[Grid] | |||
X1-grid 1 1e-6 550 l+ 20.0 | |||
X2-grid 1 0.0 100 u 3.14159265359 | |||
X3-grid 1 0.0 1 u 6.28318530718 | |||
[Boundary] | |||
X1-beg userdef | |||
X1-end userdef | |||
X2-beg axisymmetric | |||
X2-end axisymmetric | |||
X3-beg periodic | |||
X3-end periodic | |||
</syntaxhighlight> | |||
[[File:BA-FW-PROBLEM-JET-M25-HALF-DOMAIN-LOW-RES-PRS-THETA.png|700px|thumb|center|Fig. 3: Plot des Druckes über Theta, für verschiedene R, für das ursprüngliche Setup]] | |||
=== Größere Auflösung (1110x200) === | |||
Für den Fall größerer Auflösung ist der "Jet" deutlich kleiner. Dazu dieser nicht mehr an der innersten Zelle der X2-BEG Boundary. | |||
[[File:BA-FW-PROBLEM-JET-M25-HALF-DOMAIN-HIGH-RES.png|250px|thumb|right|Fig.4: Plot des Druckes über Theta und R, für eine größere Auflösung (1110x200)]] | |||
Gitter-Setup in der ''pluto.ini'': | |||
<syntaxhighlight lang="ini" line="1" start="1"> | |||
[Grid] | |||
X1-grid 1 1e-6 1110 l+ 20.0 | |||
X2-grid 1 0 200 u 3.14159265359 | |||
X3-grid 1 0.0 1 u 6.28318530718 | |||
[Boundary] | |||
X1-beg userdef | |||
X1-end userdef | |||
X2-beg axisymmetric | |||
X2-end axisymmetric | |||
X3-beg periodic | |||
X3-end periodic | |||
</syntaxhighlight> | |||
[[File:BA-FW-PROBLEM-JET-M25-HALF-DOMAIN-HIGH-RES-PRS-THETA.png|700px|thumb|center|Fig. 5:Plot des Druckes über Theta, für verschiedene R, für eine größere Auflösung.]] | |||
=== Verschieben der X2-BEG Boundary bei originaler Auflösung (550x200) === | |||
Für dieses Grid-Setup entsteht ein sehr ähnlicher Fehler zu dem mit der selben Auflösung aber der originellen X2-BEG Boundary Position. | |||
[[File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN.png|250px|thumb|right|Fig. 6: Plot des Drucks über Theta und R, für eine größere Auflösung (1110x200)]] | |||
Gitter-Setup in der ''pluto.ini'': | |||
<syntaxhighlight lang="ini" line="1" start="1"> | |||
[Grid] | |||
X1-grid 1 1e-6 550 l+ 20.0 | |||
X2-grid 1 -3.14159265359 200 u 3.14159265359 | |||
X3-grid 1 0.0 1 u 6.28318530718 | |||
[Boundary] | |||
X1-beg userdef | |||
X1-end userdef | |||
X2-beg periodic | |||
X2-end periodic | |||
X3-beg periodic | |||
X3-end periodic | |||
</syntaxhighlight> | |||
[[File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN-LOW-RES-PRS-THETA.png|700px|thumb|center|Fig. 7: Plot des Druckes über Theta, für verschiedene R, für eine Verschiebung der X2-BEG Boundary bei ursprünglicher Auflösung]] | |||
=== Verschieben der X2-BEG Boundary bei größere Auflösung (1110x500) === | |||
Für diesen Fall ist erneut der "Jet" sehr klein und kaum erkennbar. | |||
[[File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN-HIGH-RES.png|250px|thumb|right|Fig. 8: Plots für unterschiedliche Theta über R. Selbe Daten wie in Fig. 1]] | |||
Gitter-Setup in der ''pluto.ini'': | |||
<syntaxhighlight lang="ini" line="1" start="1"> | |||
[Grid] | |||
X1-grid 1 1e-6 1110 l+ 20.0 | |||
X2-grid 1 -3.14159265359 500 u 3.14159265359 | |||
X3-grid 1 0.0 1 u 6.28318530718 | |||
[Boundary] | |||
X1-beg userdef | |||
X1-end userdef | |||
X2-beg periodic | |||
X2-end periodic | |||
X3-beg periodic | |||
X3-end periodic | |||
</syntaxhighlight> | |||
[[File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN-HIGH-RES-PRS-THETA.png|700px|thumb|center|Fig. 9: Plot des Druckes über Theta, für verschiedene R, für eine Verschiebung der X2-BEG Boundary bei größerer Auflösung]] | |||
=== Schlüsse aus den Simulationen mit verschiedenen Grid-Setups === | |||
Ich glaube das die X2 Boundary nicht direkt die Ursache für dieses Fehler sein kann, da der Jet auch auftritt, wenn ich diese verschiebe. --[[User:Fynn.W|Fynn.W]] ([[User talk:Fynn.W|talk]]) 17:55, 17 May 2024 (CEST) | |||
: Ich verstehe das mit dem \(X_2=\theta\in[-\pi,\pi]\) nicht. Geht das einfach so, rechnet der dann echt beide Hälften der x/z-Ebene unabhängig? --[[User:Lothar.brendel|Lothar]] ([[User talk:Lothar.brendel|talk]]) 18:12, 17 May 2024 (CEST) | |||
:: Da bin ich mir auch nicht ganz sicher. Ich bin jetzt erstmal davon ausgegangen, weil mir in Visit das Mesh richtig angezeigt wurde und weil die Ergebnisse wie erwartet aussehen. Bis jetzt ist mir aber auch noch keine Idee gekommen, wie ich testen könnte, ob sich das Grid so verhält, wie ich es mir erhoffe. Emilio hatte auch angemerkt, dass \(X_2=\theta\) in Kugelkoordinaten nur für \(X_2=\theta\in[0,\pi]\) definiert ist. Belt hat aber zumindest keine Fehler ausgegeben. --[[User:Fynn.W|Fynn.W]] ([[User talk:Fynn.W|talk]]) 11:19, 18 May 2024 (CEST) | |||
::: Ich bin verblüfft, dass es überhaupt funktioniert. Aber Du könntest das Feld über \(\theta\in[-0.4,0.4]\) plotten, dann sollte doch klar werden, ob es korrekt interpretiert wurde.<br> Das [https://plutocode.ph.unito.it/userguide.pdf Manual] sagt übrigens auf Seite 18, Du solltest <code>polaraxis</code> statt <code>axisymmetric</code> als RB für \(\theta\in[0,\pi]\) benutzen. --[[User:Lothar.brendel|Lothar]] ([[User talk:Lothar.brendel|talk]]) 17:16, 18 May 2024 (CEST) | |||
:::: Es scheint so als würde das Grid von Pluto richtig erstellt werden (Fig. 10) --[[User:Fynn.W|Fynn.W]] ([[User talk:Fynn.W|talk]]) 01:21, 20 May 2024 (CEST) | |||
[[File:BA-FW-FULL-DOMAIN-SHOWCASE.png|700px|thumb|center|Fig. 10: Plot des Druckes für den Fall mit der verschobenen X2-BEG Boundary bei originaler Auflösung. In diesem Fall ist in der 'pluto.ini' Theta: \(\theta\in[-\pi,\pi]\). Im Plot ist dieses Verhalten erkennbar]] | |||
::: Ach, hast Du ja in den FULL-DOMAINs [[:File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN.png|Nr. 1]] und [[:File:BA-FW-PROBLEM-JET-M25-FULL-DOMAIN-HIGH-RES.png|Nr. 2]] längst gemacht. Nun, dem Manual nach ist die Koordinatensingularität (\(\sin\theta=0\)) nicht unproblematisch, und die hast Du dann ja auch bei Deinen FULL-DOMAIN-Rechnungen. Es liest sich aber auch nicht so, als würde <code>polaraxis</code> statt <code>axisymmetric</code> das Problem tatsächlich lösen, es scheint eher nur für 3D relevant zu sein. Aber einen Versuch ist es ja mal wert. --[[User:Lothar.brendel|Lothar]] ([[User talk:Lothar.brendel|talk]]) 08:16, 19 May 2024 (CEST) | |||
=== Streamlines für verschiedene Auflösungen === | |||
Mir ist grade auch aufgefallen, dass für verschiedene Auflösungen die Streamlines andres aussehen. Die Streamlines in dem Plot werden auf folgender Line gestartet und in beide Richtungen entwickelt. Dabei sind die Startpunkte auf dieser Line uniform verteilt: | |||
Streamline-Startpunkte: | |||
<syntaxhighlight lang="ini" line="1" start="1"> | |||
lineStart: x=0 z=2e-06 | |||
lineEnd: x=3e-06 z=2e-06 | |||
</syntaxhighlight> | |||
[[File:BA-FW-JET-PROBLEM-STREAMLINE-RES.png|900px|thumb|center|Fig. 11: Links ist ein Beispiel mit geringer Auflösung und rechts mit etwa doppelt so großer Auflösung. Der Plot "hinter" den Streamlines ist der Druck. Für den Fall niedriger Auflösung ist der Jet deutlicher zu erkennen. Die unterschiedlichen Farben liegen an der Skala der Colorbar. Außerdem sieht man wie unterschiedlich das Verhalten der Streamlines ist. Die unterschiedliche Form der Streamlines ist auch im Geschwindigkeits-Feld als dieser "Cone" zu erkennen]] |
Revision as of 14:06, 21 May 2024
negativer Druck
Hilf ein Absenken des initialen Zeitschritts? --Lothar (talk) 07:53, 26 April 2024 (CEST)
Es scheint, dass das Absenken des initialen Zeitschritts nicht hilft. Ich habe einfach mal die logs für verschiedene Einstellung des initialen Zeitschritts beigefügt.
Für \( dt=10^{-10} \)
> Starting computation...
step:0; t = 0.0000e+00; dt = 1.0000e-10; 0.0 %
[Mach = 49.994517]
! ConsToPrim(): p(E) < 0 (-2.34e-05), @step = 66 (stage = 1); [i,j = 2, 73], [x1,x2 = 0.000001, 2.246239]
! ConsToPrim(): p(E) < 0 (-1.27e-05), @step = 66 (stage = 1); [i,j = 2, 74], [x1,x2 = 0.000001, 2.277655]
Für \( dt=10^{-15} \)
> Starting computation...
step:0; t = 0.0000e+00; dt = 1.0000e-15; 0.0 %
[Mach = 49.994517]
step:100; t = 1.3780e-10; dt = 1.3781e-11; 0.0 %
[Mach = 49.995660]
! ConsToPrim(): p(E) < 0 (-3.49e-06), @step = 186 (stage = 2); [i,j = 2, 73], [x1,x2 = 0.000001, 2.246239]
! ConsToPrim(): p(E) < 0 (-1.84e-06), @step = 187 (stage = 1); [i,j = 2, 72], [x1,x2 = 0.000001, 2.214823]
Für \( dt=10^{-20} \)
> Starting computation...
step:0; t = 0.0000e+00; dt = 1.0000e-20; 0.0 %
[Mach = 49.994517]
step:100; t = 1.3780e-15; dt = 1.3781e-16; 0.0 %
[Mach = 49.994517]
step:200; t = 1.8991e-11; dt = 1.8991e-12; 0.0 %
[Mach = 49.994517]
step:300; t = 1.3811e-07; dt = 5.1143e-09; 0.0 %
[Mach = 57.016462]
! ConsToPrim(): p(E) < 0 (-7.80e-06), @step = 307 (stage = 1); [i,j = 2, 73], [x1,x2 = 0.000001, 2.246239]
! ConsToPrim(): p(E) < 0 (-8.17e-06), @step = 307 (stage = 2); [i,j = 2, 73], [x1,x2 = 0.000001, 2.246239]
--Fynn.W (talk) 09:51, 26 April 2024 (CEST)
- Aha, die Schrittweitensteuerung fährt den Zeitschritt wieder rauf (klar), macht ihn dabei aber zu groß. Die Grenze scheint bei \(10^{-11}\) zu liegen. --Lothar (talk) 09:59, 26 April 2024 (CEST)
- Die Ausgabe
[Mach =
... ist das Maximum über alle Zellen? --Lothar (talk) 10:28, 26 April 2024 (CEST)
der "Jet"
Für größere Mach Zahlen sind in Druck und Dichte Feld ein "Jet" (Shaghayegh) zu erkennen (s. Fig. 1). Der Fehler tritt nur an der X2-Boundary auf, welche in der 'pluto.ini' als 'axisymmetric' definiert wird.
Für das Feld in Fig. 1 wurde auch der minimale Druck aus der 'Restrictions.conf' entfernt, welcher zuvor auf den Wert 1e-16 (in cgs-Einheiten) festgelegt wurde, um die Fehler zu Beginn der Simulation vermeiden zu können. Ich habe diesen Entfernt, weil der unterschied des Minimalen Drucks in der Simulation dem in 'Restrictions.conf sehr ähnlich wurde. Um zu überprüfen ob die Einstellung des minimalen Drucks eine Auswirkung auf den "Jet" hat, habe ich die selbe Simulation mit einem Minimalen Druck von 1e-17 (cgs) druchgeführt. Das Ergebnis ist das selbe. Wenn ich allerdings Versuche den Druck noch kleiner einzustellen treten die Fehler von zuvor wieder auf (ConsToPrim(): p(E) < 0).
Ich habe auch einmal den Druck in den Zellen für verschiedene Theta geplottet (Fig. 2). Dabei erkennt man, dass die innersten Zellen (\( \theta \approx 0.016 \)) sich vom Verlaufen stark von dass Nachbarn unterscheiden.
Änderung des Gitters
Da in den obigen Simulation der Jet immer nur an den nächsten Zellen zur X2-BEG Boundary zu beobachten war, habe ich für selbe Setup mir verschiedene Gittereinstellungen angeguckt. Geändert habe ich dabei die Position der X2-BEG Boundary und die Auflösung des Gitters. Das Gitter aus den vorherigen Simulation (Auflösung : 550x100) hatte folgende Form:
[Grid]
X1-grid 1 1e-6 550 l+ 20.0
X2-grid 1 0.0 100 u 3.14159265359
X3-grid 1 0.0 1 u 6.28318530718
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg axisymmetric
X2-end axisymmetric
X3-beg periodic
X3-end periodic
Größere Auflösung (1110x200)
Für den Fall größerer Auflösung ist der "Jet" deutlich kleiner. Dazu dieser nicht mehr an der innersten Zelle der X2-BEG Boundary.
Gitter-Setup in der pluto.ini:
[Grid]
X1-grid 1 1e-6 1110 l+ 20.0
X2-grid 1 0 200 u 3.14159265359
X3-grid 1 0.0 1 u 6.28318530718
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg axisymmetric
X2-end axisymmetric
X3-beg periodic
X3-end periodic
Verschieben der X2-BEG Boundary bei originaler Auflösung (550x200)
Für dieses Grid-Setup entsteht ein sehr ähnlicher Fehler zu dem mit der selben Auflösung aber der originellen X2-BEG Boundary Position.
Gitter-Setup in der pluto.ini:
[Grid]
X1-grid 1 1e-6 550 l+ 20.0
X2-grid 1 -3.14159265359 200 u 3.14159265359
X3-grid 1 0.0 1 u 6.28318530718
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg periodic
X2-end periodic
X3-beg periodic
X3-end periodic
Verschieben der X2-BEG Boundary bei größere Auflösung (1110x500)
Für diesen Fall ist erneut der "Jet" sehr klein und kaum erkennbar.
Gitter-Setup in der pluto.ini:
[Grid]
X1-grid 1 1e-6 1110 l+ 20.0
X2-grid 1 -3.14159265359 500 u 3.14159265359
X3-grid 1 0.0 1 u 6.28318530718
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg periodic
X2-end periodic
X3-beg periodic
X3-end periodic
Schlüsse aus den Simulationen mit verschiedenen Grid-Setups
Ich glaube das die X2 Boundary nicht direkt die Ursache für dieses Fehler sein kann, da der Jet auch auftritt, wenn ich diese verschiebe. --Fynn.W (talk) 17:55, 17 May 2024 (CEST)
- Ich verstehe das mit dem \(X_2=\theta\in[-\pi,\pi]\) nicht. Geht das einfach so, rechnet der dann echt beide Hälften der x/z-Ebene unabhängig? --Lothar (talk) 18:12, 17 May 2024 (CEST)
- Da bin ich mir auch nicht ganz sicher. Ich bin jetzt erstmal davon ausgegangen, weil mir in Visit das Mesh richtig angezeigt wurde und weil die Ergebnisse wie erwartet aussehen. Bis jetzt ist mir aber auch noch keine Idee gekommen, wie ich testen könnte, ob sich das Grid so verhält, wie ich es mir erhoffe. Emilio hatte auch angemerkt, dass \(X_2=\theta\) in Kugelkoordinaten nur für \(X_2=\theta\in[0,\pi]\) definiert ist. Belt hat aber zumindest keine Fehler ausgegeben. --Fynn.W (talk) 11:19, 18 May 2024 (CEST)
- Ich bin verblüfft, dass es überhaupt funktioniert. Aber Du könntest das Feld über \(\theta\in[-0.4,0.4]\) plotten, dann sollte doch klar werden, ob es korrekt interpretiert wurde.
Das Manual sagt übrigens auf Seite 18, Du solltestpolaraxis
stattaxisymmetric
als RB für \(\theta\in[0,\pi]\) benutzen. --Lothar (talk) 17:16, 18 May 2024 (CEST)
- Ich bin verblüfft, dass es überhaupt funktioniert. Aber Du könntest das Feld über \(\theta\in[-0.4,0.4]\) plotten, dann sollte doch klar werden, ob es korrekt interpretiert wurde.
- Da bin ich mir auch nicht ganz sicher. Ich bin jetzt erstmal davon ausgegangen, weil mir in Visit das Mesh richtig angezeigt wurde und weil die Ergebnisse wie erwartet aussehen. Bis jetzt ist mir aber auch noch keine Idee gekommen, wie ich testen könnte, ob sich das Grid so verhält, wie ich es mir erhoffe. Emilio hatte auch angemerkt, dass \(X_2=\theta\) in Kugelkoordinaten nur für \(X_2=\theta\in[0,\pi]\) definiert ist. Belt hat aber zumindest keine Fehler ausgegeben. --Fynn.W (talk) 11:19, 18 May 2024 (CEST)
- Ach, hast Du ja in den FULL-DOMAINs Nr. 1 und Nr. 2 längst gemacht. Nun, dem Manual nach ist die Koordinatensingularität (\(\sin\theta=0\)) nicht unproblematisch, und die hast Du dann ja auch bei Deinen FULL-DOMAIN-Rechnungen. Es liest sich aber auch nicht so, als würde
polaraxis
stattaxisymmetric
das Problem tatsächlich lösen, es scheint eher nur für 3D relevant zu sein. Aber einen Versuch ist es ja mal wert. --Lothar (talk) 08:16, 19 May 2024 (CEST)
- Ach, hast Du ja in den FULL-DOMAINs Nr. 1 und Nr. 2 längst gemacht. Nun, dem Manual nach ist die Koordinatensingularität (\(\sin\theta=0\)) nicht unproblematisch, und die hast Du dann ja auch bei Deinen FULL-DOMAIN-Rechnungen. Es liest sich aber auch nicht so, als würde
Streamlines für verschiedene Auflösungen
Mir ist grade auch aufgefallen, dass für verschiedene Auflösungen die Streamlines andres aussehen. Die Streamlines in dem Plot werden auf folgender Line gestartet und in beide Richtungen entwickelt. Dabei sind die Startpunkte auf dieser Line uniform verteilt:
Streamline-Startpunkte:
lineStart: x=0 z=2e-06
lineEnd: x=3e-06 z=2e-06