of 25 /25
Numerische Lösung Partieller Differentialgleichungen Wir haben verschiedene einfache partielle Differentialgleichungen kennen ge- lernt – Bestimmungsgleichungen für stationäre oder zeitlich veränderliche Fel- der. Beispiele sind die Laplace- und Poisson-Gleichung für stationäre Felder, die Wärmeleitungs- und Diffusionsgleichung für zeitlich langsam veränderliche so- wie die Wellengleichung für schnell veränderliche Felder. Solange die Geometrie des Problems nicht zu komplex ist, können wir analytische Lösungen dafür ange- ben, diese geben uns einen anschaulichen funktionalen Eindruck von der Struktur des Problems und der Lösung. Grundsätzlich geht das oft auch bei komplexeren Problemen, zumindest dann, wenn sie linear sind, d. h. wenn man Lösungsfunk- tionen ungestört überlagern kann. Die Gesamtlösung kann dann als Summe oder Integral über einfachere Lösungsfunktionen angegeben werden. Da dies jedoch rasch unübersichtlich wird, verwendet man bei technischen Problemen meist nu- merische Lösungsverfahren. Einfache numerische Algorithmen beruhen auf der Finite-Differenzen-Metho- de, die Wikipedia-Beschreibung dazu sehen Sie in der ersten Box. Hier wer- Wikipedia: Finite-Differenzen-Methode a Die Finite-Differenzen-Methode ist das einfachste numerische Verfah- ren zur Lösung partieller Differenti- algleichungen. Zunächst wird das Gebiet, für das die Gleichung gelten soll, in eine end- liche (finite) Zahl von Gitterzellen durch senkrecht aufeinander stehen- de Linien zerlegt. Die Ableitungen an den Gitterzellen werden dann durch Differenzen approximiert. Die parti- ellen Differentalgleichungen werden so in ein System von Differenzen- Gleichungen umformuliert und mit- tels verschiedener Algorithmen ent- weder implizit oder explizit gelöst. Verfahren dieser Art finden verbrei- tete Anwendung bei hydrodynami- schen Simulationen zum Beispiel in der Meteorologie und der Astrophy- sik. a http://de.wikipedia.org/wiki/Finite-Differenzen-Methode KLAUS.BETZLER@UNI -OSNABRUECK. DE 19. J UNI 2005

Numerische Lösung Partieller Differentialgleichungen · PDF file2 den wir uns ausschließlich mit solchen einfachen Algorithmen beschäftigen. Ein ähnlich klingendes Verfahren, die

Embed Size (px)

Text of Numerische Lösung Partieller Differentialgleichungen · PDF file2 den wir uns...

  • Numerische Lsung

    Partieller Differentialgleichungen

    Wir haben verschiedene einfache partielle Differentialgleichungen kennen ge-lernt Bestimmungsgleichungen fr stationre oder zeitlich vernderliche Fel-der. Beispiele sind die Laplace- und Poisson-Gleichung fr stationre Felder, dieWrmeleitungs- und Diffusionsgleichung fr zeitlich langsam vernderliche so-wie die Wellengleichung fr schnell vernderliche Felder. Solange die Geometriedes Problems nicht zu komplex ist, knnen wir analytische Lsungen dafr ange-ben, diese geben uns einen anschaulichen funktionalen Eindruck von der Strukturdes Problems und der Lsung. Grundstzlich geht das oft auch bei komplexerenProblemen, zumindest dann, wenn sie linear sind, d. h. wenn man Lsungsfunk-tionen ungestrt berlagern kann. Die Gesamtlsung kann dann als Summe oderIntegral ber einfachere Lsungsfunktionen angegeben werden. Da dies jedochrasch unbersichtlich wird, verwendet man bei technischen Problemen meist nu-merische Lsungsverfahren.

    Einfache numerische Algorithmen beruhen auf der Finite-Differenzen-Metho-de, die Wikipedia-Beschreibung dazu sehen Sie in der ersten Box. Hier wer-

    Wikipedia: Finite-Differenzen-Methodea

    Die Finite-Differenzen-Methode istdas einfachste numerische Verfah-ren zur Lsung partieller Differenti-algleichungen.Zunchst wird das Gebiet, fr das dieGleichung gelten soll, in eine end-liche (finite) Zahl von Gitterzellendurch senkrecht aufeinander stehen-de Linien zerlegt. Die Ableitungen anden Gitterzellen werden dann durchDifferenzen approximiert. Die parti-

    ellen Differentalgleichungen werdenso in ein System von Differenzen-Gleichungen umformuliert und mit-tels verschiedener Algorithmen ent-weder implizit oder explizit gelst.Verfahren dieser Art finden verbrei-tete Anwendung bei hydrodynami-schen Simulationen zum Beispiel inder Meteorologie und der Astrophy-sik.

    a http://de.wikipedia.org/wiki/Finite-Differenzen-Methode

    [email protected] 19. JUNI 2005

  • 2

    den wir uns ausschlielich mit solchen einfachen Algorithmen beschftigen. Einhnlich klingendes Verfahren, die Finite-Elemente-Methode, sollte damit nichtverwechselt werden, nur zu Ihrer Information daher der Anfang der Wikipedia-Beschreibung zu dieser in der Technik inzwischen wichtigsten Methode zur L-sung von Differentialgleichungsproblemen in der zweiten Box. Die Finite-Ele-mente-Methode wurde ursprnglich fr Probleme in der Elastizittstheorie ent-wickelt; sie wird heute bei einer Vielzahl von physikalischen Problemstellungeneingesetzt in der Regel mit aufwndigen kommerziellen Programmen.

    Wikipedia: Finite-Elemente-Methodea

    Die Finite-Elemente-Methode ist einnumerisches Verfahren zur nhe-rungsweisen Lsung partieller Dif-ferentialgleichungen mit Randbedin-gungen.Allgemeines Vorgehen: Das unter-suchte Lsungsgebiet wird zunchstin Teilgebiete, die finiten Elementeeingeteilt.

    G =m

    e=1

    Ge (1)

    Innerhalb des Finiten Elements wer-den fr die gesuchte Lsung je nAnsatzfunktionen definiert, die nurauf endlich vielen der Teilgebiete un-gleich Null sind. Durch eine Line-arkombination der n Ansatzfunktio-nen innerhalb des Elementes werdendie mglichen Lsungen der numeri-schen Nherung festgelegt.

    y|Ge n

    i=1

    ce,ne,n (2)

    Die Differentialgleichungen und dieRandbedingungen werden mit Ge-wichtungsfunktionen multipliziert

    und ber das Lsungsgebiet inte-griert. Das Integral wird durch eineSumme ber einzelne Integrale derFiniten Elemente ersetzt, wobei dieIntegration i. d. R. durch eine nhe-rungsweise numerische Integrationausgefhrt wird. Da die Ansatzfunk-tionen nur auf wenigen der Elementeungleich Null sind, ergibt sich eindnnbesetztes, hufig sehr groes, li-neares Gleichungssystem, bei demdie Faktoren der Linearkombinationunbekannt sind.Dieses Gleichungssystem knnteman zwar prinzipiell direkt (z. B. mitdem Gauschen Eliminationsverfah-ren) lsen. Da der Berechnungsauf-wand dort aber bei N GleichungenO(N3) betrgt und beim Lsen diednnbesetzte Struktur, die sich effi-zient speichern lsst, verloren geht,verwendet man im allgemeinen itera-tive Lser, die schrittweise eine L-sung verbessern.. . .

    a http://de.wikipedia.org/wiki/Finite-Elemente-Methode

    [email protected] 19. JUNI 2005

  • 1 FINITE-DIFFERENZEN-METHODE 3

    1 Finite-Differenzen-MethodeDas Prinzip der Finite-Differenzen-Methode ist einfach und nahe liegend: Ablei-tungen werden durch endliche (finite) Differenzenquotienten ersetzt.Fr die erste Ableitung einer Funktion f(x) bedeutet das

    df

    dx= f(x+ h/2) f(x h/2)

    h. (3)

    Entsprechend wird aus der zweiten Ableitung

    d2f

    dx2= f(x+ h) 2f(x) + f(x h)

    h2. (4)

    Der Laplace-Operator in zwei Dimensionen wird fr die Funktion f(x, y) zu

    f(x+ hx, y) 2f(x, y) + f(x hx, y)h2x

    f(x, y) = (5)

    +f(x, y + hy) 2f(x, y) + f(x, y hy)

    h2y.

    Wenn die beiden Koordinaten quivalent sind, whlt man sinnvollerweise hy =hx = h, damit vereinfacht sich der Ausdruck (5) und ist in Programmen mit we-niger Aufwand zu implementieren. Die Erweiterung von (5) auf drei oder mehrDimensionen ist offensichtlich, wir werden uns hier jedoch der Einfachheit halberauf zwei Dimensionen beschrnken.

    Zur Anwendung des Verfahrens wird das kontinuierliche Gebiet, in dem diepartielle Differentialgleichung gelst werden soll, durch ein orthogonales, meistquidistantes Feld aus Gitterpunkten ersetzt (Abbildung 1).

    1 2 3 N1 N

    1

    2

    M

    hy

    hx

    Abbildung 1: Zweidimen-sionales Punkteraster zurImplementierung der Finite-Differenzen-Methode.

    [email protected] 19. JUNI 2005

  • 2 LAPLACE: TEMPERATURVERTEILUNG 4

    Funktionswerte und Ableitungen werden fr alle Berechnungen dann nur nochan den Gitterpunkten betrachtet. Fr die graphische Darstellung von Ergebnis-funktionen kann soweit notwendig mit geeigneten Verfahren zwischen denGitterpunkten interpoliert werden.

    Statt der kontinuierlichen Variablen x und y werden Feldindizes k = 1 . . . Nund j = 1 . . .M verwendet, damit wird (5) zu

    Aj,k+1 2Aj,k + Aj,k1h2x

    A = (6)

    +Aj+1,k 2Aj,k + Aj1,k

    h2y

    oder in MATLABr-Schreibweise und mit hx = hy = h

    DeltaA = (A(j,k+1) + A(j,k-1) ...+ A(j+1,k) + A(j-1,k) ...- 4*A(j,k))/h^2;

    (7)

    2 Laplace: TemperaturverteilungDie oben genannte Strategie wenden wir auf das Lehrbuchbeispiel der Tempera-turverteilung auf einer rechteckigen Platte an. Die Temperatur ist an allen Rndernvorgegeben Dirichletsche Randbedingungen. Die stationre Temperaturvertei-lung ist zu berechnen, d. h. fr den Innenbereich ist die Laplace-Gleichung zulsen.

    2.1 Analytische LsungZunchst die Lehrbuchlsung, um einen Vergleich zu den numerischen Verfahrenzu haben (Abbildung 2).

    Die wesentlichen Zeilen aus dem MATLABr-Skript zur Berechnung der Tem-peraturverteilung mit der im Lehrbuch angegebenen Summation ber Lsungs-funktionen (for-Schleife im Skript):

    a = 20;b = 20;N = 20;X = linspace(0,a,N);Y = linspace(0,b,N);

    [email protected] 19. JUNI 2005

  • 2 LAPLACE: TEMPERATURVERTEILUNG 5

    0

    10

    20

    0

    10

    200

    0.5

    1

    1.5

    2

    2.5

    xy

    T

    Abbildung 2: Stationre Tem-peraturverteilung auf einerrechteckigen Platte bei Dirich-letschen Randbedingungen (vgl.Lehrbuch).

    [x,y] = meshgrid(X,Y);T = zeros(size(x));for n = 1:2:7,

    T = T + 1/n^3*sinh(n*pi*y/a) ..../sinh(n*pi*b/a).*sin(n*pi*x/a);

    end;mesh(T);

    2.2 IterationsverfahrenIm stationren Fall gilt fr das Temperaturfeld T = 0. Der Ausdruck (6) lsstsich damit fr A = T und hx = hy umschreiben zu

    Tj,k = 0.25(Tj,k+1 + Tj,k1 + Tj+1,k + Tj1,k) . (8)

    Daraus wird eine Iterationsvorschrift, wenn man rechts den Zustand nach n, linksden nach n+ 1 Iterationen einsetzt:

    T(n+1)j,k = 0.25(T

    (n)j,k+1 + T

    (n)j,k1 + T

    (n)j+1,k + T

    (n)j1,k) . (9)

    Wichtig ist die richtige Behandlung der Randbedingungen. Dazu gibt es (mindes-tens) zwei Mglichkeiten: Man spart den Rand aus dem Wertebereich der Indi-zes j und k aus oder man regeneriert die Randbedingungen nach jedem Iterati-onsschritt. Die erste Mglichkeit wird man immer dann whlen, wenn nur einerechteckige uere Begrenzung mit festen Randwerten vorliegt (wie dies bei un-serem Beispiel der Temperaturverteilung der Fall ist). Die zweite dann, wenn derRandverlauf komplizierter ist oder wenn zustzliche Randbedingungen im Innen-bereich zu bercksichtigen sind.

    Die Iterationsvorschrift der Gleichung (9) lsst sich sehr leicht in ein Rechner-programm umsetzen, als Beispiel nachstehend ein Fragment in der Programmier-sprache C, das aus dem Skriptum zu einer Numerik-Vorlesung an der UniversittBayreuth kopiert wurde:

    [email protected] 19. JUNI 2005

  • 2 LAPLACE: TEMPERATURVERTEILUNG 6

    for(iter=0; iter

  • 2 LAPLACE: TEMPERATURVERTEILUNG 7

    0

    10

    20

    0

    10

    200

    0.5

    1

    1.5

    2

    2.5

    xy

    T

    Abbildung 3: Stationre Tempe-raturverteilung auf einer rechte-ckigen Platte bei DirichletschenRandbedingungen, berechnet mitdem beschriebenen Iterationsver-fahren.

    0

    10

    20

    0

    10

    200

    0.5

    1

    1.5

    2

    2.5

    xy

    T Abbildung 4: Ergebnis der Itera-tionsrechnung und exaktes Ergeb-nis bereinander geplottet.

    am aufflligsten sind in der Symmetrieebene, die mittendurch geht (das ist diedurch die y- und T -Richtung aufgespannte Flche bei x = 10). In Abbildung 5ist der Temperaturverlauf in der Schnittebene skizziert, im linken Teilbild fr dasbisher betrachtete Temperaturfeld mit 20 20 Punkten. Die graue Kurve repr-sentiert das exakte Ergebnis, die schwarzen Kurven Iterationsrechnungen mit 30,150 bzw. 500 Iterationen. Man sieht, dass erst