HLLCFlux Struct ReferenceΒΆ

adc_cpp: pops::HLLCFlux Struct Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
pops::HLLCFlux Struct Reference

HLLCFlux (HLL + Contact wave, Toro): 3 waves, resolves the contact discontinuity. More...

#include <numerical_flux.hpp>

+ Collaboration diagram for pops::HLLCFlux:

Public Member Functions

template<class Model >
POPS_HD Model::State operator() (const Model &m, const typename Model::State &UL, const Aux &AL, const typename Model::State &UR, const Aux &AR, int dir) const
 

Detailed Description

HLLCFlux (HLL + Contact wave, Toro): 3 waves, resolves the contact discontinuity.

GENERIC when the model satisfies HasHLLCStructure (contact_speed + hllc_star_state): applies F* = F_k + s_k (U*_k - U_k) with no layout or EOS assumption. Otherwise falls back to a canonical Euler 2D path (n_vars == 4, normal/tangential momentum by dir, star speed sStar via Toro's formula eq. 10.37), which requires model.pressure and model.wave_speeds and returns FL / FR in the supersonic region. POPS_HD. INVARIANT: the n_vars == 4 assumption applies ONLY to the Euler fallback branch.

Member Function Documentation

◆ operator()()

template<class Model >
POPS_HD Model::State pops::HLLCFlux::operator() ( const Model &  m,
const typename Model::State &  UL,
const Aux AL,
const typename Model::State &  UR,
const Aux AR,
int  dir 
) const
inline
+ Here is the call graph for this function:

The documentation for this struct was generated from the following file: