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

Public Member Functions | |
| bool | tick_reached () const |
Public Attributes | |
| Number | t = Number(0.) |
| Number | tau = Number(0.) |
| Number | t_max = std::numeric_limits<Number>::max() |
| unsigned int | cycle = 0 |
| unsigned int | timer_cycle = 0 |
| bool | timer_tick = false |
| Number | wall_time = Number(0.) |
| Number | t_final = Number(0.) |
| Number | timer_granularity = Number(0.) |
| std::string | base_name |
| bool | prepare_required = false |
| std::span< Interface::Task< Number > *const > | tasks |
| std::function< void(const std::string &)> | info |
The context that the Scheduler shares with all tasks.
All values are identical on all MPI ranks so that tasks can base collective decisions on them.
|
inline |
Return whether the current time has reached the timer tick timer_cycle.
Definition at line 124 of file task.h.
References ryujin::TaskContext< Number >::t, ryujin::TaskContext< Number >::timer_cycle, and ryujin::TaskContext< Number >::timer_granularity.
| Number ryujin::TaskContext< Number >::t = Number(0.) |
The current time.
Definition at line 134 of file task.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::execute(), ryujin::Trigger< Number >::fire(), ryujin::Simulation< HD, PD, dim, Number >::prepare(), and ryujin::TaskContext< Number >::tick_reached().
| Number ryujin::TaskContext< Number >::tau = Number(0.) |
The time step size. It is zero at the begin of the step phase and set by the first task of the step phase.
Definition at line 140 of file task.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::execute().
| Number ryujin::TaskContext< Number >::t_max = std::numeric_limits<Number>::max() |
The largest time that the time step must not exceed. Valid in the step phase.
Definition at line 146 of file task.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::execute().
| unsigned int ryujin::TaskContext< Number >::cycle = 0 |
The current cycle.
Definition at line 151 of file task.h.
Referenced by ryujin::Trigger< Number >::fire().
| unsigned int ryujin::TaskContext< Number >::timer_cycle = 0 |
The current timer cycle, i.e., the index of the next timer tick.
Definition at line 156 of file task.h.
Referenced by ryujin::Trigger< Number >::fire(), and ryujin::TaskContext< Number >::tick_reached().
| bool ryujin::TaskContext< Number >::timer_tick = false |
Whether the current time has reached the timer tick timer_cycle, see tick_reached(). The Scheduler sets it at the begin of every phase.
Definition at line 163 of file task.h.
Referenced by ryujin::Trigger< Number >::fire().
| Number ryujin::TaskContext< Number >::wall_time = Number(0.) |
The wall time of the time loop, synchronized over all MPI ranks after every time step.
Definition at line 169 of file task.h.
Referenced by ryujin::Trigger< Number >::fire().
| Number ryujin::TaskContext< Number >::t_final = Number(0.) |
| Number ryujin::TaskContext< Number >::timer_granularity = Number(0.) |
The time interval between two timer ticks.
Definition at line 179 of file task.h.
Referenced by ryujin::TaskContext< Number >::tick_reached().
| std::string ryujin::TaskContext< Number >::base_name |
The base name of all output files.
Definition at line 184 of file task.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare().
| bool ryujin::TaskContext< Number >::prepare_required = false |
Set by a task of the adapt phase that has invalidated the data structures of the tasks, for example by changing the mesh. The Scheduler then calls Interface::Task::prepare() on all tasks.
| std::span<Interface::Task<Number> *const> ryujin::TaskContext< Number >::tasks |
| std::function<void(const std::string &)> ryujin::TaskContext< Number >::info |
Print a status message.
Definition at line 201 of file task.h.
Referenced by ryujin::Simulation< HD, PD, dim, Number >::prepare().