![]() |
ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
|
#include <include/ryujin/driver/simulation.h>


Public Types | |
Typedefs | |
| using | HyperbolicSystem = typename HD::HyperbolicSystem |
| using | ParabolicSystem = typename PD::ParabolicSystem |
| using | ParabolicModule = typename PD::template ParabolicModule< HD, dim, Number > |
Public Member Functions | |
Constructor and destructor | |
| Simulation (const MPI_Comm &mpi_comm) | |
| ~Simulation () override | |
Additional Inherited Members | |
Protected Member Functions inherited from ryujin::Interface::Simulation< dim, Number > | |
| Simulation ()=default | |
Protected Attributes inherited from ryujin::Interface::Simulation< dim, Number > | |
| std::unique_ptr< MPIEnsemble > | mpi_ensemble_ |
| std::unique_ptr< Discretization< dim > > | discretization_ |
| std::unique_ptr< OfflineData< dim, Number > > | offline_data_ |
| const HyperbolicSystem * | hyperbolic_system_ = nullptr |
| const ParabolicSystem * | parabolic_system_ = nullptr |
| const InitialValues< dim, Number > * | initial_values_ = nullptr |
| std::unique_ptr< HyperbolicModule< dim, Number > > | hyperbolic_module_ |
| std::unique_ptr< ParabolicModule< dim, Number > > | parabolic_module_ |
| std::unique_ptr< TimeIntegrator< dim, Number > > | time_integrator_ |
| std::unique_ptr< MeshAdaptor< dim, Number > > | mesh_adaptor_ |
| std::unique_ptr< SolutionTransfer< dim, Number > > | solution_transfer_ |
| std::unique_ptr< VTUOutput< dim, Number > > | vtu_output_ |
| std::unique_ptr< Quantities< dim, Number > > | quantities_ |
| std::unique_ptr< ErrorEvaluation< dim, Number > > | error_evaluation_ |
The Simulation constructs all objects of a computation for the pairing of a hyperbolic and a parabolic description. It is the only class that sees both descriptions.
In addition to the objects stored in Interface::Simulation it owns the per-ensemble containers of the hyperbolic system, the parabolic system, and the initial values, and the postprocessor that the description-free modules share.
Definition at line 41 of file simulation.h.
| using ryujin::Simulation< HD, PD, dim, Number >::HyperbolicSystem = typename HD::HyperbolicSystem |
Definition at line 49 of file simulation.h.
| using ryujin::Simulation< HD, PD, dim, Number >::ParabolicSystem = typename PD::ParabolicSystem |
Definition at line 50 of file simulation.h.
| using ryujin::Simulation< HD, PD, dim, Number >::ParabolicModule = typename PD::template ParabolicModule<HD, dim, Number> |
Definition at line 51 of file simulation.h.
|
inline |
Constructor. Constructs all objects in the order of the subsections "/B - Equation" to "/L - ErrorEvaluation".
Definition at line 64 of file simulation.h.
References ryujin::Interface::Simulation< dim, Number >::discretization_, ryujin::Interface::Simulation< dim, Number >::error_evaluation_, ryujin::Interface::Simulation< dim, Number >::hyperbolic_module_, ryujin::Interface::Simulation< dim, Number >::hyperbolic_system_, ryujin::Interface::Simulation< dim, Number >::initial_values_, ryujin::Interface::Simulation< dim, Number >::mesh_adaptor_, ryujin::Interface::Simulation< dim, Number >::mpi_ensemble_, ryujin::Interface::Simulation< dim, Number >::offline_data_, ryujin::Interface::Simulation< dim, Number >::parabolic_module_, ryujin::Interface::Simulation< dim, Number >::parabolic_system_, ryujin::Interface::Simulation< dim, Number >::quantities_, ryujin::Interface::Simulation< dim, Number >::solution_transfer_, ryujin::Interface::Simulation< dim, Number >::time_integrator_, and ryujin::Interface::Simulation< dim, Number >::vtu_output_.
|
inlineoverridevirtual |
Destructor. Destroys all objects in the reverse order of construction because the objects observe each other.
Reimplemented from ryujin::Interface::Simulation< dim, Number >.
Definition at line 178 of file simulation.h.
References ryujin::Interface::Simulation< dim, Number >::discretization_, ryujin::Interface::Simulation< dim, Number >::error_evaluation_, ryujin::Interface::Simulation< dim, Number >::hyperbolic_module_, ryujin::Interface::Simulation< dim, Number >::hyperbolic_system_, ryujin::Interface::Simulation< dim, Number >::initial_values_, ryujin::Interface::Simulation< dim, Number >::mesh_adaptor_, ryujin::Interface::Simulation< dim, Number >::mpi_ensemble_, ryujin::Interface::Simulation< dim, Number >::offline_data_, ryujin::Interface::Simulation< dim, Number >::parabolic_module_, ryujin::Interface::Simulation< dim, Number >::parabolic_system_, ryujin::Interface::Simulation< dim, Number >::quantities_, ryujin::Interface::Simulation< dim, Number >::solution_transfer_, ryujin::Interface::Simulation< dim, Number >::time_integrator_, and ryujin::Interface::Simulation< dim, Number >::vtu_output_.