ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
List of all members
ryujin::Simulation< HD, PD, dim, Number > Class Template Referencefinal

#include <include/ryujin/driver/simulation.h>

Inheritance diagram for ryujin::Simulation< HD, PD, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::Simulation< HD, PD, dim, Number >:
Collaboration graph
[legend]

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_
 

Detailed Description

template<typename HD, typename PD, int dim, typename Number = double>
requires Concept::HyperbolicDescription<HD, dim, Number> && Concept::ParabolicDescription<PD, HD, dim, Number>
class ryujin::Simulation< HD, PD, dim, Number >

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.

Member Typedef Documentation

◆ HyperbolicSystem

template<typename HD , typename PD , int dim, typename Number = double>
using ryujin::Simulation< HD, PD, dim, Number >::HyperbolicSystem = typename HD::HyperbolicSystem

Definition at line 49 of file simulation.h.

◆ ParabolicSystem

template<typename HD , typename PD , int dim, typename Number = double>
using ryujin::Simulation< HD, PD, dim, Number >::ParabolicSystem = typename PD::ParabolicSystem

Definition at line 50 of file simulation.h.

◆ ParabolicModule

template<typename HD , typename PD , int dim, typename Number = double>
using ryujin::Simulation< HD, PD, dim, Number >::ParabolicModule = typename PD::template ParabolicModule<HD, dim, Number>

Definition at line 51 of file simulation.h.

Constructor & Destructor Documentation

◆ Simulation()

template<typename HD , typename PD , int dim, typename Number = double>
ryujin::Simulation< HD, PD, dim, Number >::Simulation ( const MPI_Comm &  mpi_comm)
inline

◆ ~Simulation()

template<typename HD , typename PD , int dim, typename Number = double>
ryujin::Simulation< HD, PD, dim, Number >::~Simulation ( )
inlineoverridevirtual

The documentation for this class was generated from the following file: