|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
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...
#include <mixture_flux.h>
Public Member Functions | |
| KOKKOS_INLINE_FUNCTION void | operator() (const uint32_t i_face) const |
Public Attributes | |
| Kokkos::View< rtype *[N_DIM]> | normals |
| Kokkos::View< rtype * > | face_area |
| Kokkos::View< int32_t *[2]> | cells_of_face |
| Kokkos::View< rtype * > | quad_weights |
| Kokkos::View< rtype ** > | face_weights |
| Kokkos::View< rtype **[2][N_CONSERVATIVE]> | face_solution |
| BoundaryData | boundaries |
| Kokkos::View< rtype *[N_CONSERVATIVE]> | W_cells |
| Kokkos::View< rtype *[2]> | frozen |
| Kokkos::View< rtype **[2][2]> | face_thermo |
| Kokkos::View< rtype **, Kokkos::LayoutStride > | cell_thermo |
| Kokkos::View< rtype *[N_CONSERVATIVE]> | face_flux |
| Kokkos::View< rtype * > | face_energy_1 |
| Kokkos::View< rtype ** > | face_mdot |
| rtype | low_mach_cutoff |
| Kokkos::View< rtype * > | upwind |
| Kokkos::View< rtype *** > | quad_normals |
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).
|
inline |
| BoundaryData MixtureDoubleFluxFunctor< T_riemann_solver >::boundaries |
| Kokkos::View<rtype **, Kokkos::LayoutStride> MixtureDoubleFluxFunctor< T_riemann_solver >::cell_thermo |
| Kokkos::View<int32_t *[2]> MixtureDoubleFluxFunctor< T_riemann_solver >::cells_of_face |
| Kokkos::View<rtype *> MixtureDoubleFluxFunctor< T_riemann_solver >::face_area |
| Kokkos::View<rtype *> MixtureDoubleFluxFunctor< T_riemann_solver >::face_energy_1 |
| Kokkos::View<rtype *[N_CONSERVATIVE]> MixtureDoubleFluxFunctor< T_riemann_solver >::face_flux |
| Kokkos::View<rtype **> MixtureDoubleFluxFunctor< T_riemann_solver >::face_mdot |
| Kokkos::View<rtype **[2][N_CONSERVATIVE]> MixtureDoubleFluxFunctor< T_riemann_solver >::face_solution |
| Kokkos::View<rtype **[2][2]> MixtureDoubleFluxFunctor< T_riemann_solver >::face_thermo |
| Kokkos::View<rtype **> MixtureDoubleFluxFunctor< T_riemann_solver >::face_weights |
| Kokkos::View<rtype *[2]> MixtureDoubleFluxFunctor< T_riemann_solver >::frozen |
| rtype MixtureDoubleFluxFunctor< T_riemann_solver >::low_mach_cutoff |
| Kokkos::View<rtype *[N_DIM]> MixtureDoubleFluxFunctor< T_riemann_solver >::normals |
| Kokkos::View<rtype ***> MixtureDoubleFluxFunctor< T_riemann_solver >::quad_normals |
| Kokkos::View<rtype *> MixtureDoubleFluxFunctor< T_riemann_solver >::quad_weights |
| Kokkos::View<rtype *> MixtureDoubleFluxFunctor< T_riemann_solver >::upwind |
| Kokkos::View<rtype *[N_CONSERVATIVE]> MixtureDoubleFluxFunctor< T_riemann_solver >::W_cells |