additionalPoint_approximation

(experimental) in EULERIMPL and EULEREXPL setting

Default: additionalPoint_approximation = 2 This is used in the EULERIMPL and EULEREXPL setting. There are two options to approximate the unknown function values \( \tilde{u}_i, \tilde{u}_j\) of the MUSCL reconstructions (see pure_TRANSPORT) \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}
  • additionalPoint_approximation = 1 -> function values \( \tilde{u}_i, \tilde{u}_j\) are approximated by FPM stencil, i.e. \( \mathbf{\tilde{c}}_j^{\, (0)} = \big(\tilde{c}_{j 1}^{\, (0)}, \ldots , \tilde{c}_{j \tilde{N}_j}^{\, (0)} \big)^T\): \begin{align} u(\mathbf{\tilde{x}}_j) &\approx \tilde{u}_j = \sum \limits_{k = 1}^{\tilde{N}_j} \tilde{c}_{j k}^{\, (0)} u(\mathbf{x}_k)\end{align} On the hand this approach is very accurate, but it is very expensive and unsuitable for MPI parallelization because of the neighborhood extension. Therefore it is only for experimental purposes!
  • additionalPoint_approximation = 2 -> function values \( \tilde{u}_i, \tilde{u}_j\) are approximated by Taylor Expansions of second order: \begin{align} u(\mathbf{\tilde{x}}_i) &\approx \tilde{u}_i = u_j - 2 \, d \mathbf{x}_j^T \cdot \nabla u_i, \qquad u(\mathbf{\tilde{x}}_j) \approx \tilde{u}_j = u_i + 2 \, d \mathbf{x}_j^T \cdot \nabla u_j, \end{align} whereby the gradients are approximated by using the FPM stencils for approximating x,y,z-derivative \( c_{ij}^x, c_{ij}^y, c_{ij}^z\). Thus \begin{align} \nabla u_i &= \! \! \sum \limits_{\scriptstyle j \in S(i) \atop \scriptstyle j\neq i} \! \left(\begin{array}{*{1}{c}} c_{ij}^{x} \\[5pt] c_{ij}^{y} \\[3pt] c_{ij}^{z} \end{array}\right) (u_j - u_i), \qquad \nabla u_j = \! \! \sum \limits_{\scriptstyle k \in S(j) \atop \scriptstyle k\neq j} \! \left(\begin{array}{*{1}{c}} c_{jk}^{x} \\[5pt] c_{jk}^{y} \\[3pt] c_{jk}^{z} \end{array}\right) (u_k - u_j). \end{align} This approach is very fast and only slightly less accurate than approach 1. Thus this is the method of choice!
Remark: The additionalPoint_approximation parameter is intended for experimental purposes only! Better do not touch!
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
SkipMarkingPointsLayer2 (experimental) switch for marking the second layer near the boundary in EULERIMPL setting
SpecialBNDtreatmentEULERIMPL (experimental) switch for special boundary treatment for MUSCL reconstruction in EULERIMPL scheme
EULERIMPL Higher order implicit Eulerian or ALE motion (recommended among the Euler implementations)