Numerical Schemes

The coefficients of equation (6) must remain positive, since an increase in a neighboring value must result in an increase in \(\phi_P\) to obtain physically realistic solutions. Thus, the inequalities \(a_A > 0\) and \(a_A + F_f>0\) must be satisfied. The Péclet number \(P_f \equiv F_f / D_f\) is the ratio between convective strength and diffusive conductance. To achieve physically realistic solutions, the inequality

(1)\[ \frac{1}{1-\alpha_f} > P_f > -\frac{1}{\alpha_f}\]

must be satisfied. The parameter \(\alpha_f\) is defined by the chosen scheme, depending on Equation (1). The various differencing schemes are:

the central differencing scheme,

where

(2)\[\alpha_f = \frac{1}{2}\]

so that \(|P_f|<2\) satisfies Equation (1). Thus, the central differencing scheme is only numerically stable for a low values of \(P_f\).

the upwind scheme,

where

(3)\[\begin{split}\alpha_f = \begin{cases} 1 & \text{if $P_f > 0$,} \\ 0 & \text{if $P_f < 0$.} \end{cases}\end{split}\]

Equation (3) satisfies the inequality in Equation (1) for all values of \(P_f\). However the solution over predicts the diffusive term leading to excessive numerical smearing (“false diffusion”).

the exponential scheme,

where

(4)\[\alpha_f = \frac{(P_f-1)\exp{(P_f)}+1}{P_f(\exp{(P_f)}-1)}.\]

This formulation can be derived from the exact solution, and thus, guarantees positive coefficients while not over-predicting the diffusive terms. However, the computation of exponentials is slow and therefore a faster scheme is generally used, especially in higher dimensions.

the hybrid scheme,

where

(5)\[\begin{split}\alpha_f = \begin{cases} \frac{P_f-1}{P_f} & \text{if $P_f > 2$,} \\ \frac{1}{2} & \text{if $|P_f| < 2$,} \\ -\frac{1}{P_f} & \text{if $P_f < -2$.} \end{cases}\end{split}\]

The hybrid scheme is formulated by allowing \(P_f \rightarrow \infty\), \(P_f \rightarrow 0\) and \(P_f \rightarrow -\infty\) in the exponential scheme. The hybrid scheme is an improvement on the upwind scheme, however, it deviates from the exponential scheme at \(|P_f|=2\).

the power law scheme,

where

(6)\[\begin{split}\alpha_f = \begin{cases} \frac{P_f-1}{P_f} & \text{if $P_f > 10$,} \\ \frac{(P_f-1)+(1-P_f/10)^5}{P_f} & \text{if $0 < P_f < 10$,} \\ \frac{(1-P_f/10)^5 - 1}{P_f} & \text{if $-10 < P_f < 0$,} \\ -\frac{1}{P_f} & \text{if $P_f < -10$.} \end{cases}\end{split}\]

The power law scheme overcomes the inaccuracies of the hybrid scheme, while improving on the computational time for the exponential scheme.

Warning

VanLeerConvectionTerm not mentioned and no discussion of explicit forms.

All of the numerical schemes presented here are available in FiPy and can be selected by the user.

Last updated on Jun 26, 2024. Created using Sphinx 7.1.2.