Metoda Cranka-Nicolson

Metoda Cranka-Nicolson – popularna metoda uwikłana rozwiązywania znanych w fizyce i inżynierii równań różniczkowych cząstkowych metodą różnic skończonych.

Weźmy dla przykładu jednowymiarowe równanie dyfuzji:

u t = D 2 u x 2 {\displaystyle {\frac {\partial u}{\partial t}}=D{\frac {\partial ^{2}u}{\partial x^{2}}}}

Przybliżając w nim pochodne za pomocą ilorazów różnicowych na jednorodnej siatce punktów możemy je zapisać jako

u i n + 1 u i n Δ t = D ( Δ x ) 2 ( u i + 1 n 2 u i n + u i 1 n ) {\displaystyle {\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}={\frac {D}{(\Delta x)^{2}}}(u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n})}

lub

u i n + 1 = u i n + Δ t D ( Δ x ) 2 ( u i + 1 n 2 u i n + u i 1 n ) , {\displaystyle u_{i}^{n+1}=u_{i}^{n}+\Delta t{\frac {D}{(\Delta x)^{2}}}(u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}),}

gdzie dolny indeks i {\displaystyle i} oznacza punkt na siatce a górny n {\displaystyle n} chwilę dyskretnego czasu. Używanie ostatniego intuicyjnego wzoru akumuluje jednak niestabilności.

Metoda Cranka-Nicolson polega na użyciu po prawej stronie średniej arytmetycznej z wyrażeń w czasie obecnym i w czasie następnym w celu stabilizacji rozwiązania tak aby równanie to stało się układem równań liniowych na wielkość w czasie następnym u i n + 1 , {\displaystyle u_{i}^{n+1},} tzn.

u i n + 1 u i n Δ t = D 2 ( Δ x ) 2 ( ( u i + 1 n + 1 2 u i n + 1 + u i 1 n + 1 ) + ( u i + 1 n 2 u i n + u i 1 n ) ) , {\displaystyle {\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}={\frac {D}{2(\Delta x)^{2}}}\left((u_{i+1}^{n+1}-2u_{i}^{n+1}+u_{i-1}^{n+1})+(u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n})\right),}

czyli było w postaci uwikłanej.

Metoda Cranka-Nicolson zastosowana do równania Schrödingera na siatce punktów równoważna jest metodzie Cayleya.