maelstrom.stabilization

Stabilization techniques for PDEs with dominating convection. The classical article about SUPG is [BH82]; for an overview of methods, see [JK07], [JK08], and [BGS04].

maelstrom.stabilization.supg(mesh, convection, diffusion, element_degree)

For each cell, this function return the expression

..math:

\begin{align*}
\tau &= \frac{h}{2\|b\|}
\left(\frac{1}{\tanh Pe} - \frac{1}{Pe}\right)\\
& = \frac{h^2}{4\varepsilon} \frac{1}{Pe}
\left(\frac{1}{\tanh Pe} - \frac{1}{Pe}\right)
\end{align*}

with the element diameter in the direction of the convection vector \(b\) and the Péclet number \(Pe = \frac{\|b\| h}{2\varepsilon}\); see (3) in [JK08]. Note that \(\tau\) does not have a singularity for \(\|b\|=0\) since

..math:

\frac{1}{\tanh Pe} - \frac{1}{Pe} = \frac{1}{3}Pe + O(Pe^3)

for \(Pe\approx 0\). This Taylor expansion (with a few more terms) is made use of in the code.