Nonstandard finite difference schemes is a general set of methods in numerical analysis that gives numerical solutions to differential equations by constructing a discrete model. The general rules for such schemes are not precisely known.[1] [2]
A finite difference (FD) model of a differential equation (DE) can be formed by simply replacing the derivatives with FD approximations. But this is a naive "translation." Ifwe literally translate from English to Japanese by making a one-to-one correspondence between words, the original meaning is often lost. Similarly the naive FD model of a DE can be very different from the original DE, because the FD model is a difference equation with solutions that may be quite different from solutions of the DE. For a more technical definition see Mickens 2000.[1]
A nonstandard (NS) finite difference model, is a free and more accurate "translation" of a differential equation. For example, a parameter (call it v) in the DE may take another value u in the NS-FD model.
As an example let us model the wave equation,
2-v | |
(\partial | |
t |
2
2 | |
\partial | |
x |
)\Psi(x,t)=0.
f'(x) ≈
f(x+\Deltax/2)-f(x-\Deltax/2) | |
\Deltax |
.
f'(x)
f''(x)
f''(x) ≈
| ||||||||||
\Deltax2 |
,
dxf(x)=f(x+\Deltax/2)-f(x-\Deltax/2)
2 | |
d | |
x{} |
f(x)=f(x+\Deltax)+f(x-\Deltax)-2f(x)
dx
f(x)
2 | |
\left[d | |
t |
-(v\Deltat/\Deltax)2
2 | |
d | |
x |
\right]\Psi(x,t)=0.
\phi(x,t)=ei
\omega/k=v
2 | |
\left[d | |
t |
-(v\Deltat/\Delta
2 | |
x) | |
x |
\right]\phi(x,t)=\epsilon.
\epsilon ≠ 0
To construct a NS-FD model which has the same solution as the wave equation, put a free parameter, call it u, in place of
v\Deltat/\Deltax
\epsilon=0
u=
\sin(\omega\Deltat/2) | |
\sin(k\Deltax/2) |
.
\left[
2 | |
d | |
t |
-(u\Deltat/\Deltax)2
2 | |
d | |
x |
\right]\Psi(x,t)=0.