pure_TRANSPORT

(experimental) choice of spatial discretization scheme for transport terms in EULERIMPL and EULEREXPL setting

Default: pure_TRANSPORT = 1 There are two different methods for discretizing transport terms within the EULERIMPL and EULEREXPL setting:
  1. Cutting method for efficient solving of transport terms \( \mathbf{v}\cdot \nabla u\). Designed for incompressible solver LIQUID .
  2. Rotational method for approximating flux functions in hyperbolic equations \( \partial_{t}u + \nabla \cdot \mathbf{Q}(u) = 0\). Designed for compressible solver.
  • pure_TRANSPORT = 1 -> transport terms \( \mathbf{v}\cdot \nabla u\) are discretized by cutting method: For the transport equation \( \partial_{t}u + \mathbf{v}\cdot \nabla u = 0\) the discretization scheme for an interior point \( \mathbf{x}_i\) is \begin{align} \frac{d u_i}{d t} &= -2 \! \! \! \sum \limits_{\scriptstyle j \in S(i) \atop \scriptstyle j\neq i} \! \! \! c_{ij}^{\mathbf{v} \cdot \nabla} \big( u_{ij} - u_i \big), \\[10pt] u_{ij} &= \frac{1}{2}\Bigl[ \big(1 + \mathrm{sign}( (\mathbf{x}_{j}-\mathbf{x}_{i}) \cdot \mathbf{v}_{i} ) \big) \, u_{ij}^{+} + \big(1 - \mathrm{sign}( (\mathbf{x}_{j}-\mathbf{x}_{i}) \cdot \mathbf{v}_{i} ) \big) \, u_{ij}^{-} \Bigr], \\[10pt] c_{ij}^{\mathbf{v} \cdot \nabla} &= \mathbf{c}_{ij} \cdot \mathbf{v}_i = c_{ij}^x \, v_i^x + c_{ij}^y \, v_i^y + c_{ij}^z \, v_i^z. \end{align} \( c_{ij}^x, c_{ij}^y, c_{ij}^z\): FPM stencils for approximating x,y,z-derivative \begin{align} \mathrm{sign}(x) &= \begin{cases}-1, & x \leq 0 \\ \; \; \, 1, & x > 0 \end{cases} \end{align} The MUSCL reconstructions are \begin{align} u_{ij}^{+} &= u_i + \frac{1}{2} \, \phi \left( r_{ij}^{+} \right) (u_i - \tilde{u}_i), \\[10pt] u_{ij}^{-} &= u_j - \frac{1}{2} \, \phi \left( r_{ij}^{-} \right) (\tilde{u}_j - u_j), \end{align} whereby \( \phi\) is the slope LIMITER and \begin{align} r_{ij}^{+} &= \begin{cases}\displaystyle \frac{u_j - u_i}{u_i - \tilde{u}_i}, & u_i \neq \tilde{u}_i \\[14pt]\displaystyle \qquad \; 0 \;, & \mbox{ sonst}\end{cases}, \qquad \qquad r_{ij}^{-} = \begin{cases}\displaystyle \frac{u_j - u_i}{\tilde{u}_j - u_j}, & \tilde{u}_j \neq u_j \\[14pt]\displaystyle \qquad \; 0 \;, & \mbox{ sonst}\end{cases} \end{align} The unknown function values \( \tilde{u}_i, \tilde{u}_j\) are approximated by Taylor expansions (see additionalPoint_approximation).
  • pure_TRANSPORT = 2 -> transport terms \( \mathbf{v}\cdot \nabla u\) are discretized by rotational method. Only for experimental purposes!
  • pure_TRANSPORT = 3 -> flux function \( \mathbf{Q}(u)\) is approximated by cutting method. This works only for scalar hyperbolic equations! Only for experimental purposes!
  • pure_TRANSPORT = 4 -> flux function \( \mathbf{Q}(u)\) is approximated by rotational method. This method is only implemented for scalar hyperbolic equations in the EULEREXPL setting so far. But it is also being implemented for hyperbolic systems like shallow water or gas dynamic equations. For the scalar equation \( \partial_{t}u + \nabla \cdot \mathbf{Q}(u) = 0\) the discretization scheme for an interior point \( \mathbf{x}_i\) is \begin{align} \frac{d u_i}{d t} = -2 & \! \! \! \sum \limits_{\scriptstyle j \in S(i) \atop \scriptstyle j\neq i} \! \! \! \tilde{c}_{ij}^{\, x} \, \big( F(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{n}}_{ij}) - \mathbf{Q}(u_i) \! \cdot \mathbf{\hat{n}}_{ij} \big) + \tilde{c}_{ij}^{\, y} \, \big( G(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{s}}_{ij}) - \mathbf{Q}(u_i) \! \cdot \mathbf{\hat{s}}_{ij} \big) + \tilde{c}_{ij}^{\, z} \, \big( H(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{t}}_{ij}) - \mathbf{Q}(u_i) \! \cdot \mathbf{\hat{t}}_{ij} \big), \end{align} \begin{align} F(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{n}}_{ij}) &= \frac{1}{2} \big( \mathbf{Q}(u_{ij}^{+}) + \mathbf{Q}(u_{ij}^{-}) \big) \cdot \mathbf{\hat{n}}_{ij} - \frac{1}{2} \big| \mathbf{\tilde{a}}_{ij} \cdot \mathbf{\hat{n}}_{ij} \big| \big(u_{ij}^{-} - u_{ij}^{+}\big), \\[15pt] G(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{s}}_{ij}) &= \frac{1}{2} \big( \mathbf{Q}(u_{ij}^{+}) + \mathbf{Q}(u_{ij}^{-}) \big) \cdot \mathbf{\hat{s}}_{ij}, \\[15pt] H(u_{ij}^{+}, u_{ij}^{-}, \mathbf{\hat{t}}_{ij}) &= \frac{1}{2} \big( \mathbf{Q}(u_{ij}^{+}) + \mathbf{Q}(u_{ij}^{-}) \big) \cdot \mathbf{\hat{t}}_{ij} \end{align} \begin{align} \mathbf{\tilde{a}}_{ij} &= \begin{cases} \displaystyle \frac{\mathbf{Q}(u_{ij}^{-}) - \mathbf{Q}(u_{ij}^{+})}{u_{ij}^{-} - u_{ij}^{+}}, & u_{ij}^{-} \neq u_{ij}^{+} \\[14pt] \displaystyle \qquad \frac{d}{d u} \mathbf{Q}(u_{ij}^{+}) \, , & u_{ij}^{-} = u_{ij}^{+} \end{cases} \end{align} whereby \begin{align} \tilde{c}_{ij}^{\, x} &= c_{ij}^{x} \sin \theta_{ij}^{z} \cos \theta_{ij}^{x} + c_{ij}^{y} \sin \theta_{ij}^{z} \sin \theta_{ij}^{x} + c_{ij}^{z} \cos \theta_{ij}^{z} \\ \tilde{c}_{ij}^{\, y} &= c_{ij}^{x} \cos \theta_{ij}^{z} \cos \theta_{ij}^{x} + c_{ij}^{y} \cos \theta_{ij}^{z} \sin \theta_{ij}^{x} - c_{ij}^{z} \sin \theta_{ij}^{z} \\ \tilde{c}_{ij}^{\, z} &= -c_{ij}^{x} \sin \theta_{ij}^{x} + c_{ij}^{y} \cos \theta_{ij}^{x} \end{align} are the stencils in the rotated coordinate system \begin{align} \mathbf{\hat{n}}_{ij} &= \left(\begin{array}{*{1}{c}} \sin \theta_{ij}^{z} \cos \theta_{ij}^{x} \\ \sin \theta_{ij}^{z} \sin \theta_{ij}^{x} \\ \cos \theta_{ij}^{z} \end{array}\right), \qquad \mathbf{\hat{s}}_{ij} = \left(\begin{array}{*{1}{c}} \cos \theta_{ij}^{z} \cos \theta_{ij}^{x} \\ \cos \theta_{ij}^{z} \sin \theta_{ij}^{x} \\ -\sin \theta_{ij}^{z} \end{array}\right), \qquad \mathbf{\hat{t}}_{ij} = \left(\begin{array}{*{1}{c}} -\sin \theta_{ij}^{x} \\ \cos \theta_{ij}^{x} \\ 0 \end{array}\right). \end{align} \( \theta_{ij}^{z} \in [0,\pi]\) is the angle between z-axis and vector \( \mathbf{x}_j - \mathbf{x}_i\) \( \theta_{ij}^{x} \in [0,2\pi)\) is the angle between x-axis and vector \( (x_j - x_i, y_j - y_i, 0 )^T\)
Remark: The pure_TRANSPORT parameter is intended for experimental purposes only! Better do not touch! At the moment only pure_TRANSPORT = 1 is used in the EULERIMPL setting because it is specially developed for the LIQUID solver. pure_TRANSPORT = 2-4 only works in the EULEREXPL setting because these spatial discretization schemes are not linearized yet for implicit solving.
This item is referenced in:
additionalPoint_approximation (experimental) in EULERIMPL and EULEREXPL setting
pure_TRANSPORT (experimental) choice of spatial discretization scheme for transport terms in EULERIMPL and EULEREXPL setting
EULERIMPL Higher order implicit Eulerian or ALE motion (recommended among the Euler implementations)