Compact stencil

title: "Compact stencil" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["numerical-differential-equations"] topic_path: "science/mathematics" source: "https://en.wikipedia.org/wiki/Compact_stencil" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::figure[src="https://upload.wikimedia.org/wikipedia/commons/c/c5/CompactStencil.svg" caption="A 2D compact stencil using all 8 adjacent nodes, plus the center node (in red)."] ::
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
Two Point Stencil Example
The two point stencil for the first derivative of a function is given by:
f'(x_0) = \frac{f{\left(x_0{+}h\right)} - f{\left(x_0{-}h\right)}}{2h} + \mathcal{O}{\left(h^2\right)}.
This is obtained from the Taylor series expansion of the first derivative of the function given by:
f'(x_0)=\frac{f{\left(x_0{+}h\right)} - f(x_0)}{h} - \frac{f''(x_0)}{2!}h - \frac{f^{(3)}(x_0)}{3!}h^2 - \frac{f^{(4)}(x_0)}{4!}h^3 + \cdots.
Replacing h with -h, we have:
f'(x_0) = -\frac{f{\left(x_0{-}h\right) }- f(x_0)}{h} + \frac{f''(x_0)}{2!}h - \frac{f^{(3)}(x_0)}{3!}h^2 + \frac{f^{(4)}(x_0)}{4!}h^3 + \cdots .
Addition of the above two equations together results in the cancellation of the terms in odd powers of h:
\begin{align} 2f'(x_0) &= \frac{f{\left(x_0{+}h\right)} - f(x_0)}{h}
- \frac{f{\left(x_0{-}h\right)} - f(x_0)}{h} -2\frac{f^{(3)}(x_0)}{3!}h^2 + \cdots \[1ex] f'(x_0) &= \frac{f{\left(x_0{+}h\right)} - f{\left(x_0{-}h\right)}}{2h} - \frac{f^{(3)}(x_0)}{3!}h^2 + \cdots \ &=\frac{f{\left(x_0{+}h\right)} - f{\left(x_0{-}h\right)}}{2h} + \mathcal{O}{\left(h^2\right)}. \end{align}
Three Point Stencil Example
For example, the three point stencil for the second derivative of a function is given by:
f''(x_0) = \frac{f{\left(x_0{+}h\right)} + f{\left(x_0{-}h\right)} - 2f(x_0)}{h^2} + \mathcal{O}{\left(h^2\right)}.
This is obtained from the Taylor series expansion of the first derivative of the function given by: f'(x_0) = \frac{f{\left(x_0{+}h\right)} - f(x_0)}{h} -\frac{f''(x_0)}{2!}h - \frac{f^{(3)}(x_0)}{3!}h^2 - \frac{f^{(4)}(x_0)}{4!}h^3 + \cdots.
Replacing h with -h, we have: f'(x_0) = -\frac{f{\left(x_0{-}h\right)} - f(x_0)}{h} + \frac{f''(x_0)}{2!}h - \frac{f^{(3)}(x_0)}{3!}h^2 + \frac{f^{(4)}(x_0)}{4!}h^3 + \cdots .
Subtraction of the above two equations results in the cancellation of the terms in even powers of h: \begin{align} 0 &= \frac{f{\left(x_0{+}h\right)} - f(x_0)}{h} + \frac{f{\left(x_0{-}h\right)} - f(x_0)}{h} - 2\frac{f^{(2)}(x_0)}{2!}h - 2\frac{f^{(4)}(x_0)}{4!}h^3 + \cdots. \[1ex] f^{(2)}(x_0) &= \frac{f{\left(x_0{+}h\right)} + f{\left(x_0{-}h\right)} - 2f(x_0)}{h^2} - 2\frac{f^{(4)}(x_0)}{4!}h^2 + \cdots. \[1ex] f^{(2)}(x_0) &= \frac{f{\left(x_0{+}h\right)} + f{\left(x_0{-}h\right)} - 2f(x_0)}{h^2} + \mathcal{O}{\left(h^2\right)}. \end{align}
References
References
- Spotz, William F.. (1996). "High-Order Compact Finite Difference Schemes for Computational Mechanics". The University of Texas at Austin.
- Communications in Numerical Methods in Engineering, Copyright © 2008 John Wiley & Sons, Ltd.
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::