include/pops/physics/bricks/hyperbolic.hpp File 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
|
hyperbolic.hpp File Reference
Generic HYPERBOLIC bricks: Vars (cons U / prim P + conversions + descriptor) + flux + wave speeds. More...
#include <pops/core/state/state.hpp>#include <pops/core/foundation/types.hpp>#include <pops/core/state/variables.hpp>#include <pops/physics/fluids/euler.hpp>#include <cmath>
Include dependency graph for hyperbolic.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | pops::ExBVelocity |
| Scalar advection by the E x B drift: v = (-d_y phi, d_x phi)/B0 (divergence-free). More... | |
| struct | pops::ExBVelocityPolar |
| Scalar advection by the E x B drift in POLAR coordinates (r, theta) – "annular polar grid" effort, Phase 1. More... | |
| struct | pops::IsothermalFlux |
| ISOTHERMAL Euler flux (p = cs2 rho), 3 variables (rho, rho u, rho v). More... | |
| struct | pops::IsothermalFluxPolar |
| ISOTHERMAL Euler flux in POLAR geometry (ring r, theta), 3 variables (rho, rho v_r, rho v_theta) – "polar fluid grid" effort, Path A step 1. More... | |
Namespaces | |
| namespace | pops |
Typedefs | |
| using | pops::CompressibleFlux = Euler |
| Compressible 2D Euler flux (reuses Euler: gamma, pressure, signed wave speeds). | |
Detailed Description
Generic HYPERBOLIC bricks: Vars (cons U / prim P + conversions + descriptor) + flux + wave speeds.
Each one satisfies the HyperbolicPhysicalModel concept: State, Prim, n_vars, flux, max_wave_speed, to_primitive/to_conservative, conservative_vars/primitive_vars (+ pressure/wave_speeds if HLLC flux). Source and elliptic right-hand side are SEPARATE bricks (physics/source.hpp, physics/elliptic.hpp); CompositeModel (physics/composite.hpp) assembles them. ExBVelocity (1 var), CompressibleFlux (= Euler, 4 var), IsothermalFlux (3 var).
Generated by