RoeFlux 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
|
RoeFlux: Roe linearization + Harten entropy fix (acoustic waves). More...
#include <numerical_flux.hpp>
Collaboration diagram for pops::RoeFlux: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
RoeFlux: Roe linearization + Harten entropy fix (acoustic waves).
GENERIC when the model satisfies HasRoeDissipation: F = 1/2 (F_L + F_R) - 1/2 d with the dissipation d = |A_roe| (U_R - U_L) (linearization, eigenstructure and entropy fix) supplied by the model, no Euler assumption. Otherwise falls back to a canonical Euler 2D ideal-gas path: FULL eigenwave decomposition F_R - F_L = A_roe (U_R - U_L) exactly, gamma-1 derived from the current state (ideal-gas EOS), Harten entropy fix eps = 0.1*c (see kRoeEntropyFixFraction) on the acoustic waves, requiring model.pressure. std::sqrt used for the Roe average (device-clean under Kokkos/nvcc). POPS_HD. INVARIANT: the n_vars == 4 / ideal-gas assumption applies ONLY to the Euler fallback branch.
Member Function Documentation
◆ operator()()
|
inline |
The documentation for this struct was generated from the following file:
- include/pops/numerics/fv/numerical_flux.hpp
Generated by