Linienmethode
Die vertikale Linienmethode (engl. method of lines, MOL) ist ein Verfahren zum Lösen (parabolischer) partieller Differentialgleichungen, bei welcher alle bis auf eine Dimension (üblicherweise die Zeitvariable) diskretisiert werden. Durch die Diskretisierung ergibt sich damit an Stelle der ursprünglichen partiellen Differentialgleichung ein System gewöhnlicher Differentialgleichungen, welches mit adäquaten Mitteln behandelt werden kann. Von besonderem Interesse ist die numerische Version, auch „NMOL“ genannt. Hierbei erfolgt die Lösung des durch die Diskretisierung erhaltenen Systems gewöhnlicher Differentialgleichungen zum Beispiel durch die Anwendung von Ein- oder Mehrschrittverfahren, insbesondere Runge-Kutta-Verfahren. Diese Tatsache zeigt bereits die Grenzen der Einsatzmöglichkeiten dieses Verfahrens: Um Ein- oder Mehrschrittverfahren anwenden zu können, muss das sich nach der Diskretisierung ergebende Problem ein Anfangswertproblem erster Ordnung darstellen, was wiederum bedeutet, dass das ursprüngliche Problem in wenigstens einer Variablen ein Anfangswertproblem erster Ordnung sein muss.
Diesem Verfahren steht die horizontale Linienmethode gegenüber, welche besser unter dem Namen Rothe-Methode bekannt ist (benannt nach Erich Rothe). Die Idee bei der Rothe-Methode für parabolische Anfangs-Randwertprobleme besteht darin, zuerst eine Diskretisierung hinsichtlich der Zeit vorzunehmen, um somit das Problem direkt zu einem Anfangswertproblem im Funktionenraum umzuformulieren.
Vertikale Linienmethode
Die Idee bei der (vertikalen) Linienmethode für parabolische Anfangs-Randwertprobleme besteht darin, zuerst eine Diskretisierung hinsichtlich der räumlichen Variablen und danach das resultierende Problem hinsichtlich der Zeit zu diskretisieren. Im Fall einer konformen Approximation, sei <math>V:=H_0^1</math> (siehe Sobolev-Räume), <math>H:=L^2(\Omega)</math> (siehe Lp-Räume) und <math>u_0\in H</math>. Das verallgemeinerte Problem einer parabolischen Differentialgleichung bedeutet nun: Man finde ein <math>u\in W_2^1(0,T;V,H)</math> mit <math>u(0)=u_0\in H</math>, so dass:
- <math>\frac{d}{dt}(u(t),v)+A(u(t),v)=(f(t),v)\quad \forall v\in V</math>,
wobei <math>A(,)</math> eine beschränkte, V-elliptische Bilinearform auf <math>V\times V</math> und <math>f\in L_2(0,T;V^*)</math> ist.
Wenn die räumliche Diskretisierung mit finiten Elementen erfolgt, dann erhalten wir für <math>V_n\subset V</math> (Finite-Element-Funktionenraum) das diskrete Problem:
- <math>\frac{d}{dt}(u_n(t),v_n)+A(u_n(t),v_n)=(f(t),v_n)\quad \forall v_n\in V_n</math>,
wobei <math>u_n(0)=u_n^0</math> eine Approximation von <math>u_0\mbox{ in }V_n</math>.
Sei nun <math>\{\phi_1\ldots\phi_n\}</math> eine Basis von <math>V_n</math> und <math>u_n(x,t)=\sum_{i=1}^{N}c_i(t)\phi_i(x)</math>. Dann ergeben sich als Galerkingleichungen für das oben beschriebene diskrete Problem:
- <math>\sum_{i=1}^{N}c_i'(t)(\phi_i,\phi_j)+\sum_{i=1}^{N}c_i(t)A(\phi_i,\phi_j)=(f(t),\phi_j), \, \forall j=1\ldots,N</math>,
mit <math>c_i(0)=\gamma_i^0, \mbox{ wobei } u_n^0=\sum_{i=1}^{N}\gamma_i^0\phi(x)</math>.
Damit erhalten wir eine Differentialgleichung der Form
- <math>D \hat{c}^'(t)+A\hat{c}(t)=\hat{f}(t)</math>,
wobei <math>D:=(d_{ij})</math> mit <math>d_{ij}=(\phi_j,\phi_i)</math>, <math>A:=(a_{ij})</math> mit <math>a_{ij}=A(\phi_j,\phi_i)</math> und <math>f_j=(f(t),\phi_{j})</math> bzw. <math>\hat{c}:=(c_i)</math> und <math> \hat{f}:=(f_i)</math>.
Horizontale Linienmethode (Rothe-Methode)
Wir gehen wieder von der verallgemeinerten Form
- <math>\frac{d}{dt}(u_n(t),v_n)+A(u_n(t),v_n)=(f(t),v_n)\quad \forall v_n\in V_n</math>,
mit <math>u(0)=u_0\in H</math> und <math>u\in W_2^1(0, T; V, H)</math> aus. Dann wird das Zeitintervall in <math>p</math> Teilintervalle mit der Gitterweite <math>\tau</math> zerlegt. Es sei diesmal <math>\phi_i</math> die Hütchenfunktion in der Zeit, das heißt bei einer zeitlichen Diskretisierung mit den Gitterpunkten <math>\{t_0,\ldots,t_p\}</math> gilt
- <math>{\phi_i(t)}=\begin{cases}\frac{t-t_{i-1}}{t_i-t_{i-1}}&t\in [t_{i-1},t_i)\\ \frac{t_{i+1}-t}{t_{i+1}-t_i} & t\in [t_i,t_{i+1})\\0&\mbox{sonst}\end{cases}</math>.
Dann wird eine Näherung für <math>u(x,t)</math> beschrieben durch die Rothe-Funktion
- <math>u^{\tau}(x,t)=\sum_{i=1}^p z_i(x)\phi_i(t)</math>.
Unter Verwendung des impliziten Eulerverfahrens löst man nun in jedem Zeitschritt das Ortsproblem
- <math>\left(\frac{z_{i+1}-z_i}{\tau_i}, v\right)+A(z_{i+1}, v)=(f_{i+1},v)</math>,
wobei <math>\tau_i=t_{i+1}-t_i</math>. Auch die Verwendung anderer Integrationsverfahren ist möglich; da die Probleme jedoch meistens steif sind, sollte ein implizites Verfahren bevorzugt werden.
Literatur
- William E. Schiesser: The Numerical Method of Lines. Integration of partial differential Equations. Academic Press, San Diego u. a. 1991, ISBN 0-12-624130-9
- William E. Schiesser: Computational mathematics in Engineering and Applied Science. ODEs, DAEs, and PDEs. CRC Press, Boca Raton FL u. a. 1994, ISBN 0-8493-7373-5.
Weblinks
- <templatestyles src="Webarchiv/styles.css" />{{#if:20090208172733
| {{#ifeq: 20090208172733 | *
| {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20090208172733}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20090208172733}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }} ({{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.) | {{#invoke:WLink|getEscapedTitle|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}} | {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}} }}
}}}}}}}}{{#if:
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20090208172733|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html}}
|| {{#if: || }}
}}{{#if: Beschreibung in der Mathematica 5.2 Dokumentation (engl.)
| {{#if: {{#invoke:WLink|isBracketedLink|Beschreibung in der Mathematica 5.2 Dokumentation (engl.)}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/DifferentialEquations/NDSolve/PartialDifferentialEquations/TheNumericalMethodOfLines/Introduction.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}}