Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Lax–Friedrichs method

From Wikipedia, the free encyclopedia
Mathematical method

TheLax–Friedrichs method, named afterPeter Lax andKurt O. Friedrichs, is anumerical method for the solution ofhyperbolic partial differential equations based onfinite differences. The method can be described as theFTCS (forward in time, centered in space) scheme with a numerical dissipation term of 1/2. One can view the Lax–Friedrichs method as an alternative toGodunov's scheme, where one avoids solving aRiemann problem at each cell interface, at the expense of adding artificial viscosity.

Illustration for a Linear Problem

[edit]

Consider a one-dimensional, linear hyperbolic partial differential equation foru(x,t){\displaystyle u(x,t)} of the form:ut+aux=0{\displaystyle u_{t}+au_{x}=0}on the domainbxc,0td{\displaystyle b\leq x\leq c,\;0\leq t\leq d}with initial conditionu(x,0)=u0(x){\displaystyle u(x,0)=u_{0}(x)\,}and the boundary conditionsu(b,t)=ub(t)u(c,t)=uc(t).{\displaystyle {\begin{aligned}u(b,t)&=u_{b}(t)\\u(c,t)&=u_{c}(t).\end{aligned}}}

If one discretizes the domain(b,c)×(0,d){\displaystyle (b,c)\times (0,d)} to a grid with equally spaced points with a spacing ofΔx{\displaystyle \Delta x} in thex{\displaystyle x}-direction andΔt{\displaystyle \Delta t} in thet{\displaystyle t}-direction, we introduce an approximationu~{\displaystyle {\tilde {u}}} ofu{\displaystyle u}uin=u~(xi,tn)   with   xi=b+iΔx,tn=nΔt   for   i=0,,N,n=0,,M,{\displaystyle u_{i}^{n}={\tilde {u}}(x_{i},t^{n})~~{\text{ with }}~~{\begin{array}{l}x_{i}=b+i\,\Delta x,\\t^{n}=n\,\Delta t\end{array}}~~{\text{ for }}~~{\begin{array}{l}i=0,\ldots ,N,\\n=0,\ldots ,M,\end{array}}} whereN=cbΔx,M=dΔt{\displaystyle N={\frac {c-b}{\Delta x}},\,M={\frac {d}{\Delta t}}} are integers representing the number of grid intervals. Then the Lax–Friedrichs method to approximate the partial differential equation is given by:uin+112(ui+1n+ui1n)Δt+aui+1nui1n2Δx=0{\displaystyle {\frac {u_{i}^{n+1}-{\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})}{\Delta t}}+a{\frac {u_{i+1}^{n}-u_{i-1}^{n}}{2\,\Delta x}}=0}

Or, rewriting this to solve for the unknownuin+1,{\displaystyle u_{i}^{n+1},}uin+1=12(ui+1n+ui1n)aΔt2Δx(ui+1nui1n){\displaystyle u_{i}^{n+1}={\frac {1}{2}}\left(u_{i+1}^{n}+u_{i-1}^{n}\right)-a{\frac {\Delta t}{2\,\Delta x}}\left(u_{i+1}^{n}-u_{i-1}^{n}\right)}

Where the initial values and boundary nodes are taken fromui0=u0(xi)u0n=ub(tn)uNn=uc(tn).{\displaystyle {\begin{aligned}u_{i}^{0}&=u_{0}(x_{i})\\u_{0}^{n}&=u_{b}(t^{n})\\u_{N}^{n}&=u_{c}(t^{n}).\end{aligned}}}

Extensions to Nonlinear Problems

[edit]

A nonlinear hyperbolic conservation law is defined through a flux functionf{\displaystyle f}:ut+(f(u))x=0.{\displaystyle u_{t}+(f(u))_{x}=0.}

In the case off(u)=au{\displaystyle f(u)=au}, we end up with a scalar linear problem. Note that in general,u{\displaystyle u} is a vector withm{\displaystyle m} equations in it.The generalization of the Lax-Friedrichs method to nonlinear systems takes the form[1]uin+1=12(ui+1n+ui1n)Δt2Δx(f(ui+1n)f(ui1n)).{\displaystyle u_{i}^{n+1}={\frac {1}{2}}\left(u_{i+1}^{n}+u_{i-1}^{n}\right)-{\frac {\Delta t}{2\,\Delta x}}\left(f(u_{i+1}^{n})-f(u_{i-1}^{n})\right).}

This method is conservative and first order accurate, hence quite dissipative. It can, however be used as a building block for building high-order numerical schemes for solving hyperbolic partial differential equations, much like Euler time steps can be used as a building block for creating high-order numerical integrators for ordinary differential equations.

We note that this method can be written in conservation form:uin+1=uinΔtΔx(f^i+1/2nf^i1/2n),{\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left({\hat {f}}_{i+1/2}^{n}-{\hat {f}}_{i-1/2}^{n}\right),}wheref^i1/2n=12(fi1+fi)Δx2Δt(uinui1n).{\displaystyle {\hat {f}}_{i-1/2}^{n}={\frac {1}{2}}\left(f_{i-1}+f_{i}\right)-{\frac {\Delta x}{2\Delta t}}\left(u_{i}^{n}-u_{i-1}^{n}\right).}

Without the extra termsuin{\displaystyle u_{i}^{n}} andui1n{\displaystyle u_{i-1}^{n}} in the discrete flux,f^i1/2n{\displaystyle {\hat {f}}_{i-1/2}^{n}}, one ends up with theFTCS scheme, which is well known to be unconditionally unstable for hyperbolic problems.

Stability and accuracy

[edit]
Example problem initial condition
Lax-Friedrichs solution

This method isexplicit andfirst order accurate in time andfirst order accurate in space (O(Δt)+O(Δx2/Δt)){\displaystyle O(\Delta t)+O({\Delta x^{2}}/{\Delta t}))} providedu0(x),ub(t),uc(t){\displaystyle u_{0}(x),\,u_{b}(t),\,u_{c}(t)} are sufficiently-smooth functions. Under these conditions, the method isstable if and only if the following condition is satisfied:|aΔtΔx|1.{\displaystyle \left|a{\frac {\Delta t}{\Delta x}}\right|\leq 1.}

(Avon Neumann stability analysis can show the necessity of this stability condition.) The Lax–Friedrichs method is classified as having second-orderdissipation and third orderdispersion.[2] For functions that havediscontinuities, the scheme displays strong dissipation and dispersion;[3] see figures at right.

References

[edit]
  1. ^LeVeque, Randall J. (1992).Numerical methods for conservation laws. Basel: Birkhäuser Verlag. p. 125.ISBN 978-3-0348-8629-1.OCLC 828775522.
  2. ^Chu, C. K. (1978),Numerical Methods in Fluid Mechanics, Advances in Applied Mechanics, vol. 18, New York:Academic Press, p. 304,ISBN 978-0-12-002018-8
  3. ^Thomas, J. W. (1995),Numerical Partial Differential Equations: Finite Difference Methods, Texts in Applied Mathematics, vol. 22, Berlin, New York:Springer-Verlag, §7.8,ISBN 978-0-387-97999-1
Finite difference
Parabolic
Hyperbolic
Others
Finite volume
Finite element
Meshless/Meshfree
Domain decomposition
Others
Related
Retrieved from "https://en.wikipedia.org/w/index.php?title=Lax–Friedrichs_method&oldid=1301104275"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp