Neko
0.9.0
A portable framework for high-order spectral element flow simulations
|
A utility type for determening whether an action should be executed based on the current time value. Used to e.g. control whether we should write a file or execute a simcomp. Note that the nexecutions variable should be incremented externally by calling the register_execution
procedure. This is to allow running the the check
multiple times at the same time step.
More...
Public Member Functions | |
procedure, pass(this) | init => time_based_controller_init |
Constructor. More... | |
procedure, pass(this) | check => time_based_controller_check |
Check if the execution should be performed. More... | |
procedure, pass(this) | register_execution => time_based_controller_register_execution |
Increment nexectutions . More... | |
procedure, pass(this) | set_counter => time_based_controller_set_counter |
Set the counter based on a time (for restarts) More... | |
Public Attributes | |
real(kind=rp) | frequency = 0 |
Frequency of execution. More... | |
real(kind=rp) | time_interval = 0 |
Time interval between executions. More... | |
integer | nsteps = 0 |
Number of timesteps in between executions. More... | |
real(kind=rp) | end_time = 0 |
Simulation end time. More... | |
integer | nexecutions = 0 |
Number of times already executed. More... | |
logical | never = .false. |
Whether to never output. More... | |
character(len=:), allocatable | control_mode |
Control mode defining the meaning of control_value . Can be simulationtime , tsteps , nsamples or never . More... | |
real(kind=rp) | control_value |
Defines the frequency of writes. More... | |
Definition at line 47 of file time_based_controller.f90.
procedure, pass(this) time_based_controller::time_based_controller_t::check |
Definition at line 70 of file time_based_controller.f90.
procedure, pass(this) time_based_controller::time_based_controller_t::init |
Definition at line 68 of file time_based_controller.f90.
procedure, pass(this) time_based_controller::time_based_controller_t::register_execution |
Definition at line 72 of file time_based_controller.f90.
procedure, pass(this) time_based_controller::time_based_controller_t::set_counter |
Definition at line 75 of file time_based_controller.f90.
character(len=:), allocatable time_based_controller::time_based_controller_t::control_mode |
Definition at line 62 of file time_based_controller.f90.
real(kind=rp) time_based_controller::time_based_controller_t::control_value |
Definition at line 64 of file time_based_controller.f90.
real(kind=rp) time_based_controller::time_based_controller_t::end_time = 0 |
Definition at line 55 of file time_based_controller.f90.
real(kind=rp) time_based_controller::time_based_controller_t::frequency = 0 |
Definition at line 49 of file time_based_controller.f90.
logical time_based_controller::time_based_controller_t::never = .false. |
Definition at line 59 of file time_based_controller.f90.
integer time_based_controller::time_based_controller_t::nexecutions = 0 |
Definition at line 57 of file time_based_controller.f90.
integer time_based_controller::time_based_controller_t::nsteps = 0 |
Definition at line 53 of file time_based_controller.f90.
real(kind=rp) time_based_controller::time_based_controller_t::time_interval = 0 |
Definition at line 51 of file time_based_controller.f90.