EquationBlock< ModelT, SpatialT, TimeT > Struct Template 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::EquationBlock< ModelT, SpatialT, TimeT > Struct Template Reference
Association of a PhysicalModel with its field U (MultiFab), its spatial scheme, its time policy and its boundary conditions. More...
#include <equation_block.hpp>
Collaboration diagram for pops::EquationBlock< ModelT, SpatialT, TimeT >:Public Types | |
| using | Model = ModelT |
| using | Spatial = SpatialT |
| using | Time = TimeT |
Public Member Functions | |
| EquationBlock (std::string_view block_name, const Model &block_model, MultiFab &block_state, const BCRec &block_bc={}) | |
| MultiFab & | U () |
| const MultiFab & | U () const |
Public Attributes | |
| std::string_view | name {} |
| Model | model |
| MultiFab * | state = nullptr |
| BCRec | bc {} |
Detailed Description
template<class ModelT, class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
struct pops::EquationBlock< ModelT, SpatialT, TimeT >
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.
Template parameters: ModelT: must satisfy PhysicalModel. SpatialT: must satisfy SpatialDiscretisationLike (default FirstOrder). TimeT: time policy (default ExplicitTime<SSPRK2>).
INVARIANT: state != nullptr after construction. The EquationBlock does NOT own the MultiFab; the MultiFab lifetime must exceed that of the block. Do not store in a container by value if the MultiFab is dynamically allocated and could be moved (the pointer would become invalid).
Member Typedef Documentation
◆ Model
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| using pops::EquationBlock< ModelT, SpatialT, TimeT >::Model = ModelT |
◆ Spatial
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| using pops::EquationBlock< ModelT, SpatialT, TimeT >::Spatial = SpatialT |
◆ Time
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| using pops::EquationBlock< ModelT, SpatialT, TimeT >::Time = TimeT |
Constructor & Destructor Documentation
◆ EquationBlock()
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
|
inline |
Member Function Documentation
◆ U() [1/2]
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
|
inline |
◆ U() [2/2]
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
|
inline |
Member Data Documentation
◆ bc
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| BCRec pops::EquationBlock< ModelT, SpatialT, TimeT >::bc {} |
◆ model
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| Model pops::EquationBlock< ModelT, SpatialT, TimeT >::model |
◆ name
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| std::string_view pops::EquationBlock< ModelT, SpatialT, TimeT >::name {} |
◆ state
template<class ModelT , class SpatialT = FirstOrder, class TimeT = ExplicitTime<SSPRK2>>
| MultiFab* pops::EquationBlock< ModelT, SpatialT, TimeT >::state = nullptr |
The documentation for this struct was generated from the following file:
- include/pops/core/model/equation_block.hpp
Generated by