Reconstructs a mixture's cell scalars (mass fractions and the thermodynamic surrogates gamma, e0) with the face reconstruction that the flow block uses:
More...
#include <scalar_reconstruction.h>
|
| void | init (std::shared_ptr< Mesh > mesh, const BoundaryData &boundaries, uint32_t n_species, const FaceReconstruction &flow) |
| |
| void | calc (ScalarView scalars, Kokkos::View< rtype *[N_CONSERVATIVE]> W, Kokkos::View< rtype **[2][2]> face_thermo) |
| | After the flow block's reconstruction: what the scalars need beyond it (MUSCL gradients and limiters, TENO factors theta), and the face values of [gamma, e0] on both sides of every face, written to face_thermo(face, q, side, 0/1).
|
| |
| void | species_slots (ScalarView scalars, Kokkos::View< rtype ** > face_mdot, Kokkos::View< rtype * > quad_weights, Kokkos::View< rtype ** > face_weights, Kokkos::View< rtype ***, Kokkos::LayoutRight > slots) |
| | Species fluxes per face side (SpeciesSlotFunctor) of every cell, from the mass flux at each face point, valid after calc().
|
| |
| ScalarFaceValues | face_values (ScalarView scalars) const |
| | Device evaluator of first-order and MUSCL face values, valid after calc().
|
| |
| void | set_boundaries (const BoundaryData &b) |
| |
| template<typename Eval > |
| void | launch_slots (const Eval &values, Kokkos::View< rtype ** > face_mdot, Kokkos::View< rtype * > quad_weights, Kokkos::View< rtype ** > face_weights, Kokkos::View< rtype ***, Kokkos::LayoutRight > slots) |
| |
| template<uint8_t DEG> |
| void | calc_teno (ScalarView scalars, Kokkos::View< rtype **[2][2]> face_thermo) |
| |
Reconstructs a mixture's cell scalars (mass fractions and the thermodynamic surrogates gamma, e0) with the face reconstruction that the flow block uses:
- first order;
- MUSCL: least-squares gradients and one limiter value per cell, the minimum over all scalars of the flow block's limiter type, further reduced so that every mass fraction stays in [0, 1] and gamma above 1 at every face;
- TENO: the flow block's linear weights (TENOScalarValues) with one bound-preserving factor theta per cell (Zhang & Shu 2010), the largest in [0, 1] keeping every Y_k in [0, 1] and gamma above 1 at every face point, and in troubled cells every scalar within the range of the cell and its face neighbors.
◆ calc()
After the flow block's reconstruction: what the scalars need beyond it (MUSCL gradients and limiters, TENO factors theta), and the face values of [gamma, e0] on both sides of every face, written to face_thermo(face, q, side, 0/1).
- Parameters
-
| W | Cell states W = [rho, u, p], for the limiter thresholds. |
◆ calc_teno()
| void ScalarReconstruction::calc_teno |
( |
ScalarView |
scalars, |
|
|
Kokkos::View< rtype **[2][2]> |
face_thermo |
|
) |
| |
◆ face_values()
Device evaluator of first-order and MUSCL face values, valid after calc().
◆ init()
- Parameters
-
| n_species | Number of species (the scalars are n_species + 2). |
| flow | Face reconstruction of the flow block, whose stencils TENO shares. |
◆ launch_slots()
| void ScalarReconstruction::launch_slots |
( |
const Eval & |
values, |
|
|
Kokkos::View< rtype ** > |
face_mdot, |
|
|
Kokkos::View< rtype * > |
quad_weights, |
|
|
Kokkos::View< rtype ** > |
face_weights, |
|
|
Kokkos::View< rtype ***, Kokkos::LayoutRight > |
slots |
|
) |
| |
◆ set_boundaries()
◆ species_slots()
| void ScalarReconstruction::species_slots |
( |
ScalarView |
scalars, |
|
|
Kokkos::View< rtype ** > |
face_mdot, |
|
|
Kokkos::View< rtype * > |
quad_weights, |
|
|
Kokkos::View< rtype ** > |
face_weights, |
|
|
Kokkos::View< rtype ***, Kokkos::LayoutRight > |
slots |
|
) |
| |
Species fluxes per face side (SpeciesSlotFunctor) of every cell, from the mass flux at each face point, valid after calc().
- Parameters
-
| quad_weights | 2D: weights of the face points. |
| face_weights | 3D: (face, q) weights of the face points. |
The documentation for this class was generated from the following files: