include/pops/core/model/equation_block.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
|
EquationBlock: association (model, field U, spatial scheme, time policy, BC). More...
#include <pops/core/model/physical_model.hpp>#include <pops/numerics/time/integrators/time_integrator.hpp>#include <pops/mesh/storage/multifab.hpp>#include <pops/mesh/boundary/physical_bc.hpp>#include <pops/numerics/fv/spatial_discretisation.hpp>#include <concepts>#include <string_view>
Include dependency graph for equation_block.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | pops::EquationBlock< ModelT, SpatialT, TimeT > |
| Association of a PhysicalModel with its field U (MultiFab), its spatial scheme, its time policy and its boundary conditions. More... | |
Namespaces | |
| namespace | pops |
Concepts | |
| concept | pops::EquationBlockLike |
| Minimal concept for equation blocks: Model, Spatial, Time, name, state, U(). | |
Detailed Description
EquationBlock: association (model, field U, spatial scheme, time policy, BC).
Abstraction level above PhysicalModel.
A PhysicalModel describes a local pointwise law. An EquationBlock says how this law is carried by the simulation: which MultiFab U, which spatial discretisation (SpatialT), which time policy (TimeT), which boundary conditions (BCRec).
INVARIANT: state is never null after construction (points to the MultiFab passed to the constructor). The EquationBlock does not own the MultiFab; the MultiFab lifetime must exceed that of the block.
EquationBlockLike: minimal concept letting the CoupledSystem and the scheduler manipulate a block without knowing its concrete types (ModelT, SpatialT, TimeT).
Generated by