|
Die Konvektionsgleichung |
|
- Die 1D-Konvektionsgleichung lautet (d/dt)u + a (d/dx)u = 0, wobei
hier x >= 0, t >= 0 und der Konvektionsparameter a > 0 sind. Um eine
sinnvolle Problemstellung zu erhalten, wählen wir als
Anfangs- und Randwerte u(x,0) = h(x) (für beliebiges x).
Die Lösung ist konstant auf den Geraden, den sogenannten Charakteristiken,
t=(1/a)*x+const und daher lautet die Lösung
u(x,t)=h(x-a*t).
- Wir beschränken uns auf den Bereich [0,xend] × [0,tend].
Der Zeitschritt
wird als
δt = tend/m berechnet und
der Raumschritt als δx=xend/n
mit vorgebbaren n, m.
Wir benötigen aber 2n+1 Werte auf der x-Achse jedenfalls für
zwei unserer Verfahren (s.u.)
stellen jedoch nur den Bereich der ersten n+1 Gitterpunkte dar.
- Konvektionsgleichungen beschreiben Transportvorgänge. Im Falle von
a > 0 wird der Anfangszustand in positiver x-Richtung mit der Zeit
transportiert. Die Geschwindigkeit ist der Parameter a.
- Die drei verwendeten Verfahren (Friedrichs-, Lax-Wendroff- und das
upwind-Verfahren) sind Differenzenverfahren. Friedrichs und upwind sind von 1.
Ordnung und Lax-Wendroff von 2. Ordnung konsistent (und konvergent, falls
die CFL-Bedingung eingehalten wird).
Alle drei Verfahren approximieren die Lösung auf einem Gitter mit den
Gitterintervallen δt und δx .
- Wichtig bei der Anwendung der Verfahren ist, daß die
Stabilitätsbedingung CFL eingehalten wird. Diese lautet bei allen drei
Verfahren a (δt/δx) <= 1.
|
|
|
Die Eingaben |
|
- Zunächst wird das Verfahren gewählt.
- Danach werden die Anfangswerte eingegeben. Es gibt eine feste Auswahl und
die Möglichkeit, eine eigene Funktion h(x) einzugeben. Die Eingabe
dieser Funktion erfolgt in der FORTRAN-Konvention !
- Benötigt wird weiterhin der Parameter a. Wichtig : a >
0 !
- Die Gittergrößen xend, n, tend, m .
Achtung : Hier spielt die Stabilitätsbedingung eine Rolle !
- Für die grafische Ausgabe kann die Anzahl der Gitterlinien in x
bzw. t-Richtung angeben werden (gridx bzw. gridt) und zwei
Rotationswinkel für den 3D-Plot.
|
|
|
Die Ausgaben |
|
- Ausgegeben wird eine grafische Darstellung des Fehlers uh -
u, wobei ''h'' für δt bzw.
δx steht.
|
|
|
Was ist interessant ? |
|
- Wie verhalten sich die unterschiedlichen Verfahren bei der
Anfangswertvorgabe h(x) = sign(1.0e0,x) ?
- Was passiert, wenn die Stabilitätsbedingung verletzt wird ?
- Lässt sich die Konvergenzordnung verifizieren ?
|
|
|
|
| |