Übungsblatt 4 – Musterlösung .Matrix resultiert: A2 = c c c c c c c c c ∈R 9× Die rechte...

download Übungsblatt 4 – Musterlösung .Matrix resultiert: A2 = c c c c c c c c c ∈R 9× Die rechte Seite

of 13

  • date post

    20-Aug-2019
  • Category

    Documents

  • view

    215
  • download

    0

Embed Size (px)

Transcript of Übungsblatt 4 – Musterlösung .Matrix resultiert: A2 = c c c c c c c c c ∈R 9× Die rechte...

  • MSE Mathe 4 SoSe 2019

    Übungsblatt 4 – Musterlösung

    Aufgabe 1 (Diskretisierung von Advektions-Diffusionsgleichungen)

    Randwertprobleme der Form

    −ǫu′′ + βu′ = 0, 0 < x < 1, u(0) = 0, u(1) = 1, β, ǫ > 0.

    (1)

    werden verwendet, um Prozesse der Diffusion und Advektion einer bestimmten Konzen- tration, die mit u identifiziert wird, zu beschreiben. Der Term −ǫu′′ ist verantwortlich für Diffusion, βu′ für die Advektion (oder Transport). Die analytische Lösung der Gleichung (1) lautet

    u(x) = exp

    (

    β

    ε x )

    − 1 exp

    (

    β

    ε

    )

    − 1 . (2)

    Wir definieren die globale Pécletzahl als: Pegl = β

    2ǫ .

    a) Diskutieren Sie das Verhalten der analytischen Lösung (2) für sehr kleine (Pegl ≪ 1) und sehr große globale Pécletzahlen (Pegl ≫ 1).

    b) Diskretisieren Sie das obige Randwertproblem mit dem Finite Differenzen-Verfahren und stellen Sie zu einer Gitterweite h = 1/(n + 1) (n Anzahl innerer Knoten) das zugehörige Gleichungssystem für den Vektor u = (u0, . . . , un+1)

    T auf. Mit ui beze- ichnen wir die numerische Approximation am Gitterpunkt xi = h · i. Verwenden Sie zur Approximation der ersten Ableitung den symmetrischen Differenzenquotienten.

    c) Zeigen Sie, dass sich die numerische Approximation ui am Gitterpunkt xi darstellen lässt als

    ui = 1−

    (

    1+Pe 1−Pe

    )i

    1− (

    1+Pe 1−Pe

    )n+1 , i = 0, . . . , n + 1,

    wobei Pe = βh 2ǫ

    die lokale Pécletzahl bezeichnet. Hinweis: Verwenden Sie den Ansatz

    ui = A1ρ i 1 + A2ρ

    i 2.

    Bestimmen Sie die Konstanten A1 und A2 aus den Randbedingungen. Diskutieren Sie das Verhalten der Lösung für verschiedene lokale Pécletzahlen, d.h. wenn Pe < 1 und Pe > 1.

    d) Wiederholen Sie Teilaufgabe b). Approximieren Sie die erste Ableitung nun aber durch einen geeigneten einseitigen Differenzenquotienten. Implementieren Sie die

    1

  • Approximationsverfahren aus b) und c) in Matlab. Verwenden Sie die Parameter ǫ = 8.0 · 10−4, β = 1 und plotten Sie die numerischen Lösungen für

    h ∈ {

    1

    200 ,

    1

    400 ,

    1

    600 ,

    1

    800 ,

    1

    1000

    }

    .

    Was beobachten Sie? Hinweis: Verwenden Sie die Matlab-Dateien, welche auf der Vorlesungshomepage zur Verfügung gestellt wurden und vervollständigen Sie diese.

    Lösung 1 (Diskretisierung von Advektions-Diffusionsgleichungen)

    a) Bekannt ist die Definition der Exponentialfunktion als Potenzreihe ex := ∑

    n=0 xn

    n! .

    Ist β ǫ ≪ 1, so können wir die Exponentialfunktionen um 0 bis zur ersten Ordnung

    entwickeln und erhalten

    u(x) = 1 + β

    ǫ x + . . .− 1

    1 + β ǫ

    + . . .− 1 ≈

    β

    ǫ x

    β

    ǫ

    = x.

    Folglich ist die Lösung nahe der Lösung des Grenzproblems −ǫu′′ = 0, also die Gerade die die Randbedingungen interpoliert. Für große globale Pécletzahlen d.h. β

    ǫ ≫ 1, ist die Exponentialfunktion im Vergleich

    zur 1 so groß, dass die folgende Näherung gilt:

    u(x) ≈ exp

    (

    β

    ǫ x )

    exp (

    β

    ǫ

    ) = exp

    [

    −β ǫ

    (1− x) ]

    .

    Die Lösung u ist fast überall gleich Null, mit Ausnahme einer kleinen Nachbarschaft des Punktes x = 1, wo der Term 1− x sehr klein wird und die Lösung sich der Eins exponentiell nähert. Die Länge dieses Intervalls ist von der Größenordnung ǫ/β und ist damit in diesem Falle sehr klein. Das folgende Bild zeigt die exakte Lösung für ǫ = 0.1 und β ∈ {0.1, 1.1, 2.1, 3.1, 4.1}. Wie erwartet nähert sich der Graph der Lösung u für größer werdendes β einer Exponentialfunktion mit einer großen Steigung in der Nähe von x = 1 an.

    b) Diskretisiert man an einem inneren Gitterpunkt xi die erste Ableitung mit einem zentralen Differenzenquotienten und die zweite Ableitung mit dem üblichen Dif- ferenzenquotienten, so ergibt sich für die i-te Zeile des Gleichungssystems:

    ǫ (−ui−1 + 2ui − ui+1

    h2

    )

    + β (

    ui+1 − ui−1 2h

    )

    = 0, i = 1, . . . , n. (3)

    Multiplikation von (3) mit h2/ǫ ergibt:

    (Pe− 1) ui+1 + 2ui − (Pe + 1) ui−1 = 0, i = 1, . . . , n, (4) wobei Pe = βh

    2ǫ . Die (erweiterte) Matrix A sieht somit wie folgt aus:

    A =

    1 0 · · · · · · 0 −(Pe + 1) 2 Pe− 1

    . . . . . . . . . −(Pe + 1) 2 Pe− 1

    0 · · · · · · 0 1

    ←1. Zeile }

    n Zeilen

    ←(n + 2). Zeile

    (5)

    2

  • 0 0.2 0.4 0.6 0.8 1 0

    0.2

    0.4

    0.6

    0.8

    1

    x

    u

    Exakte Loesung

    Abbildung 1: Exakte Lösung für ǫ = 0.1 und β ∈ {0.1, 1.1, 2.1, 3.1, 4.1}.

    Für die rechte Seite f = (f0, . . . , fn+1)⊤ des erweiterten linearen Gleichungssystems Au = f gilt

    fi = 0, 0 ≤ i ≤ n, und fn+1 = 1.

    c) Die Gleichung (4) entspricht einer Differenzengleichung. Setzt man den vorgegebe- nen Ansatz in diese Gleichung ein, so erhält man für die inneren Gitterpunkte:

    A1 (

    (Pe− 1) ρ21 + 2ρ1 − (Pe + 1) )

    ρi−11 + A2 (

    (Pe− 1) ρ22 + 2ρ2 − (Pe + 1) )

    ρi−12 = 0.

    Diese Gleichung ist erfüllt, falls ρ1 und ρ2 die charakteristische Gleichung

    (Pe− 1) ρ2 + 2ρ− (Pe + 1) = 0 erfüllen. Es folgt:

    ρ1,2 = −1±

    √ 1 + Pe2 − 1

    Pe− 1 ⇒ 

    ρ1 = 1,

    ρ2 = 1+Pe 1−Pe

    .

    Aus den Randbedingungen ergibt sich für die Konstanten A1 und A2:

    0 = u0 = A1ρ 0 1 + A2ρ

    0 2 ⇒ A2 = −A1

    1 = un+1 = A1ρ n+1 1 + A2ρ

    n+1 2 ⇒ A1 =

    1

    1− (

    1+Pe 1−Pe

    )n+1 ,

    so dass sich die numerische Lösung an einem inneren Gitterpunkt xi wie folgt berech- nen lässt:

    ui =

    1− (

    1 + Pe

    1− Pe

    )i 

    /

    1− (

    1 + Pe

    1− Pe

    )n+1 

    Für Pe > 1 ergeben sich in der numerischen Lösung Potenzen mit negativer Basis, die zu einer oszillierenden Lösung führen (siehe Abbildung 4). Das einfachste Mittel zur Unterdrückung der Oszillationen besteht darin, die Schrittweite h so klein zu wählen, dass Pe < 1 gilt. Dies ist in bestimmten Situationen nicht praktikabel, wenn z.B. β = 1 und ǫ = 5 · 10−5 gilt, müsste man h < 10−4 wählen. Dies ist vor allem für mehrdimensionale Probleme ineffizient.

    3

  • Abbildung 2: Numerische Lösung für ǫ = 0.01, β = 1 und N = 31, 41, 49, 51, 61.

    d) Diskretisiert man an einem inneren Gitterpunkt xi die erste Ableitung mit einem Vorwärts-Differenzenquotienten und die zweite Ableitung mit dem üblichen Dif- ferenzenquotienten, so ergibt sich für die i-te Zeile des Gleichungssystems:

    ǫ

    h (−ui−1 + 2ui − ui+1) + β (ui+1 − ui) = 0, i = 1, . . . , n.

    Benutzt man den Rückwärts-Differenzenquotienten für die erste Ableitung so erhält man:

    ǫ

    h (−ui−1 + 2ui − ui+1) + β (ui − ui−1) = 0, i = 1, . . . , n.

    Für die rechte Seite f = (f0, . . . , fn+1)⊤ des erweiterten linearen Gleichungssystems Au = f gilt in beiden Fällen:

    fi = 0, 0 ≤ i ≤ n, und fn+1 = 1

    mit

    A(0, i) =

    1 für i = 0

    0 für i 6= 0, und A(n + 1, i) =

    1 für i = n + 1

    0 für i 6= n + 1.

    Mögliche Implementierungen in Matlab können wie folgt aussehen:

    Listing 1: ZDQ_sol.m

    1 function [ u ] = ZDQ(N,epsilon,beta)

    2

    3 A = zeros(N+2,N+2);

    4 b = zeros(N+2,1);

    5 h = 1/N;

    6

    7 P = beta*h/(2*epsilon);

    8

    9 for i=2:N+1

    10 A(i,i) = 2;

    11 A(i,i+1) = P-1;

    4

  • 12 A(i,i-1) = -(P+1);

    13 end

    14

    15 A(1,:) = 0; A(1,1) = 1;

    16 A(N+2,:) = 0; A(N+2,N+2) = 1;

    17 b(N+2) = 1;

    18

    19 u = A\b;

    20

    21 end

    Listing 2: VDQ_sol.m

    1 function [ u ] = VDQ(N,epsilon,beta)

    2

    3 A = zeros(N+2,N+2);

    4 b = zeros(N+2,1);

    5 h = 1/N;

    6

    7 P = beta*h/epsilon;

    8

    9 for i=2:N+1

    10 A(i,i) = 2-P;

    11 A(i,i-1) = -1;

    12 A(i,i+1) = P-1;

    13 end

    14

    15 A(1,:) = 0; A(1,1) = 1;

    16 A(N+2,:) = 0; A(N+2,N+2) = 1;

    17 b(N+2) = 1;

    18

    19 u = A\b;

    20

    21 end

    Listing 3: RDQ_sol.m

    1 function [ u ] = RDQ(N,epsilon,beta)

    2

    3 A = zeros(N+2,N+2);

    4 b = zeros(N+2,1);

    5 h = 1/N;

    6

    7 P = beta*h/epsilon;

    8

    9 for i=2:N+1

    10 A(i,i) = 2+P;

    11 A(i,i+1) = -1;

    12 A(i,i-1) = -(1+P);

    13 end

    14

    5

  • 15 A(1,:) = 0; A(1,1) = 1;

    16 A(N+2,:) = 0; A(N+2,N+2) = 1;

    17 b(N+2) = 1;

    18

    19 u = A\b;

    20

    21 end

    Bei der numerischen Umsetzung der einseitigen Differenzen und der symmetrischen Differ