Compact stencil explained

In mathematics, especially in the areas of numerical analysis called numerical partial differential equations, a compact stencil is a type of stencil that uses only nine nodes for its discretization method in two dimensions. It uses only the center node and the adjacent nodes. For any structured grid utilizing a compact stencil in 1, 2, or 3 dimensions the maximum number of nodes is 3, 9, or 27 respectively. Compact stencils may be compared to non-compact stencils. Compact stencils are currently implemented in many partial differential equation solvers, including several in the topics of CFD, FEA, and other mathematical solvers relating to PDE's.[1] [2]

Two Point Stencil Example

The two point stencil for the first derivative of a function is given by:

f'(x
0)=f\left(x0+h\right)-f\left(x0-h\right)
2h

+O\left(h2\right)

.

This is obtained from the Taylor series expansion of the first derivative of the function given by:

\begin{array}

{l} f'(x-
0)=f\left(x0+h\right)-f(x0)
h
f(2)(x0)
2!

h-

f(3)(x0)
3!

h2-

f(4)(x0)
4!

h3+ \end{array}

.

Replacing

h

with

-h

, we have:

\begin{array}

{l} f'(x
0)=-f\left(x0-h\right)-f(x0)
h

+

f(2)(x0)
2!

h-

f(3)(x0)
3!

h2+

f(4)(x0)
4!

h3+\end{array}

.

Addition of the above two equations together results in the cancellation of the terms in odd powers of

h

:

\begin{array}

{l} 2f'(x-
0)= f\left(x0+h\right)-f(x0)
h
f\left(x0-h\right)-f(x0)-2
h
f(3)(x0)
3!

h2+ \end{array}

.

\begin{array}

{l} f'(x
0)= f\left(x0+h\right)-f\left(x0-h\right)
2h

-

f(3)(x0)
3!

h2+ \end{array}

.

\begin{array}

{l} f'(x
0)= f\left(x0+h\right)-f\left(x0-h\right)
2h

+O\left(h2\right) \end{array}

.

Three Point Stencil Example

For example, the three point stencil for the second derivative of a function is given by:

\begin{array}{l} f(2)

(x
0)= f\left(x0+h\right)+f\left(x0-h\right)-2f(x0)
h2

+O\left(h2\right) \end{array}

.

This is obtained from the Taylor series expansion of the first derivative of the function given by:

\begin{array}

{l} f'(x-
0)=f\left(x0+h\right)-f(x0)
h
f(2)(x0)
2!

h-

f(3)(x0)
3!

h2-

f(4)(x0)
4!

h3+ \end{array}

.

Replacing

h

with

-h

, we have:

\begin{array}

{l} f'(x
0)=-f\left(x0-h\right)-f(x0)
h

+

f(2)(x0)
2!

h-

f(3)(x0)
3!

h2+

f(4)(x0)
4!

h3+\end{array}

.

Subtraction of the above two equations results in the cancellation of the terms in even powers of

h

:

\begin{array}{l} 0=

f\left(x0+h\right)-f(x0)+
h
f\left(x0-h\right)-f(x0)
h

-2

f(2)(x0)
2!

h-2

f(4)(x0)
4!

h3+ \end{array}

.

\begin{array}{l} f(2)

(x
0)= f\left(x0+h\right)+f\left(x0-h\right)-2f(x0)
h2

-2

f(4)(x0)
4!

h2+ \end{array}

.

\begin{array}{l} f(2)

(x
0)= f\left(x0+h\right)+f\left(x0-h\right)-2f(x0)
h2

+O\left(h2\right) \end{array}

.

See also

Notes and References

  1. W. F. Spotz. High-Order Compact Finite Difference Schemes for Computational Mechanics. PhD thesis, University of Texas at Austin, Austin, TX, 1995.
  2. Communications in Numerical Methods in Engineering, Copyright © 2008 John Wiley & Sons, Ltd.