Talk:BA Fynn Wawrzyniak

From Arbeitsgruppe Kuiper
Revision as of 08:16, 19 May 2024 by Lothar.brendel (talk | contribs) (Koordinatensingularität)
Jump to navigation Jump to search

ConsToPrim(): p(E) < 0

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)
So wie es aussieht handelt es sich um die Maximale Mach Zahl --Fynn.W (talk) 14:58, 26 April 2024 (CEST)

Problem "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.

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.

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:

[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
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.

Fig.4: Plot des Druckes über Theta und R, für eine größere Auflösung (1110x200)

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
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.

Fig. 6: Plot des Drucks über Theta und R, für eine größere Auflösung (1110x200)

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
Fig. 2: 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.

Fig. 2: Plots für unterschiedliche Theta über R. Selbe Daten wie in Fig. 1


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
Fig. 2: 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. --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 solltest polaraxis statt axisymmetric als RB für \(\theta\in[0,\pi]\) benutzen. --Lothar (talk) 17:16, 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 statt axisymmetric das Problem tatsächlich lösen. Aber einen Versuch ist es ja mal wert. --Lothar (talk) 08:16, 19 May 2024 (CEST)