include/pops/numerics/spatial_operator.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
|
Cartesian spatial operator: assembles R(U, aux) = -div F + S over the cells of a level. More...
#include <pops/numerics/spatial/primitives/state_access.hpp>#include <pops/numerics/spatial/primitives/positivity.hpp>#include <pops/numerics/spatial/primitives/face_flux.hpp>#include <pops/numerics/spatial/primitives/wave_speed.hpp>#include <pops/numerics/spatial/operators/cartesian_operator.hpp>#include <pops/numerics/spatial/operators/masked_operator.hpp>
Include dependency graph for spatial_operator.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Detailed Description
Cartesian spatial operator: assembles R(U, aux) = -div F + S over the cells of a level.
This is the "PDE -> ODE system" arrow of the method of lines. The time integrator (time/) only knows R; it is unaware of the geometry and the reconstruction scheme.
UMBRELLA HEADER (ADC-328): the operator is split into focused modules under numerics/spatial/. This header keeps the historical include path working (it re-exports every symbol below) so existing #include <pops/numerics/spatial_operator.hpp> users are unaffected and the numerics are bit-identical. Prefer including the specific module for new code.
Modules (one-way dependency DAG, bottom to top):
- spatial/state_access.hpp DiffusiveModel, SourceFreeModel, load_state, load_aux.
- spatial/positivity.hpp zhang_shu_scale, detail::positivity_comp.
- spatial/face_flux.hpp reconstruct, reconstruct_pp, require_reconstruction_ghosts, xface_box / yface_box, rusanov_flux, compute_face_fluxes.
- spatial/wave_speed.hpp max_wave_speed_mf and step-bound reductions, the hotspot diagnostic, fill_wave_speed_cache.
- spatial/cartesian_operator.hpp assemble_rhs, assemble_rhs_hll_cached.
- spatial/masked_operator.hpp assemble_rhs_masked.
INVARIANT: the Cartesian operator is STRICTLY UNTOUCHED by the polar operator (spatial_operator_polar.hpp); a run on a Cartesian mesh is bit-identical.
Generated by