![]() |
ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
|
#include <include/ryujin/interface/simulation.h>


Public Member Functions | |
| virtual | ~Simulation ()=default |
Public Member Functions inherited from ryujin::Interface::Task< Number > | |
| virtual | ~Task ()=default |
| virtual void | initialize (TaskContext< Number > &) |
| virtual void | start (TaskContext< Number > &) |
| virtual void | prepare (TaskContext< Number > &) |
| virtual void | execute (TaskContext< Number > &context)=0 |
| virtual void | finalize (TaskContext< Number > &) |
| virtual void | save (boost::archive::binary_oarchive &) const |
| virtual void | load (boost::archive::binary_iarchive &) |
Functions | |
| 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< Postprocessor< dim, Number > > | postprocessor_ |
| std::unique_ptr< SolutionTransfer< dim, Number > > | solution_transfer_ |
| StateVector< Number > | state_vector_ |
| void | interpolate_analytic_solution (StateVector< Number > &analytic, Number t) const |
| Simulation () | |
Additional Inherited Members | |
Protected Member Functions inherited from ryujin::Interface::Task< Number > | |
| Task (const std::string &name, TaskPhase phase) | |
The description-free interface of a Simulation: it stores the core objects of a simulation, the discretization, the modules, the time integrator, and the state vector, and has an accessor for each. Tasks work with the Simulation through this interface.
The Simulation is the primary task "time integration" of the Scheduler that performs the time step in the step phase.
The objects are constructed by a derived class, see the typed Simulation, which is the only class that sees the hyperbolic and the parabolic description.
Definition at line 47 of file simulation.h.
|
virtualdefault |
Destructor.
Reimplemented in ryujin::Simulation< HD, PD, dim, Number >.
|
inlineprotected |
Constructor.
Definition at line 120 of file simulation.h.
|
inline |
Interpolate the analytic solution at time t into the state vector analytic and populate precomputed values. In contrast to TimeIntegrator::prepare_state_vector() no boundary conditions are applied.
Definition at line 100 of file simulation.h.
References ryujin::Interface::Simulation< dim, Number >::hyperbolic_module_, ryujin::Interface::Simulation< dim, Number >::initial_values_, and ryujin::Interface::Simulation< dim, Number >::parabolic_module_.
|
protected |
Definition at line 125 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 126 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 127 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
The systems and the initial values exist once per MPI ensemble. A derived class owns them in MPIEnsembleContainer objects; the pointers refer to the instance of the current ensemble.
Definition at line 134 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 135 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 136 of file simulation.h.
Referenced by ryujin::Interface::Simulation< dim, Number >::interpolate_analytic_solution(), ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 138 of file simulation.h.
Referenced by ryujin::Interface::Simulation< dim, Number >::interpolate_analytic_solution(), ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 139 of file simulation.h.
Referenced by ryujin::Interface::Simulation< dim, Number >::interpolate_analytic_solution(), ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
|
protected |
Definition at line 141 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 142 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare(), ryujin::Simulation< HD, PD, dim, Number >::Simulation(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().
|
protected |
Definition at line 144 of file simulation.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::execute(), ryujin::Simulation< HD, PD, dim, Number >::prepare(), and ryujin::Simulation< HD, PD, dim, Number >::~Simulation().