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


Public Types | |
| using | Task = Interface::Task< Number > |
Public Member Functions | |
| Scheduler (const MPI_Comm &mpi_comm, const std::vector< Task * > &required, const std::vector< Task * > &tasks={}, const std::function< void(const std::string &)> &info={}) | |
| void | run () |
The high-level time loop driving the computation.
The Scheduler runs tasks (see Interface::Task) in cycles.
Every cycle consists of four phases:
The active tasks are the required tasks (in the given order), followed by the selectable tasks chosen with the run time parameter "tasks" (in the order of the parameter). In every phase the Scheduler executes the active tasks of the phase in this order. The first required task is the primary task: it sets up the discretization and chooses the time step size.
Definition at line 42 of file scheduler.h.
| using ryujin::Scheduler< Number >::Task = Interface::Task<Number> |
Definition at line 45 of file scheduler.h.
| ryujin::Scheduler< Number >::Scheduler | ( | const MPI_Comm & | mpi_comm, |
| const std::vector< Task * > & | required, | ||
| const std::vector< Task * > & | tasks = {}, |
||
| const std::function< void(const std::string &)> & | info = {} |
||
| ) |
| void ryujin::Scheduler< Number >::run | ( | ) |
Run the high-level time loop.