|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
Convective fluxes of a gas mixture: the flow block through the Riemann solvers, the species by mass-flux upwinding. More...
#include <type_traits>#include <Kokkos_Core.hpp>#include "boundary.h"#include "common.h"#include "flux_functor.h"#include "riemann_solver.h"#include "scalar_reconstruction.h"#include "state.h"Go to the source code of this file.
Classes | |
| struct | MixtureFluxFunctor< T_riemann_solver > |
| Flow-block flux of a gas mixture over every face, as ConvectiveFluxFunctor, with the face thermodynamics [gamma, e0] of each side. Also stores the mass flux per unit area at each quadrature point, positive from cells_of_face(:, 0) to (:, 1), for the species fluxes. More... | |
| struct | MixtureDoubleFluxFunctor< T_riemann_solver > |
| Double-flux variant of MixtureFluxFunctor (Abgrall & Karni 2001; Billet & Abgrall 2003; Ma, Lv & Ihme 2017): each cell's energy update uses a flux computed with its own frozen [gamma, e0] on both sides of the face, so pressure and velocity stay exactly uniform across contacts between different gases. Mass and momentum use the mean of the two sides' fluxes, which stays conservative and equals both at such contacts: both estimate the wave speeds with each side's own [gamma, e0], which makes their mass fluxes there agree for every solver, HLL and Rusanov included. face_flux holds side 0's energy flux, face_energy_1 side 1's (both as the rate of change of side 0). More... | |
| struct | DoubleFluxSumFunctor |
| FaceFluxSumFunctor for double flux: the energy of a face's side-1 cell comes from face_energy_1. More... | |
| struct | SpeciesSlotFunctor< Eval > |
| Species fluxes by mass-flux upwinding (Larrouturou 1991), F_k = max(mdot, 0) Y_k^L + min(mdot, 0) Y_k^R, split by the side each part comes from: each cell writes, for each of its faces, the mass of each species leaving it through that face, slot(face, side, k) = A/2 sum_q w_q max(mdot_out, 0) Y_k(q), with Y_k from its own reconstruction (the evaluator Eval, see ScalarFaceValues); boundary faces also get the inflow from the exterior state in slot(face, 1, k). No two threads write the same slot. More... | |
| struct | SpeciesSumFunctor |
| Species RHS per unit volume: the inflow minus the outflow slots of each face of the cell, in faces_of_cell order. More... | |
Functions | |
| KOKKOS_INLINE_FUNCTION void | low_mach_correction (rtype *W_l, rtype *W_r, const rtype gamma_l, const rtype gamma_r, const rtype M_cut) |
| The low-Mach correction of flux_functor.h with each side's own ratio of specific heats in its Mach number. | |
Convective fluxes of a gas mixture: the flow block through the Riemann solvers, the species by mass-flux upwinding.