| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
Centralized controller for a list of outputs. More...

Public Member Functions | |
| procedure, pass(this) | init (this, time_end, size) | 
| Constructor.   | |
| procedure, pass(this) | free (this) | 
| Destructor.   | |
| procedure, pass(this) | add (this, out, write_par, write_control, start_time) | 
| Add an output to the controller.   | |
| procedure, pass(this) | execute (this, time, ifforce) | 
| Sample the fields and output.   | |
| procedure, pass(this) | set_counter (this, time) | 
| Set output counter based on time (after restart)   | |
Public Attributes | |
| type(output_ptr_t), dimension(:), allocatable | output_list | 
| List of outputs.   | |
| type(time_based_controller_t), dimension(:), allocatable | controllers | 
| List of controllers for determining wether we should write.   | |
| integer | n | 
| Number of outputs.   | |
| integer | size | 
| Number of entries in the list.   | |
| real(kind=rp) | time_end | 
| Final time of the simulation.   | |
Holds a list of output_t and corresponding time_based_controller_ts. Uses the latter to determine, which outputs need to be sampled and written to disk at a given time step. 
Definition at line 53 of file output_controller.f90.
| procedure, pass(this) output_controller::output_controller_t::add | ( | class(output_controller_t), intent(inout) | this, | 
| class(output_t), intent(inout), target | out, | ||
| real(kind=rp), intent(in) | write_par, | ||
| character(len=*), intent(in) | write_control, | ||
| real(kind=rp), intent(in), optional | start_time | ||
| ) | 
| out | The output to add. | 
| write_par | The output frequency value, in accordance with write_control.  | 
| write_control | Determines the meaning of write_par. Accepts the usual list of control options.  | 
| start_time | When to start writing the output | 
Definition at line 70 of file output_controller.f90.
| procedure, pass(this) output_controller::output_controller_t::execute | ( | class(output_controller_t), intent(inout) | this, | 
| type(time_state_t), intent(in) | time, | ||
| logical, intent(in), optional | ifforce | ||
| ) | 
| t | The time value. | 
| tstep | The current time-stepper iteration. | 
| ifforce | Whether to force a write. Optional, defaults to 0. | 
Definition at line 72 of file output_controller.f90.
| procedure, pass(this) output_controller::output_controller_t::free | ( | class(output_controller_t), intent(inout) | this | ) | 
Definition at line 68 of file output_controller.f90.
| procedure, pass(this) output_controller::output_controller_t::init | ( | class(output_controller_t), intent(inout) | this, | 
| real(kind=rp), intent(in) | time_end, | ||
| integer, intent(in), optional | size | ||
| ) | 
| time_end | The end time of the simulation. | 
| size | The number of controllers to allocate for. Optional, defaults to 1. | 
Definition at line 66 of file output_controller.f90.
| procedure, pass(this) output_controller::output_controller_t::set_counter | ( | class(output_controller_t), intent(inout) | this, | 
| type(time_state_t), intent(in) | time | ||
| ) | 
| time | Current time info. | 
Definition at line 74 of file output_controller.f90.
| type(time_based_controller_t), dimension(:), allocatable output_controller::output_controller_t::controllers | 
Definition at line 57 of file output_controller.f90.
| integer output_controller::output_controller_t::n | 
Definition at line 59 of file output_controller.f90.
| type(output_ptr_t), dimension(:), allocatable output_controller::output_controller_t::output_list | 
Definition at line 55 of file output_controller.f90.
| integer output_controller::output_controller_t::size | 
Definition at line 61 of file output_controller.f90.
Definition at line 63 of file output_controller.f90.