GeneralizedUpwind
Generalized way of computing upwind terms
This section here generalizes the way of computing upwind pressure and upwind velocity, stated in
SimplifiedFastUpwindTerms and
ClassicalUpwindTerms .
Method 1: original method, see
ClassicalUpwindTerms
\begin{align} \begin{array}{l}
\bar p_{orig} = p - \frac{{\rho c}}{2}\left( {{\mathbf{v}}^ + - {\mathbf{v}}^ - } \right)^T{\mathbf{n}}{\text{ with }}{\mathbf{v}}^ + \left( {\mathbf{x}} \right) = {\mathbf{\tilde v}}\left( {{\mathbf{x}} + \alpha h{\mathbf{n}}} \right){\text{ and }}{\mathbf{v}}^ - \left( {\mathbf{x}} \right) = {\mathbf{\tilde v}}\left( {{\mathbf{x}} - \alpha h{\mathbf{n}}} \right)\\
{\mathbf{\bar v}}_{orig} = {\mathbf{v}} - \frac{1}{{2\rho c}}\left( {p^ + - p^ - } \right){\mathbf{n}}{\text{ with }}p^ + \left( {\mathbf{x}} \right) = \tilde p\left( {{\mathbf{x}} + \alpha h{\mathbf{n}}} \right){\text{ and }}p^ - \left( {\mathbf{x}} \right) = \tilde p\left( {{\mathbf{x}} - \alpha h{\mathbf{n}}} \right)
\end{array}\end{align}
With
\( \alpha h\) the upwind step length
\( {\mathbf{n}} = \frac{1}{{\left\| {\nabla p} \right\|}}\nabla p\) the upwind direction
Method 2: simplified and fast upwind quantities, see
SimplifiedFastUpwindTerms
\begin{align} \begin{array}{l}
\bar p_{simp} = p - \rho cL\left( {\tilde \nabla ^T{\mathbf{v}}} \right)\\
{\mathbf{\bar v}}_{simp} = {\mathbf{v}} - \frac{L}{{\rho c}}\tilde \nabla p
\end{array}\end{align}
With
\( L = \left\{ {\begin{array}{*{20}{c}}
{{\text{either }}\beta \cdot \Delta t \cdot c}\\
{{\text{or }}\gamma \cdot h{\text{ }}}
\end{array}} \right.\) the upwind step length (needed in the Taylor series expansion)
Hint: choosing \( \beta = 0.5\) will lead to second order in time integration.
Combined method
We can bring both methods together into one
\begin{align} \begin{array}{l}
\bar p_{general}{\rm{ }} = {\rm{ }}p{\rm{ }} - {\rm{ }}\frac{{\rho c}}{2}\left( {{\mathbf{v}}^ + - {\mathbf{v}}^ - } \right)^T{\mathbf{n}}{\rm{ }} - {\rm{ }}\rho cL\left( {\tilde \nabla ^T{\mathbf{v}}} \right)\\
{\mathbf{\bar v}}_{general}{\rm{ }} = {\rm{ }}{\mathbf{v}}{\rm{ }} - {\rm{ }}\frac{1}{{2\rho c}}\left( {p^ + - p^ - } \right){\mathbf{n}}{\rm{ }} - {\rm{ }}\frac{L}{{\rho c}}\tilde \nabla p
\end{array}\end{align}
Upwind lengths for different solvers?
-
- FPM1 (original)
\begin{align} \begin{array}{l}
\alpha = 0.2\\
\beta = 0\\
\gamma = 0
\end{array}\end{align}
- FPM1 (simplified, currently implemented in VPS)
\begin{align} \begin{array}{l}
\alpha = 0\\
\beta = 0\\
\gamma = 0.2
\end{array}\end{align}
- FPM3
\begin{align} \begin{array}{l}
\alpha = 0\\
\beta = \left\{ {\begin{array}{*{20}{c}}
{0.5{\text{ }}if{\text{ }}\nabla ^T{\mathbf{v}} > 0{\text{ (rarefaction)}}}\\
{0{\text{ elsewise }}}
\end{array}} \right.\\
\gamma = \left\{ {\begin{array}{*{20}{c}}
{0.0{\text{ }}if{\text{ }}\nabla ^T{\mathbf{v}} > 0{\text{ (rarefaction)}}}\\
{0.2{\text{ elsewise }}}
\end{array}} \right.
\end{array}\end{align}