\(\newcommand{\footnotename}{footnote}\)
\(\def \LWRfootnote {1}\)
\(\newcommand {\footnote }[2][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\newcommand {\footnotemark }[1][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\newcommand \ensuremath [1]{#1}\)
\(\newcommand {\LWRframebox }[2][]{\fbox {#2}} \newcommand {\framebox }[1][]{\LWRframebox } \)
\(\newcommand {\setlength }[2]{}\)
\(\newcommand {\addtolength }[2]{}\)
\(\newcommand {\setcounter }[2]{}\)
\(\newcommand {\addtocounter }[2]{}\)
\(\newcommand {\cline }[1]{}\)
\(\newcommand {\directlua }[1]{\text {(directlua)}}\)
\(\newcommand {\luatexdirectlua }[1]{\text {(directlua)}}\)
\(\newcommand {\protect }{}\)
\(\def \LWRabsorbnumber #1 {}\)
\(\def \LWRabsorbquotenumber "#1 {}\)
\(\def \mathchar {\ifnextchar "\LWRabsorbquotenumber \LWRabsorbnumber }\)
\(\def \mathcode #1={\mathchar }\)
\(\let \delcode \mathcode \)
\(\let \delimiter \mathchar \)
\(\let \LWRref \ref \)
\(\renewcommand {\ref }{\ifstar \LWRref \LWRref }\)
\(\newcommand {\intertext }[1]{\text {#1}\notag \\}\)
\(\newcommand {\mathllap }[2][]{{#1#2}}\)
\(\newcommand {\mathrlap }[2][]{{#1#2}}\)
\(\newcommand {\mathclap }[2][]{{#1#2}}\)
\(\newcommand {\mathmbox }[1]{#1}\)
\(\newcommand {\clap }[1]{#1}\)
\(\newcommand {\LWRmathmakebox }[2][]{#2}\)
\(\newcommand {\mathmakebox }[1][]{\LWRmathmakebox }\)
\(\newcommand {\cramped }[2][]{{#1#2}}\)
\(\newcommand {\crampedllap }[2][]{{#1#2}}\)
\(\newcommand {\crampedrlap }[2][]{{#1#2}}\)
\(\newcommand {\crampedclap }[2][]{{#1#2}}\)
\(\newenvironment {crampedsubarray}[1]{}{}\)
\(\newcommand {\crampedsubstack }{}\)
\(\newcommand {\smashoperator }[2][]{#2\limits }\)
\(\newcommand {\adjustlimits }{}\)
\(\newcommand {\SwapAboveDisplaySkip }{}\)
\(\require {extpfeil}\)
\(\Newextarrow \xleftrightarrow {10,10}{0x2194}\)
\(\Newextarrow \xLeftarrow {10,10}{0x21d0}\)
\(\Newextarrow \xhookleftarrow {10,10}{0x21a9}\)
\(\Newextarrow \xmapsto {10,10}{0x21a6}\)
\(\Newextarrow \xRightarrow {10,10}{0x21d2}\)
\(\Newextarrow \xLeftrightarrow {10,10}{0x21d4}\)
\(\Newextarrow \xhookrightarrow {10,10}{0x21aa}\)
\(\Newextarrow \xrightharpoondown {10,10}{0x21c1}\)
\(\Newextarrow \xleftharpoondown {10,10}{0x21bd}\)
\(\Newextarrow \xrightleftharpoons {10,10}{0x21cc}\)
\(\Newextarrow \xrightharpoonup {10,10}{0x21c0}\)
\(\Newextarrow \xleftharpoonup {10,10}{0x21bc}\)
\(\Newextarrow \xleftrightharpoons {10,10}{0x21cb}\)
\(\newcommand {\LWRdounderbracket }[3]{\underset {#3}{\underline {#1}}}\)
\(\newcommand {\LWRunderbracket }[2][]{\LWRdounderbracket {#2}}\)
\(\newcommand {\underbracket }[1][]{\LWRunderbracket }\)
\(\newcommand {\LWRdooverbracket }[3]{\overset {#3}{\overline {#1}}}\)
\(\newcommand {\LWRoverbracket }[2][]{\LWRdooverbracket {#2}}\)
\(\newcommand {\overbracket }[1][]{\LWRoverbracket }\)
\(\newcommand {\LATEXunderbrace }[1]{\underbrace {#1}}\)
\(\newcommand {\LATEXoverbrace }[1]{\overbrace {#1}}\)
\(\newenvironment {matrix*}[1][]{\begin {matrix}}{\end {matrix}}\)
\(\newenvironment {pmatrix*}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bmatrix*}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bmatrix*}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vmatrix*}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vmatrix*}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newenvironment {smallmatrix*}[1][]{\begin {matrix}}{\end {matrix}}\)
\(\newenvironment {psmallmatrix*}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bsmallmatrix*}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bsmallmatrix*}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vsmallmatrix*}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vsmallmatrix*}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newenvironment {psmallmatrix}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bsmallmatrix}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bsmallmatrix}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vsmallmatrix}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vsmallmatrix}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newcommand {\LWRmultlined }[1][]{\begin {multline*}}\)
\(\newenvironment {multlined}[1][]{\LWRmultlined }{\end {multline*}}\)
\(\let \LWRorigshoveleft \shoveleft \)
\(\renewcommand {\shoveleft }[1][]{\LWRorigshoveleft }\)
\(\let \LWRorigshoveright \shoveright \)
\(\renewcommand {\shoveright }[1][]{\LWRorigshoveright }\)
\(\newenvironment {dcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {dcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {rcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {rcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {drcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {drcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {cases*}{\begin {cases}}{\end {cases}}\)
\(\newcommand {\MoveEqLeft }[1][]{}\)
\(\def \LWRAboxed #1!|!{\fbox {\(#1\)}&\fbox {\(#2\)}} \newcommand {\Aboxed }[1]{\LWRAboxed #1&&!|!} \)
\( \newcommand {\LWRABLines }[1][\Updownarrow ]{#1 \notag \\}\newcommand {\ArrowBetweenLines }{\ifstar \LWRABLines \LWRABLines } \)
\(\newcommand {\shortintertext }[1]{\text {#1}\notag \\}\)
\(\newcommand {\vdotswithin }[1]{\hspace {.5em}\vdots }\)
\(\newcommand {\LWRshortvdotswithinstar }[1]{\vdots \hspace {.5em} & \\}\)
\(\newcommand {\LWRshortvdotswithinnostar }[1]{& \hspace {.5em}\vdots \\}\)
\(\newcommand {\shortvdotswithin }{\ifstar \LWRshortvdotswithinstar \LWRshortvdotswithinnostar }\)
\(\newcommand {\MTFlushSpaceAbove }{}\)
\(\newcommand {\MTFlushSpaceBelow }{\\}\)
\(\newcommand \lparen {(}\)
\(\newcommand \rparen {)}\)
\(\newcommand {\ordinarycolon }{:}\)
\(\newcommand {\vcentcolon }{\mathrel {\mathop \ordinarycolon }}\)
\(\newcommand \dblcolon {\vcentcolon \vcentcolon }\)
\(\newcommand \coloneqq {\vcentcolon =}\)
\(\newcommand \Coloneqq {\dblcolon =}\)
\(\newcommand \coloneq {\vcentcolon {-}}\)
\(\newcommand \Coloneq {\dblcolon {-}}\)
\(\newcommand \eqqcolon {=\vcentcolon }\)
\(\newcommand \Eqqcolon {=\dblcolon }\)
\(\newcommand \eqcolon {\mathrel {-}\vcentcolon }\)
\(\newcommand \Eqcolon {\mathrel {-}\dblcolon }\)
\(\newcommand \colonapprox {\vcentcolon \approx }\)
\(\newcommand \Colonapprox {\dblcolon \approx }\)
\(\newcommand \colonsim {\vcentcolon \sim }\)
\(\newcommand \Colonsim {\dblcolon \sim }\)
\(\newcommand {\nuparrow }{\mathrel {\cancel {\uparrow }}}\)
\(\newcommand {\ndownarrow }{\mathrel {\cancel {\downarrow }}}\)
\(\newcommand {\bigtimes }{\mathop {\Large \times }\limits }\)
\(\newcommand {\prescript }[3]{{}^{#1}_{#2}#3}\)
\(\newenvironment {lgathered}{\begin {gathered}}{\end {gathered}}\)
\(\newenvironment {rgathered}{\begin {gathered}}{\end {gathered}}\)
\(\newcommand {\splitfrac }[2]{{}^{#1}_{#2}}\)
\(\let \splitdfrac \splitfrac \)
\(\newcommand {\LWRoverlaysymbols }[2]{\mathord {\smash {\mathop {#2\strut }\limits ^{\smash {\lower 3ex{#1}}}}\strut }}\)
\(\newcommand{\alphaup}{\unicode{x03B1}}\)
\(\newcommand{\betaup}{\unicode{x03B2}}\)
\(\newcommand{\gammaup}{\unicode{x03B3}}\)
\(\newcommand{\digammaup}{\unicode{x03DD}}\)
\(\newcommand{\deltaup}{\unicode{x03B4}}\)
\(\newcommand{\epsilonup}{\unicode{x03F5}}\)
\(\newcommand{\varepsilonup}{\unicode{x03B5}}\)
\(\newcommand{\zetaup}{\unicode{x03B6}}\)
\(\newcommand{\etaup}{\unicode{x03B7}}\)
\(\newcommand{\thetaup}{\unicode{x03B8}}\)
\(\newcommand{\varthetaup}{\unicode{x03D1}}\)
\(\newcommand{\iotaup}{\unicode{x03B9}}\)
\(\newcommand{\kappaup}{\unicode{x03BA}}\)
\(\newcommand{\varkappaup}{\unicode{x03F0}}\)
\(\newcommand{\lambdaup}{\unicode{x03BB}}\)
\(\newcommand{\muup}{\unicode{x03BC}}\)
\(\newcommand{\nuup}{\unicode{x03BD}}\)
\(\newcommand{\xiup}{\unicode{x03BE}}\)
\(\newcommand{\omicronup}{\unicode{x03BF}}\)
\(\newcommand{\piup}{\unicode{x03C0}}\)
\(\newcommand{\varpiup}{\unicode{x03D6}}\)
\(\newcommand{\rhoup}{\unicode{x03C1}}\)
\(\newcommand{\varrhoup}{\unicode{x03F1}}\)
\(\newcommand{\sigmaup}{\unicode{x03C3}}\)
\(\newcommand{\varsigmaup}{\unicode{x03C2}}\)
\(\newcommand{\tauup}{\unicode{x03C4}}\)
\(\newcommand{\upsilonup}{\unicode{x03C5}}\)
\(\newcommand{\phiup}{\unicode{x03D5}}\)
\(\newcommand{\varphiup}{\unicode{x03C6}}\)
\(\newcommand{\chiup}{\unicode{x03C7}}\)
\(\newcommand{\psiup}{\unicode{x03C8}}\)
\(\newcommand{\omegaup}{\unicode{x03C9}}\)
\(\newcommand{\Alphaup}{\unicode{x0391}}\)
\(\newcommand{\Betaup}{\unicode{x0392}}\)
\(\newcommand{\Gammaup}{\unicode{x0393}}\)
\(\newcommand{\Digammaup}{\unicode{x03DC}}\)
\(\newcommand{\Deltaup}{\unicode{x0394}}\)
\(\newcommand{\Epsilonup}{\unicode{x0395}}\)
\(\newcommand{\Zetaup}{\unicode{x0396}}\)
\(\newcommand{\Etaup}{\unicode{x0397}}\)
\(\newcommand{\Thetaup}{\unicode{x0398}}\)
\(\newcommand{\Varthetaup}{\unicode{x03F4}}\)
\(\newcommand{\Iotaup}{\unicode{x0399}}\)
\(\newcommand{\Kappaup}{\unicode{x039A}}\)
\(\newcommand{\Lambdaup}{\unicode{x039B}}\)
\(\newcommand{\Muup}{\unicode{x039C}}\)
\(\newcommand{\Nuup}{\unicode{x039D}}\)
\(\newcommand{\Xiup}{\unicode{x039E}}\)
\(\newcommand{\Omicronup}{\unicode{x039F}}\)
\(\newcommand{\Piup}{\unicode{x03A0}}\)
\(\newcommand{\Varpiup}{\unicode{x03D6}}\)
\(\newcommand{\Rhoup}{\unicode{x03A1}}\)
\(\newcommand{\Sigmaup}{\unicode{x03A3}}\)
\(\newcommand{\Tauup}{\unicode{x03A4}}\)
\(\newcommand{\Upsilonup}{\unicode{x03A5}}\)
\(\newcommand{\Phiup}{\unicode{x03A6}}\)
\(\newcommand{\Chiup}{\unicode{x03A7}}\)
\(\newcommand{\Psiup}{\unicode{x03A8}}\)
\(\newcommand{\Omegaup}{\unicode{x03A9}}\)
\(\newcommand{\alphait}{\unicode{x1D6FC}}\)
\(\newcommand{\betait}{\unicode{x1D6FD}}\)
\(\newcommand{\gammait}{\unicode{x1D6FE}}\)
\(\newcommand{\digammait}{\mathit{\unicode{x03DD}}}\)
\(\newcommand{\deltait}{\unicode{x1D6FF}}\)
\(\newcommand{\epsilonit}{\unicode{x1D716}}\)
\(\newcommand{\varepsilonit}{\unicode{x1D700}}\)
\(\newcommand{\zetait}{\unicode{x1D701}}\)
\(\newcommand{\etait}{\unicode{x1D702}}\)
\(\newcommand{\thetait}{\unicode{x1D703}}\)
\(\newcommand{\varthetait}{\unicode{x1D717}}\)
\(\newcommand{\iotait}{\unicode{x1D704}}\)
\(\newcommand{\kappait}{\unicode{x1D705}}\)
\(\newcommand{\varkappait}{\unicode{x1D718}}\)
\(\newcommand{\lambdait}{\unicode{x1D706}}\)
\(\newcommand{\muit}{\unicode{x1D707}}\)
\(\newcommand{\nuit}{\unicode{x1D708}}\)
\(\newcommand{\xiit}{\unicode{x1D709}}\)
\(\newcommand{\omicronit}{\unicode{x1D70A}}\)
\(\newcommand{\piit}{\unicode{x1D70B}}\)
\(\newcommand{\varpiit}{\unicode{x1D71B}}\)
\(\newcommand{\rhoit}{\unicode{x1D70C}}\)
\(\newcommand{\varrhoit}{\unicode{x1D71A}}\)
\(\newcommand{\sigmait}{\unicode{x1D70E}}\)
\(\newcommand{\varsigmait}{\unicode{x1D70D}}\)
\(\newcommand{\tauit}{\unicode{x1D70F}}\)
\(\newcommand{\upsilonit}{\unicode{x1D710}}\)
\(\newcommand{\phiit}{\unicode{x1D719}}\)
\(\newcommand{\varphiit}{\unicode{x1D711}}\)
\(\newcommand{\chiit}{\unicode{x1D712}}\)
\(\newcommand{\psiit}{\unicode{x1D713}}\)
\(\newcommand{\omegait}{\unicode{x1D714}}\)
\(\newcommand{\Alphait}{\unicode{x1D6E2}}\)
\(\newcommand{\Betait}{\unicode{x1D6E3}}\)
\(\newcommand{\Gammait}{\unicode{x1D6E4}}\)
\(\newcommand{\Digammait}{\mathit{\unicode{x03DC}}}\)
\(\newcommand{\Deltait}{\unicode{x1D6E5}}\)
\(\newcommand{\Epsilonit}{\unicode{x1D6E6}}\)
\(\newcommand{\Zetait}{\unicode{x1D6E7}}\)
\(\newcommand{\Etait}{\unicode{x1D6E8}}\)
\(\newcommand{\Thetait}{\unicode{x1D6E9}}\)
\(\newcommand{\Varthetait}{\unicode{x1D6F3}}\)
\(\newcommand{\Iotait}{\unicode{x1D6EA}}\)
\(\newcommand{\Kappait}{\unicode{x1D6EB}}\)
\(\newcommand{\Lambdait}{\unicode{x1D6EC}}\)
\(\newcommand{\Muit}{\unicode{x1D6ED}}\)
\(\newcommand{\Nuit}{\unicode{x1D6EE}}\)
\(\newcommand{\Xiit}{\unicode{x1D6EF}}\)
\(\newcommand{\Omicronit}{\unicode{x1D6F0}}\)
\(\newcommand{\Piit}{\unicode{x1D6F1}}\)
\(\newcommand{\Rhoit}{\unicode{x1D6F2}}\)
\(\newcommand{\Sigmait}{\unicode{x1D6F4}}\)
\(\newcommand{\Tauit}{\unicode{x1D6F5}}\)
\(\newcommand{\Upsilonit}{\unicode{x1D6F6}}\)
\(\newcommand{\Phiit}{\unicode{x1D6F7}}\)
\(\newcommand{\Chiit}{\unicode{x1D6F8}}\)
\(\newcommand{\Psiit}{\unicode{x1D6F9}}\)
\(\newcommand{\Omegait}{\unicode{x1D6FA}}\)
\(\let \digammaup \Digammaup \)
\(\renewcommand {\digammait }{\mathit {\digammaup }}\)
\(\newcommand {\smallin }{\unicode {x220A}}\)
\(\newcommand {\smallowns }{\unicode {x220D}}\)
\(\newcommand {\notsmallin }{\LWRoverlaysymbols {/}{\unicode {x220A}}}\)
\(\newcommand {\notsmallowns }{\LWRoverlaysymbols {/}{\unicode {x220D}}}\)
\(\newcommand {\rightangle }{\unicode {x221F}}\)
\(\newcommand {\intclockwise }{\unicode {x2231}}\)
\(\newcommand {\ointclockwise }{\unicode {x2232}}\)
\(\newcommand {\ointctrclockwise }{\unicode {x2233}}\)
\(\newcommand {\oiint }{\unicode {x222F}}\)
\(\newcommand {\oiiint }{\unicode {x2230}}\)
\(\newcommand {\ddag }{\unicode {x2021}}\)
\(\newcommand {\P }{\unicode {x00B6}}\)
\(\newcommand {\copyright }{\unicode {x00A9}}\)
\(\newcommand {\dag }{\unicode {x2020}}\)
\(\newcommand {\pounds }{\unicode {x00A3}}\)
\(\newcommand {\iddots }{\unicode {x22F0}}\)
\(\newcommand {\utimes }{\overline {\times }}\)
\(\newcommand {\dtimes }{\underline {\times }}\)
\(\newcommand {\udtimes }{\overline {\underline {\times }}}\)
\(\newcommand {\leftwave }{\left \{}\)
\(\newcommand {\rightwave }{\right \}}\)
\(\newcommand {\toprule }[1][]{\hline }\)
\(\let \midrule \toprule \)
\(\let \bottomrule \toprule \)
\(\newcommand {\cmidrule }[2][]{}\)
\(\newcommand {\morecmidrules }{}\)
\(\newcommand {\specialrule }[3]{\hline }\)
\(\newcommand {\addlinespace }[1][]{}\)
\(\newcommand {\LWRsubmultirow }[2][]{#2}\)
\(\newcommand {\LWRmultirow }[2][]{\LWRsubmultirow }\)
\(\newcommand {\multirow }[2][]{\LWRmultirow }\)
\(\newcommand {\mrowcell }{}\)
\(\newcommand {\mcolrowcell }{}\)
\(\newcommand {\STneed }[1]{}\)
\( \newcommand {\multicolumn }[3]{#3}\)
\(\newcommand {\tothe }[1]{^{#1}}\)
\(\newcommand {\raiseto }[2]{{#2}^{#1}}\)
\(\newcommand {\ang }[2][]{(\mathrm {#2})\degree }\)
\(\newcommand {\num }[2][]{\mathrm {#2}}\)
\(\newcommand {\si }[2][]{\mathrm {#2}}\)
\(\newcommand {\LWRSI }[2][]{\mathrm {#1\LWRSInumber \,#2}}\)
\(\newcommand {\SI }[2][]{\def \LWRSInumber {#2}\LWRSI }\)
\(\newcommand {\numlist }[2][]{\mathrm {#2}}\)
\(\newcommand {\numrange }[3][]{\mathrm {#2\,\unicode {x2013}\,#3}}\)
\(\newcommand {\SIlist }[3][]{\mathrm {#2\,#3}}\)
\(\newcommand {\SIrange }[4][]{\mathrm {#2\,#4\,\unicode {x2013}\,#3\,#4}}\)
\(\newcommand {\tablenum }[2][]{\mathrm {#2}}\)
\(\newcommand {\ampere }{\mathrm {A}}\)
\(\newcommand {\candela }{\mathrm {cd}}\)
\(\newcommand {\kelvin }{\mathrm {K}}\)
\(\newcommand {\kilogram }{\mathrm {kg}}\)
\(\newcommand {\metre }{\mathrm {m}}\)
\(\newcommand {\mole }{\mathrm {mol}}\)
\(\newcommand {\second }{\mathrm {s}}\)
\(\newcommand {\becquerel }{\mathrm {Bq}}\)
\(\newcommand {\degreeCelsius }{\unicode {x2103}}\)
\(\newcommand {\coulomb }{\mathrm {C}}\)
\(\newcommand {\farad }{\mathrm {F}}\)
\(\newcommand {\gray }{\mathrm {Gy}}\)
\(\newcommand {\hertz }{\mathrm {Hz}}\)
\(\newcommand {\henry }{\mathrm {H}}\)
\(\newcommand {\joule }{\mathrm {J}}\)
\(\newcommand {\katal }{\mathrm {kat}}\)
\(\newcommand {\lumen }{\mathrm {lm}}\)
\(\newcommand {\lux }{\mathrm {lx}}\)
\(\newcommand {\newton }{\mathrm {N}}\)
\(\newcommand {\ohm }{\mathrm {\Omega }}\)
\(\newcommand {\pascal }{\mathrm {Pa}}\)
\(\newcommand {\radian }{\mathrm {rad}}\)
\(\newcommand {\siemens }{\mathrm {S}}\)
\(\newcommand {\sievert }{\mathrm {Sv}}\)
\(\newcommand {\steradian }{\mathrm {sr}}\)
\(\newcommand {\tesla }{\mathrm {T}}\)
\(\newcommand {\volt }{\mathrm {V}}\)
\(\newcommand {\watt }{\mathrm {W}}\)
\(\newcommand {\weber }{\mathrm {Wb}}\)
\(\newcommand {\day }{\mathrm {d}}\)
\(\newcommand {\degree }{\mathrm {^\circ }}\)
\(\newcommand {\hectare }{\mathrm {ha}}\)
\(\newcommand {\hour }{\mathrm {h}}\)
\(\newcommand {\litre }{\mathrm {l}}\)
\(\newcommand {\liter }{\mathrm {L}}\)
\(\newcommand {\arcminute }{^\prime }\)
\(\newcommand {\minute }{\mathrm {min}}\)
\(\newcommand {\arcsecond }{^{\prime \prime }}\)
\(\newcommand {\tonne }{\mathrm {t}}\)
\(\newcommand {\astronomicalunit }{au}\)
\(\newcommand {\atomicmassunit }{u}\)
\(\newcommand {\bohr }{\mathit {a}_0}\)
\(\newcommand {\clight }{\mathit {c}_0}\)
\(\newcommand {\dalton }{\mathrm {D}_\mathrm {a}}\)
\(\newcommand {\electronmass }{\mathit {m}_{\mathrm {e}}}\)
\(\newcommand {\electronvolt }{\mathrm {eV}}\)
\(\newcommand {\elementarycharge }{\mathit {e}}\)
\(\newcommand {\hartree }{\mathit {E}_{\mathrm {h}}}\)
\(\newcommand {\planckbar }{\mathit {\unicode {x210F}}}\)
\(\newcommand {\angstrom }{\mathrm {\unicode {x212B}}}\)
\(\let \LWRorigbar \bar \)
\(\newcommand {\bar }{\mathrm {bar}}\)
\(\newcommand {\barn }{\mathrm {b}}\)
\(\newcommand {\bel }{\mathrm {B}}\)
\(\newcommand {\decibel }{\mathrm {dB}}\)
\(\newcommand {\knot }{\mathrm {kn}}\)
\(\newcommand {\mmHg }{\mathrm {mmHg}}\)
\(\newcommand {\nauticalmile }{\mathrm {M}}\)
\(\newcommand {\neper }{\mathrm {Np}}\)
\(\newcommand {\yocto }{\mathrm {y}}\)
\(\newcommand {\zepto }{\mathrm {z}}\)
\(\newcommand {\atto }{\mathrm {a}}\)
\(\newcommand {\femto }{\mathrm {f}}\)
\(\newcommand {\pico }{\mathrm {p}}\)
\(\newcommand {\nano }{\mathrm {n}}\)
\(\newcommand {\micro }{\mathrm {\unicode {x00B5}}}\)
\(\newcommand {\milli }{\mathrm {m}}\)
\(\newcommand {\centi }{\mathrm {c}}\)
\(\newcommand {\deci }{\mathrm {d}}\)
\(\newcommand {\deca }{\mathrm {da}}\)
\(\newcommand {\hecto }{\mathrm {h}}\)
\(\newcommand {\kilo }{\mathrm {k}}\)
\(\newcommand {\mega }{\mathrm {M}}\)
\(\newcommand {\giga }{\mathrm {G}}\)
\(\newcommand {\tera }{\mathrm {T}}\)
\(\newcommand {\peta }{\mathrm {P}}\)
\(\newcommand {\exa }{\mathrm {E}}\)
\(\newcommand {\zetta }{\mathrm {Z}}\)
\(\newcommand {\yotta }{\mathrm {Y}}\)
\(\newcommand {\percent }{\mathrm {\%}}\)
\(\newcommand {\meter }{\mathrm {m}}\)
\(\newcommand {\metre }{\mathrm {m}}\)
\(\newcommand {\gram }{\mathrm {g}}\)
\(\newcommand {\kg }{\kilo \gram }\)
\(\newcommand {\of }[1]{_{\mathrm {#1}}}\)
\(\newcommand {\squared }{^2}\)
\(\newcommand {\square }[1]{\mathrm {#1}^2}\)
\(\newcommand {\cubed }{^3}\)
\(\newcommand {\cubic }[1]{\mathrm {#1}^3}\)
\(\newcommand {\per }{/}\)
\(\newcommand {\celsius }{\unicode {x2103}}\)
\(\newcommand {\fg }{\femto \gram }\)
\(\newcommand {\pg }{\pico \gram }\)
\(\newcommand {\ng }{\nano \gram }\)
\(\newcommand {\ug }{\micro \gram }\)
\(\newcommand {\mg }{\milli \gram }\)
\(\newcommand {\g }{\gram }\)
\(\newcommand {\kg }{\kilo \gram }\)
\(\newcommand {\amu }{\mathrm {u}}\)
\(\newcommand {\nm }{\nano \metre }\)
\(\newcommand {\um }{\micro \metre }\)
\(\newcommand {\mm }{\milli \metre }\)
\(\newcommand {\cm }{\centi \metre }\)
\(\newcommand {\dm }{\deci \metre }\)
\(\newcommand {\m }{\metre }\)
\(\newcommand {\km }{\kilo \metre }\)
\(\newcommand {\as }{\atto \second }\)
\(\newcommand {\fs }{\femto \second }\)
\(\newcommand {\ps }{\pico \second }\)
\(\newcommand {\ns }{\nano \second }\)
\(\newcommand {\us }{\micro \second }\)
\(\newcommand {\ms }{\milli \second }\)
\(\newcommand {\s }{\second }\)
\(\newcommand {\fmol }{\femto \mol }\)
\(\newcommand {\pmol }{\pico \mol }\)
\(\newcommand {\nmol }{\nano \mol }\)
\(\newcommand {\umol }{\micro \mol }\)
\(\newcommand {\mmol }{\milli \mol }\)
\(\newcommand {\mol }{\mol }\)
\(\newcommand {\kmol }{\kilo \mol }\)
\(\newcommand {\pA }{\pico \ampere }\)
\(\newcommand {\nA }{\nano \ampere }\)
\(\newcommand {\uA }{\micro \ampere }\)
\(\newcommand {\mA }{\milli \ampere }\)
\(\newcommand {\A }{\ampere }\)
\(\newcommand {\kA }{\kilo \ampere }\)
\(\newcommand {\ul }{\micro \litre }\)
\(\newcommand {\ml }{\milli \litre }\)
\(\newcommand {\l }{\litre }\)
\(\newcommand {\hl }{\hecto \litre }\)
\(\newcommand {\uL }{\micro \liter }\)
\(\newcommand {\mL }{\milli \liter }\)
\(\newcommand {\L }{\liter }\)
\(\newcommand {\hL }{\hecto \liter }\)
\(\newcommand {\mHz }{\milli \hertz }\)
\(\newcommand {\Hz }{\hertz }\)
\(\newcommand {\kHz }{\kilo \hertz }\)
\(\newcommand {\MHz }{\mega \hertz }\)
\(\newcommand {\GHz }{\giga \hertz }\)
\(\newcommand {\THz }{\tera \hertz }\)
\(\newcommand {\mN }{\milli \newton }\)
\(\newcommand {\N }{\newton }\)
\(\newcommand {\kN }{\kilo \newton }\)
\(\newcommand {\MN }{\mega \newton }\)
\(\newcommand {\Pa }{\pascal }\)
\(\newcommand {\kPa }{\kilo \pascal }\)
\(\newcommand {\MPa }{\mega \pascal }\)
\(\newcommand {\GPa }{\giga \pascal }\)
\(\newcommand {\mohm }{\milli \ohm }\)
\(\newcommand {\kohm }{\kilo \ohm }\)
\(\newcommand {\Mohm }{\mega \ohm }\)
\(\newcommand {\pV }{\pico \volt }\)
\(\newcommand {\nV }{\nano \volt }\)
\(\newcommand {\uV }{\micro \volt }\)
\(\newcommand {\mV }{\milli \volt }\)
\(\newcommand {\V }{\volt }\)
\(\newcommand {\kV }{\kilo \volt }\)
\(\newcommand {\W }{\watt }\)
\(\newcommand {\uW }{\micro \watt }\)
\(\newcommand {\mW }{\milli \watt }\)
\(\newcommand {\kW }{\kilo \watt }\)
\(\newcommand {\MW }{\mega \watt }\)
\(\newcommand {\GW }{\giga \watt }\)
\(\newcommand {\J }{\joule }\)
\(\newcommand {\uJ }{\micro \joule }\)
\(\newcommand {\mJ }{\milli \joule }\)
\(\newcommand {\kJ }{\kilo \joule }\)
\(\newcommand {\eV }{\electronvolt }\)
\(\newcommand {\meV }{\milli \electronvolt }\)
\(\newcommand {\keV }{\kilo \electronvolt }\)
\(\newcommand {\MeV }{\mega \electronvolt }\)
\(\newcommand {\GeV }{\giga \electronvolt }\)
\(\newcommand {\TeV }{\tera \electronvolt }\)
\(\newcommand {\kWh }{\kilo \watt \hour }\)
\(\newcommand {\F }{\farad }\)
\(\newcommand {\fF }{\femto \farad }\)
\(\newcommand {\pF }{\pico \farad }\)
\(\newcommand {\K }{\mathrm {K}}\)
\(\newcommand {\dB }{\mathrm {dB}}\)
\(\newcommand {\kibi }{\mathrm {Ki}}\)
\(\newcommand {\mebi }{\mathrm {Mi}}\)
\(\newcommand {\gibi }{\mathrm {Gi}}\)
\(\newcommand {\tebi }{\mathrm {Ti}}\)
\(\newcommand {\pebi }{\mathrm {Pi}}\)
\(\newcommand {\exbi }{\mathrm {Ei}}\)
\(\newcommand {\zebi }{\mathrm {Zi}}\)
\(\newcommand {\yobi }{\mathrm {Yi}}\)
\(\require {mhchem}\)
\(\require {cancel}\)
\(\newcommand {\fint }{âĺŊ}\)
\(\newcommand {\hdots }{\cdots }\)
\(\newcommand {\mathnormal }[1]{#1}\)
\(\newcommand {\vecs }[2]{\vec {#1}_{#2}}\)
\(\renewcommand {\AA }{\mathbb {A}}\)
\(\newcommand {\EE }{\mathbb {E}}\)
\(\newcommand {\PP }{\mathbb {P}}\)
\(\newcommand {\UU }{\mathbb {U}}\)
\(\newcommand {\XX }{\mathbb {X}}\)
\(\renewcommand {\C }{\mathcal {C}}\)
\(\renewcommand {\F }{\mathcal {F}}\)
\(\renewcommand {\H }{\mathcal {H}}\)
\(\renewcommand {\O }{\mathcal {O}}\)
\(\renewcommand {\S }{\mathcal {S}}\)
\(\newcommand {\GL }{\mathrm {GL}}\)
\(\newcommand {\eps }{\mathrm {eps}}\)
\(\renewcommand {\div }{\mathrm {div}}\)
\(\newcommand {\rot }{\mathrm {rot}}\)
\(\newcommand {\D }{\mathop {}\!\mathrm {D}}\)
\(\newcommand {\iu }{\text {i}}\)
\(\newcommand {\tr }{\text {tr}}\)
\(\newcommand {\Vor }{\mathrm {Vor}}\)
\(\newcommand {\Del }{\mathrm {Del}}\)
\(\newcommand {\Rang }{\text {Rang}}\)
\(\newcommand {\id }{\text {id}}\)
\(\newcommand {\sinc }{\operatorname {sinc}}\)
\(\newcommand {\code }[1]{\texttt {#1}}\)
\(\newcommand {\name }[1]{\textsc {#1}}\)
\(\newcommand {\smallpmatrix }[1]{\left (\begin {smallmatrix}#1\end {smallmatrix}\right )}\)
\(\newcommand {\matlab }{{\fontfamily {bch}\scshape \selectfont {}Matlab}}\)
\(\newcommand {\innerproduct }[1]{\left \langle {#1}\right \rangle }\)
\(\newcommand {\norm }[1]{\left \Vert {#1}\right \Vert }\)
\(\renewcommand {\natural }{\mathbb {N}}\)
\(\newcommand {\integer }{\mathbb {Z}}\)
\(\newcommand {\rational }{\mathbb {Q}}\)
\(\newcommand {\real }{\mathbb {R}}\)
\(\newcommand {\complex }{\mathbb {C}}\)
\(\renewcommand {\d }{\mathop {}\!\mathrm {d}}\)
\(\newcommand {\dr }{\d {}r}\)
\(\newcommand {\ds }{\d {}s}\)
\(\newcommand {\dt }{\d {}t}\)
\(\newcommand {\du }{\d {}u}\)
\(\newcommand {\dv }{\d {}v}\)
\(\newcommand {\dw }{\d {}w}\)
\(\newcommand {\dx }{\d {}x}\)
\(\newcommand {\dy }{\d {}y}\)
\(\newcommand {\dz }{\d {}z}\)
\(\newcommand {\dsigma }{\d {}\sigma }\)
\(\newcommand {\dphi }{\d {}\phi }\)
\(\newcommand {\dvarphi }{\d {}\varphi }\)
\(\newcommand {\dtau }{\d {}\tau }\)
\(\newcommand {\dxi }{\d {}\xi }\)
\(\newcommand {\dtheta }{\d {}\theta }\)
\(\newcommand {\tp }{\mathrm {T}}\)
partielle Differentialgleichung: Eine partielle Differentialgleichung (PDE) ist eine Gleichung, die eine multivariate Funktion (z. B. \(u(x, t)\)) in Beziehung mit den
partiellen Ableitungen (z. B. \(\partial _x u\), \(\partial _t u\)) und den Variablen (z. B. \(x\), \(t\)) setzt. Die Ordnung einer PDE ist die Ordnung der
höchsten partiellen Ableitung. Eine PDE heißt linear, falls \(u\) und die partiellen Ableitungen nur linear auftauchen (wobei die Koeffizienten aber durchaus von den
Variablen abhängen dürfen). Analytische Lösungen kann man explizit oft nur für sehr einfache Spezialfälle angeben.
1D-Advektionsgleichung
Advektionsgleichung: Die Gleichung \(\partial _t u + c \partial _x u = 0\) mit \(c \in \real \) zusammen mit Anfangs- und/oder Randbedingungen heißt 1D-Advektionsgleichung. Gesucht ist nun eine Lösung, d. h. eine Funktion \(u(x, t)\), die diese Gleichung erfüllt.
Lösungen konstant entlang Charakteristiken: Sei \(x(t) = ct + x_0\) eine Gerade im
\(t\)-\(x\)-Diagramm mit Steigung \(c\). Dann gilt \(\frac {\d }{\dt } u(x(t), t) = \partial _x u(x(t), t) x’(t) + \partial _t u(x(t), t)\)
\(= (\partial _t u + c \partial _x u)(x(t), t) = 0\) für jede Lösung \(u(x, t)\), d. h. Lösungen der Advektionsgleichung sind konstant entlang diesen sog. Charakteristiken.
Lösung der Advektionsgleichung: Sei \(u(x, t) := v(x - ct)\) für eine Funktion \(v\). Dann gilt \(\partial _t u + c \partial _x u = v’(x - ct) (-c) + c v’(x - ct) = 0\),
d. h. \(u\) ist eine Lösung der Advektionsgleichung.
Klassifikation linearer PDEs zweiter Ordnung
lineare PDE zweiter Ordnung: Eine lineare PDE zweiter Ordnung auf einem Gebiet \(D \subset \real ^2\) kann man schreiben als \(A \partial _x^2 u + 2B \partial
_x \partial _y u + C \partial _y^2 u + D \partial _x u + E \partial _y u + Fu = G\) mit \(A, \dotsc , G\) stückweise stetigen Funktionen von \(x, y\) auf \(D\).
Klassifikation: Wenn \(A^2 + B^2 + C^2 \not = 0\) in \(D\) ist, dann heißt die PDE
elliptisch, falls \(AC - B^2 > 0\) in \(D\),
parabolisch, falls \(AC - B^2 = 0\) in \(D\), und
hyperbolisch, falls \(AC - B^2 < 0\) in \(D\).
Diese Klassifikation ist analog zu der von Kegelschnitten \(Ax^2 + 2Bxy + Cy^2 + Dx + Ey + F = 0\).
Beispiele:
elliptische PDEs: Laplace-Gleichung (\(\Delta u = 0\)), Poisson-Gleichung (\(\Delta u = f\)),
Helmholtz-Gleichung (\(\Delta u + \varrho u = f\))
parabolische PDEs: 1D-Wärmeleitungsgleichung (\(k \partial _x^2 u - \partial _t u = 0\)),
Diffusionsgleichung (\(\partial _t u(\vec {x}, t) = \div (D(u, \vec {x}) \nabla u(\vec {x}, t))\))
hyperbolische PDE: Wellengleichung (\(\partial _t^2 u - c^2 \Delta u = 0\))
Randbedingungen: Damit die Lösung von elliptischen PDEs eindeutig bestimmt ist, muss man Randbedingungen (RBen) festlegen. Sei dazu \(D\)
stückweise \(\C ^1\)-berandet mit den Stücken \(\Gamma _i\), \(\partial D = \Gamma = \bigcup _i \Gamma _i\) und \(\vec {n}\) der nach außen zeigenden Einheitsnormalen. Dann spricht man bei \(u
= \varphi \) auf \(\Gamma _i\) von Dirichlet-RBen, bei \(\partial _{\vec {n}} u = \gamma \) auf \(\Gamma _i\) von Neumann-RBen und bei \(\partial _{\vec {n}} u + \alpha u = \beta \) auf \(\Gamma _i\) von Cauchy-RBen (\(\varphi , \gamma , \alpha , \beta \) feste Funktionen auf \(\Gamma _i\)).
Laplace-Gleichung in Polarkoordinaten
Laplace-Gleichung in Polarkoordinaten: Seien \(\Omega := B_1(0) \subset \real ^2\) und \(f \in \C ^0(\partial \Omega )\).
Gesucht ist eine Lösung \(u \in \C ^2(\Omega ) \cap \C ^0(\overline {\Omega })\) des RWPs \(\Delta u = 0\) in \(\Omega \) und \(u = f\) auf \(\partial \Omega \).
Mit Transformation in Polarkoordinaten \(x = r\cos \varphi \), \(y = r\sin \varphi \) gilt \(\partial _x = \cos \varphi \cdot \partial _r - \frac {\sin \varphi }{r} \partial _\varphi \) und \(\partial _y
= \sin \varphi \cdot \partial _r + \frac {\cos \varphi }{r} \partial _\varphi \). Durch nochmalige Ableitung erhält man \(\Delta u = \partial _x^2 u + \partial _y^2 u = 0 \iff \partial _r^2
U + \frac {1}{r} \partial _r U + \frac {1}{r^2} \partial _\varphi ^2 U = 0\) mit \(U(r, \varphi ) := u(r\cos \varphi , r\sin \varphi )\). Die RB \(u = f\) auf \(\partial \Omega \) transformiert sich zu
\(U(1, \varphi ) = f(\cos \varphi , \sin \varphi )\). Dabei ist \(r \in (0, 1)\) und \(\varphi \in (-\pi , \pi )\).
Damit \(u \in \C ^2(\Omega ) \cap \C ^0(\overline {\Omega })\) gilt, sollte \(U\) zusätzlich \(U(r, \pi ) = U(r, -\pi )\) und
\(\partial _\varphi U(r, \pi ) = \partial _\varphi U(r, -\pi )\) erfüllen und der Grenzwert \(\lim _{r \to 0} U(r, \varphi )\) sollte für jedes \(\varphi \) existieren und
unabhängig von \(\varphi \) sein.
Mit dem Produktansatz \(U(r, \varphi ) := w(r) v(\varphi )\) erhält man \(v \partial _r^2 w + \frac {1}{r} v \partial _r w + \frac {1}{r^2} w \partial _\varphi ^2 v = 0\). Wenn man annimmt,
dass \(w(r) \not = 0 \not = v(\varphi )\), dann kann man das umschreiben zu
\(\frac {r^2}{w} \partial _r^2 w + \frac {r}{w} \partial _r w = -\frac {1}{v} \partial _\varphi ^2 v =: \lambda \). \(\lambda \) ist unabhängig von \(r\) und \(\varphi \), weil die linke Seite nur
von \(r\) abhängt und die rechte nur von \(\varphi \). \(w\) und \(v\) müssen also die ODEs
erfüllen. Aus der ersten DGL folgt, dass \(v\) \(2\pi \)-periodisch sein muss, also \(\lambda = k^2\) für \(k \in \natural _0\) und \(v_k(\varphi ) = a_k \cos (k\varphi ) + b_k \sin (k\varphi
)\). Lösungen der zweiten DGL sind \(w(r) = \log r\) für \(k = 0\) und \(w(r) = r^{\pm k}\) für \(k \ge 1\). Allerdings ist nur \(w(r) = r^k\) in \(r = 0\) stetig.
Somit ist \(U(r, \varphi ) = \frac {1}{2} a_0 + \sum _{k=1}^\infty U_k(r, \varphi )\) mit \(U_k(r, \varphi ) := (a_k \cos (k \varphi ) + b_k \sin (k \varphi )) r^k\). Um die Koeffizienten \(a_k\),
\(b_k\) zu bestimmen, nutzt man die Orthogonalitätsrelationen der trigonometrischen Funktionen aus (Multiplikation z. B. mit \(\sin (n\varphi )\) und Integration über \(\varphi \) für
\(r = 1\)).
1D-Diffusionsgleichung
Diffusionsgleichung: Die Gleichung \(\partial _t u = D \partial _x^2 u\) für \(x \in [0, L]\) mit \(D \in \real \), der Anfangsbedingung \(u(\cdot , 0) = f(\cdot )\) in \([0, L]\) und
Dirichlet-Null-RBen \(u(0, t) = u(L, t) = 0\) für \(t > 0\) heißt 1D-Diffusionsgleichung.
analytische Lösung mit Trennung der Veränderlichen:
Mit dem Ansatz \(u(x, t) := X(x) \cdot T(t)\) erhält man \(\frac {1}{DT} \partial _t T = \frac {1}{X} \partial _x^2 X =: -\lambda \). Weil die linke Seite nur von \(t\) und die rechte nur von \(x\)
abhängt, ist \(\lambda \) konstant und man bekommt zwei ODEs
Die allgemeine Lösung der ersten Gleichung ist \(X(x) = c_1 \cos (\sqrt {\lambda } x) + c_2 \sin (\sqrt {\lambda } x)\) für \(\lambda > 0\). Mit den RBen erhält man \(c_1 = 0\)
und \(\lambda = \lambda _n = (\frac {n \pi }{L})^2\) für \(n \in \natural \), also \(X(x) = C_n \sin (\frac {n \pi }{L} x)\). Aus der zweiten Gleichung bekommt man damit \(T(t) = B_n e^{-D
\lambda _n t}\). Insgesamt erhält man also als allgemeine Lösung der Diffusionsgleichung \(u(x, t) = \sum _{n=1}^\infty A_n \sin (\frac {n \pi }{L} x) \exp (-D (\frac {n \pi }{L})^2 t)\).
Bestimmung der Koeffizienten: Für die Bestimmung der \(A_n\) benutzt man die Identität
\(\int _0^L \sin (\frac {n \pi }{L} \xi ) \sin (\frac {m \pi }{L} \xi ) \dxi = \frac {L}{2} \delta _{n,m}\) für \(n \not = 0 \not = m\). Damit bekommt man
\(\int _0^L f(\xi ) \sin (\frac {n \pi }{L} \xi ) \dxi = \int _0^L u(\xi , 0) \sin (\frac {n \pi }{L} \xi ) \dxi = \sum _{m=1}^\infty A_m \int _0^L \sin (\frac {n \pi }{L} \xi ) \sin (\frac
{m \pi }{L} \xi ) \dxi = \frac {L}{2} A_n\)
\(\iff A_n = \frac {2}{L} \int _0^L f(\xi ) \sin (\frac {n \pi }{L} \xi ) \dxi \).
Finite-Differenzen-Methode
Finite-Differenzen-Methode: Bei der Finite-Differenzen-Methode diskretisiert man das Gebiet \(D\) zunächst als gleichmäßiges Gitter mit Gitterweite
\(\Delta t\), \(\Delta x\) und \(\Delta y\). Anschließend betrachtet man Approximationen \(u_{i,j} \approx u(x_i, y_j)\) und ersetzt alle Ableitungen durch Differenzenquotienten. Im Folgenden seien \(u_P :=
u_{i,j}\), \(u_N := u_{i,j+1}\), \(u_E := u_{i+1,j}\), \(u_S := u_{i,j-1}\) und \(u_W := u_{i-1,j}\).
einfache Ableitungen: Sei \(h := \Delta x = \Delta y\).
\(\partial _x u(x_i, y_j) \approx \frac {u_E - u_P}{h}\) (Vorwärts-Diff.quot.), \(\partial _x u(x_i, y_j) \approx \frac {u_P - u_W}{h}\) (Rückwärts-Diff.quot.) oder \(\partial _x u(x_i, y_j) \approx \frac {u_E - u_W}{2h}\) (zentraler Diff.quot.)
\(\partial _y u(x_i, y_j) \approx \frac {u_N - u_P}{h}\), \(\partial _y u(x_i, y_j) \approx \frac {u_P - u_S}{h}\) oder \(\partial _y u(x_i, y_j) \approx \frac {u_N - u_S}{2h}\)
Eine Approximation höherer Ordnung ist \(\partial _x u(x_i, y_j) \approx \frac {u_{WW} - 8u_W + 8u_E - 8u_{EE}}{12h}\).
zweifache Ableitungen: \(\partial _x^2 u \approx \frac {u_E - 2u_P + u_W}{h^2}\), \(\partial _y^2 u \approx \frac {u_N - 2u_P + u_S}{h^2}\), \(\partial _x \partial _y u \approx \frac {u_{NW}
- u_{NE} - u_{SW} + u_{SE}}{4h^2}\)
Eine Approximation höherer Ordnung ist \(\partial _x^2 u(x_i, y_j) \approx \frac {-u_{WW} + 16u_W - 30u_P + 16u_E - u_{EE}}{12h^2}\).
FDM für die Poisson-Gleichung: Die Poisson-Gleichung ist gegeben durch \(-\Delta u =
f\) mit einem Quellterm \(f\). Die diskretisierte Version ist gegeben durch \(4u_P - u_E - u_W - u_N - u_S = h^2 f_P\). Um Dirichlet-RBen zu erzwingen, setzt man die jeweiligen Terme auf den RB-Wert.
Für Neumann-RBen mit z. B. \(\vec {n} = (1, 0)^\tp \) und \(\partial _{\vec {n}} u(x_i, y_j) = 0\) erhält man die Approximation \(0 = \partial _{\vec {n}} u(x_i, y_j) \approx
\frac {u_E - u_W}{2h}\), also \(u_E := u_W\). Daher erzwingt man Neumann-RBen, indem man in der Diskretisierung für den Randpunkt \(P\) den Term \(u_E\) durch \(u_W\) ersetzt, also
\(2u_P - u_W - \frac {1}{2} u_N - \frac {1}{2} u_S = \frac {1}{2} h^2 f_P\) (Teilen durch \(2\), damit LGS-Matrix nachher symmetrisch). Durch Lösen des entstehenden LGS kann man die Approximation
ausrechnen.
FDM für Advektionsgleichung: Für die Advektionsgleichung \(\partial _t u + c \partial _x u = 0\) gibt es mehrere Möglichkeiten zur Diskretisierung, je nachdem, welche
Differenzenquotienten man wählt. Dazu setzt man \(u_i^n \approx u(x_i, t_n)\) mit Gitterweiten \(\Delta x\) und \(\Delta t\).
Upwind-Methode: \(u_i^{n+1} := u_i^n - c \frac {\Delta t}{\Delta x} (u_i^n - u_{i-1}^n)\) (Zeit vorwärts, Ort rückwärts)
Downwind-Methode: \(u_i^{n+1} := u_i^n - c \frac {\Delta t}{\Delta x} (u_{i+1}^n - u_i^n)\) (Zeit vorwärts, Ort vorwärts)
zentrierte Methode: \(u_i^{n+1} := u_i^n - c \frac {\Delta t}{2 \Delta x} (u_{i+1}^n - u_{i-1}^n)\) (Zeit vorwärts, Ort zentriert)
Leap-Frog-Methode: \(u_i^{n+1} := u_i^{n-1} - c \frac {\Delta t}{\Delta x} (u_{i+1}^n - u_{i-1}^n)\) (Zeit zentriert, Ort zentriert)
Lax-Wendroff-Methode: \(u_i^{n+1} := u_i^n - c \frac {\Delta t}{2 \Delta x} (u_{i+1}^n -
u_{i-1}^n) + \frac {1}{2} (c \frac {\Delta t}{\Delta x})^2 (u_{i+1}^n - 2u_i^n + u_{i-1}^n)\)
Für Stabilität sollte die CFL-Zahl (Courant-Friedrichs-Lewy) \(\sigma := c \frac {\Delta t}{\Delta x}\) kleiner als \(1\) sein.
FDM für Diffusionsgleichung: Als Beispiel betrachtet man die Wärmeleitung in einem Stab der Länge \(L = 1\) mit \(D = 1\). Anfangsbedingung soll \(u(x, 0) = 0\) für \(x \in
[0, 1]\) und RBen sollen \(u(0, t) = \sin (\pi t)\) und \(\partial _x u(1, t) = 0\) für \(t > 0\). Diskretisiere \(D = [0, 1] \times [0, \infty )\) mit \(x_i := i \Delta x\) und \(t_n := n
\Delta t\), wobei \(\Delta x := \frac {1}{N}\), \(i = 0, \dotsc , N\) und \(n \in \natural _0\). Durch Verwendung von Vorwärts-Diff.quot. für die Zeit und zentralen Diff.quot. für den Ort
bekommt man mit \(u_i^n \approx u(x_i, t_n)\) die FTCS-Methode \(u_i^{n+1} := u_i^n + \frac {\Delta t}{\Delta x^2} (u_{i+1}^n - 2u_i^n + u_{i-1}^n)\) mit
RBen \(u_0^n := \sin (\pi n \Delta t)\) und \(u_N^{n+1} := u_N^n + \frac {2\Delta t}{\Delta x^2} (u_{N-1}^n - u_N^n)\). Das Verfahren ist stabil \(\iff \Delta t < \frac {1}{2} (\Delta x)^2\).
Crank-Nicolson-Methode
Crank-Nicolson-Methode: Die Crank-Nicolson-Methode verwendet die Trapezregel für die Zeit und zentrale Diff.quot. für den Ort. Ist die Gleichung \(\partial _t u = F(x, t, u, \partial _x u, \partial _x^2 u)\)
gegeben und bezeichnen \(\frac {u_i^{n+1} - u_i^n}{\Delta t} = F_i^n(x, t, u, \partial _x u, \partial _x^2 u)\) und \(\frac {u_i^{n+1} - u_i^n}{\Delta t} = F_i^{n+1}(x, t, u, \partial _x u,
\partial _x^2 u)\) einen expliziten bzw. impliziten Euler-Schritt, so erhält man die Crank-Nicolson-Methode durch Mittelung \(\frac
{u_i^{n+1} - u_i^n}{\Delta t} = \frac {1}{2} (F_i^n + F_i^{n+1})(x, t, u, \partial _x u, \partial _x^2 u)\).
Crank-Nicolson-Methode für Diffusionsgleichung:
Man setzt \(\partial _x^2 u(x_i, t_n) \approx \frac {1}{2(\Delta x)^2} ((u_{i+1}^n - 2u_i^n + u_{i-1}^n) + (u_{i+1}^{n+1} - 2u_i^{n+1} + u_{i-1}^{n+1}))\) und erhält damit
\(-r u_{i-1}^{n+1} + (2+2r)u_i^{n+1} - ru_{i+1}^{n+1} = ru_{i-1}^n + (2-2r)u_i^n + ru_{i+1}^n\) mit \(r := \frac {\Delta t}{(\Delta x)^2}\).
Die RBen lauten dabei \((2+2r)u_1^{n+1} - ru_2^{n+1} = (2-2r)u_1^n + ru_2^n + r(\sin (\pi n \Delta t) + \sin (\pi (n+1) \Delta t)\) und \(-2ru_{N-1}^{n+1} + (2+2r)u_N^{n+1} = 2ru_{N-1}^n +
(2-2r)u_N^n\). Für jede Zeit \(t_n\) erhält man also ein tridiagonales LGS mit \(N\) Gleichungen für die \(N\) Unbekannten \(u_1^{n+1}, \dotsc , u_N^{n+1}\).
Anisotrope 1D-Diffusionsgleichung
anisotrope 1D-Diffusionsgleichung:
Die Gleichung \(\partial _t u = \partial _x (D(x) \partial _x u)\) heißt anisotrope 1D-Diffusionsgleichung.
FDM für anisotrope 1D-Diffusionsgleichung: Diskretisiere zunächst die rechte Seite
\(\partial _x g(x)\) mit \(g(x) := D(x) \partial _x u\) und halber Schrittweite durch \(\partial _x g(x) \approx \frac {g(x + h/2) - g(x - h/2)}{h}\). Approximiere nun \(g(x) \approx D(x) \frac {u(x +
h/2) - u(x - h/2)}{h}\). Durch Einsetzen erhält man
\(\frac {u_i^{n+1} - u_i^n}{\Delta t} = \frac {1}{\Delta x^2} (D_{i+1/2} (u_{i+1}^n - u_i^n) - D_{i-1/2} (u_i^n - u_{i-1}^n))\) mit \(D_{i\pm 1/2} := D(x_i \pm \Delta x/2)\).
Crank-Nicolson für anisotrope 1D-Diffusionsgleichung:
Durch Mittelung für die Schritte \(n\) und \(n + 1\) erhält man
\(\frac {u_i^{n+1} - u_i^n}{\Delta t} = \frac {1}{2\Delta x^2} (D_{i+1/2} (u_{i+1}^{n+1} + u_{i+1}^n - u_i^{n+1} - u_i^n) - D_{i-1/2} (u_i^{n+1} + u_i^n - u_{i-1}^{n+1} - u_{i-1}^n))\) bzw.
\(-D_{i+1/2} u_{i+1}^{n+1} + (\frac {2\Delta x^2}{\Delta t} + D_{i+1/2} + D_{i-1/2}) u_i^{n+1} - D_{i-1/2} u_{i-1}^{n+1}\)
\(= D_{i+1/2} u_{i+1}^n (\frac {2\Delta x^2}{\Delta t} - D_{i+1/2} - D_{i-1/2}) u_i^n + D_{i-1/2} u_{i-1}^n\).
Dies kann man in der Form \(A\vec {u}^{n+1} = B\vec {u}^n\) schreiben mit \(\vec {u}^n := (u_1^n, \dotsc , u_N^n)^\tp \),
\(A_{j,j-1} := -D_{j-1/2}\), \(A_{j,j} := \frac {2\Delta x^2}{\Delta t} + D_{j+1/2} + D_{j-1/2}\), \(A_{j,j+1} := -D_{j+1/2}\) und
\(B_{j,j-1} := D_{j-1/2}\), \(B_{j,j} := \frac {2\Delta x^2}{\Delta t} - D_{j+1/2} - D_{j-1/2}\), \(B_{j,j+1} := D_{j+1/2}\) (sonst \(A_{i,j} := 0 =: B_{i,j}\)).
Nach Hinzufügung der RBen zu \(A\) und \(B\) erhält man dann \(\vec {u}^{n+1} = A^{-1} B\vec {u}^n\).
Perona-Malik-Diffusion
Perona-Malik-Diffusion: Die Perona-Malik-Diffusionsgleichung ist gegeben durch
\(\partial _t u = \div (g(|\vec {\nabla } u|) \vec {\nabla } u)\) mit AB \(u(\cdot , 0) = f\) und homogenen Neumann-RBen \(\partial _{\vec {n}} u = 0\).
Die Diffusivitätsfunktion \(g\) sollte \(g(0) = 1\), \(g \ge 0\) und \(\lim _{s \to \infty } g(s) = 0\) erfüllen. PM schlagen z. B. \(g(s) :=
\frac {1}{1 + s^2/\lambda ^2}\) oder \(g(s) := e^{-s^2/\lambda ^2}\) mit dem Kontrastparameter \(\lambda \) vor.
1D-PM-Diffusion: In einer Dimension ist die PM-Diffusion mit der Flussfunktion
\(\Phi (s) := s \cdot g(s)\) gegeben durch \(\partial _t u = \partial _x (g(|\partial _x u|) \partial _x u) = \Phi ’(|\partial _x u|) \partial _x^2 u\). Für die beiden von PM vorgeschlagenen
Diffusivitätsfunktionen gilt \(\Phi ’(|\partial _x u|) > 0\) für \(|\partial _x u| < \lambda \) (Vorwärts-Diffusion) und \(\Phi ’(|\partial _x u|) < 0\) für
\(|\partial _x u| > \lambda \) (Rückwärts-Diffusion). Obwohl also die Diffusivität \(g\) nicht-negativ ist, gibt es Vor- und Rückwärts-Diffusion.
2D-PM-Diffusion: In zwei Dimensionen ist die PM-Diffusion gegeben durch
\(\partial _t u = \partial _x (g(|\vec {\nabla } u|) \partial _x u) + \partial _y (g(|\vec {\nabla } u|) \partial _y u)\). Die Norm des Gradienten kann man mittels zentraler Diff.quot.en approximieren:
\(|\vec {\nabla } u_{i,j}| \approx \sqrt {(\frac {u_{i+1,j} - u_{i-1,j}}{2})^2 + (\frac {u_{i,j+1} - u_{i,j-1}}{2})^2}\) mit \(g_{i,j} := g(|\vec {\nabla } u_{i,j}|)\).
Damit kann man ein Finites-Differenzen-Verfahren herleiten.
Eine Anwendung ist die Rauschunterdrückung von Bildern, ohne dass Kanten unscharf werden (im Gegensatz zur linearen Diffusion).
Dilatation und Erosion
Dilatation und Erosion: Bei der Dilatation und Erosion ist eine Teilmenge \(A \subset \real ^2\) (z. B. ein Quadrat) und eine Maske \(M \subset \real ^2\) mit \(0 \in M\) (z. B. ein Kreis). Die
Dilatation ist das Ergebnis von \(\bigcup _{x \in A} (M + x)\) und die Erosion ist das Ergebnis von \(\{x \in A \;|\; M + x
\subset A\}\).
Dilatationsgleichung: Dilatation und Erosion können mithilfe der Dilatationsgleichung
\(\partial _t u = \pm |\vec {\nabla } u|\) simuliert werden. Bei der Rouy-Tourin-Methode setzt man
\(u_{i,j}^{n+1} := u_{i,j}^n \pm \Delta t \sqrt {(\partial _x u)^2 + (\partial _y u)^2}\) mit \((\partial _x u)^2 \approx \frac {1}{\Delta x^2} (\max \{0, u_{i+1,j} - u_{i,j}, -(u_{i,j} -
u_{i-1,j})\})^2\), analog \((\partial _y u)^2\).
Bei der Osher-Sethian-Upwind-Methode verwendet man stattdessen
\((\partial _x u)^2 \approx \frac {1}{\Delta x^2} ((\max (0, u_{i+1,j} - u_{i,j}))^2 + (\max (0, u_{i-1,j} - u_{i,j}))^2)\), analog \((\partial _y u)^2\).
Anwendungen von Dilatation und Erosion umfassen das Unscharfmachen von Kanten oder die Kontrasterhöhung von Fingerabdrucks-Bildern.