Content deleted Content added
m Reverted edits by 114.143.228.114 (talk) to last version by Pred |
|||
(32 intermediate revisions by 20 users not shown) | |||
Line 1:
{{Short description|Approaches for approximating solutions to differential equations}}
{{
'''Explicit and implicit methods''' are approaches used in [[numerical analysis]] for obtaining numerical approximations to the solutions of time-dependent [[ordinary differential equation|ordinary]] and [[partial differential equation]]s, as is required in [[computer simulation]]s of [[Process (science)|physical processes]]. ''Explicit methods'' calculate the state of a system at a later time from the state of the system at the current time, while
▲'''Explicit methods''' calculate the state of a system at a later time from the state of the system at the current time, while '''implicit methods''' find a solution by solving an equation involving both the current state of the system and the later one. Mathematically, if <math>Y(t)</math> is the current system state and <math>Y(t+\Delta t)</math> is the state at the later time (<math>\Delta t</math> is a small time step), then, for an explicit method
: <math>Y(t+\Delta t) = F(Y(t))\,</math>
while for an implicit method one solves an equation
: <math>G\Big(Y(t), Y(t+\Delta t)\Big)=0 \
to find <math>Y(t+\Delta t).</math>
== Computation ==
Since the implicit method cannot be carried out for each kind of differential operator, it is sometimes advisable to make use of the so called operator splitting method, which means that the differential operator is rewritten as the sum of two complementary operators
:<math>Y(t+\Delta t) = F(Y(t+\Delta t))+G(Y(t)),\,</math>
while one is treated explicitly and the other implicitly.
For usual applications the implicit term is chosen to be linear while the explicit term can be nonlinear. This combination of the former method is called ''Implicit-Explicit Method'' (short IMEX,<ref>U.M. Ascher, S.J. Ruuth, R.J. Spiteri: ''[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.1525&rep=rep1&type=pdf Implicit-Explicit Runge-Kutta Methods for Time-Dependent Partial Differential Equations]'', Appl Numer Math, vol. 25(2-3), 1997</ref><ref>L.Pareschi, G.Russo: ''[https://www.researchgate.net/profile/Lorenzo_Pareschi/publication/230865813_Implicit-Explicit_Runge-Kutta_schemes_for_stiff_systems_of_differential_equations/links/0046352a03ba3ee92a000000.pdf Implicit-Explicit Runge-Kutta schemes for stiff systems of differential equations]'', Recent Trends in Numerical Analysis, Vol. 3, 269-289, 2000</ref><ref>Sebastiano Boscarino, Lorenzo Pareschi, and Giovanni Russo: ''Implicit-Explicit Methods for Evolutionary Partial Differential Equations'', SIAM, ISBN 978-1-61197-819-3 (2024).</ref>).
==Illustration using the forward and backward Euler methods==
Line 18 ⟶ 23:
;Forward Euler method:
[[File:
The forward [[Euler method]]
:<math>\left(\frac{dy}{dt}\right)_k
yields
: <math>y_{k+1}=y_k-\Delta t y_k^2 \quad \quad \quad(3)\, </math>
Line 37 ⟶ 42:
In the vast majority of cases, the equation to be solved when using an implicit scheme is much more complicated than a quadratic equation, and no analytical solution exists. Then one uses [[root-finding algorithm]]s, such as [[Newton's method]], to find the numerical solution.
;Crank-Nicolson method:
With the [[Crank-Nicolson method]]
:<math>\frac{y_{k+1}-y_k}{\Delta t} = -\frac{1}{2}y_{k+1}^2 -\frac{1}{2}y_{k}^2</math>
one finds the implicit equation
: <math>y_{k+1}+\frac{1}{2}{\Delta t} y^{2}_{k+1} = y_k - \frac{1}{2}\Delta t y_{k}^2</math>
for <math>y_{k+1}</math> (compare this with formula (3) where <math>y_{k+1}</math> was given explicitly rather than as an unknown in an equation). This can be numerically solved using [[root-finding algorithm]]s, such as [[Newton's method]], to obtain <math>y_{k+1}</math>.
Crank-Nicolson can be viewed as a form of more general IMEX (''Im''plicit-''Ex''plicit) schemes.
;Forward-Backward Euler method:
[[File:Comparison_between_Foward-Backward-Euler_and_Foward-Euler.png|thumb|400px|The result of applying both the Forward Euler method and the Forward-Backward Euler method for <math>a = 5</math> and <math>n = 30</math>.]]
In order to apply the IMEX-scheme, consider a slightly different differential equation:
: <math>\frac{dy}{dt} = y-y^2, \ t\in [0, a]\quad \quad (5)</math>
It follows that
: <math>\left(\frac{dy}{dt}\right)_k \approx y_{k+1}-y_{k}^2, \ t\in [0, a]</math>
and therefore
: <math>y_{k+1}=\frac{y_k(1-y_k\Delta t)}{1-\Delta t} \quad\quad(6)</math>
for each <math>k=0, 1, \dots, n.</math>
==See also==
* [[Courant–Friedrichs–Lewy condition]]
* [[SIMPLE algorithm]], a semi-implicit method for pressure-linked equations
==Sources==
{{reflist}}
{{DEFAULTSORT:Explicit And Implicit Methods}}
|