marquinaLaxFluxΒΆ

The Marquina Lax flux uses the eigenvalues on both the left and right hand side of the domain to determine which flux is used to compute the numerical flux at the interface. In the case where the left and right maximum eigenvalues have opposite signs, the scheme reduces to the localLaxFlux.

In this case \(\lambda_{max}^{+}\) is the eigenvalue with the largest magnitude in cell \(i+1\) while \(\lambda_{min}^{-}\) is the eigenvalue with the largest magnitude in cell \(i\).

\[\notag \begin{align} \tilde{f}_{i+1/2} =\left( \begin{array}{cc} f^{-}_{i+1} & \mbox{if } \lambda_{max}^{+}<0 \mbox{ and } \lambda_{max}^{-}<0 \\ f^{+}_{i} & \mbox{if } \lambda_{max}^{+}>0 \mbox{ and } \lambda_{max}^{-}>0 \\ \frac{1}{2}\left(f^{-}_{i+1}+f^{+}_{i}\right)-\frac{1}{2}|\lambda_{max}|\left(q^{-}_{i+1}-q^{+}_{i}\right) & \mbox{otherwise} \\ \end{array}\right) \end{align}\]

Where \(|\lambda_{max}|=\mbox{max}\left[|\lambda_{max}^{+}|,|\lambda_{max}^{-}|\right]\). Marquina fluxes are frequently used to reduce density dips in noh type problems.