Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
output_controller Module Reference

Implements output_controller_t

Data Types

type  output_controller_t
 Centralized controller for a list of outputs. More...
 

Functions/Subroutines

subroutine output_controller_init (this, time_end, size, time_start, write_at_start)
 Constructor.
 
subroutine output_controller_free (this)
 Destructor.
 
subroutine output_controller_add (this, out, write_par, write_control, start_time, write_at_start)
 Add an output out to the controller.
 
subroutine output_controller_execute (this, time, ifforce)
 Query each of the controllers whether it is time to write, and if so, do so for the corresponding output.
 
subroutine output_controller_set_counter (this, time)
 Set write counter based on time (after restart)
 
subroutine output_controller_set_write_count (this, counter)
 Set write counter (after restart) explicitly.
 
pure real(kind=dp) function output_controller_time_to_next (this, time)
 The time until the next scheduled write that the time step should land on, the smallest over all outputs, or huge(0.0_dp) if there is none.
 

Function/Subroutine Documentation

◆ output_controller_add()

subroutine output_controller::output_controller_add ( class(output_controller_t), intent(inout)  this,
class(output_t), intent(inout), target  out,
real(kind=dp), intent(in)  write_par,
character(len=*), intent(in)  write_control,
real(kind=dp), intent(in), optional  start_time,
logical, intent(in), optional  write_at_start 
)
private
Parameters
outThe output to add.
write_parThe output frequency value, in accordance with write_control.
write_controlDetermines the meaning of write_par. Accepts the usual list of control options.
start_timeWhen to start writing the output. Also the time the output schedule is anchored to. Optional, defaults to the start time of the simulation.
write_at_startWhether to write at start_time itself. Should be .false. for outputs for which a write at the very first time step is meaningless, such as checkpoints and running statistics. Optional, defaults to what the controller was constructed with.

Definition at line 167 of file output_controller.f90.

◆ output_controller_execute()

subroutine output_controller::output_controller_execute ( class(output_controller_t), intent(inout)  this,
type(time_state_t), intent(in)  time,
logical, intent(in), optional  ifforce 
)
private
Parameters
tThe time value.
tstepThe current time-stepper iteration.
ifforceWhether to force a write. Optional, defaults to 0.

Definition at line 275 of file output_controller.f90.

Here is the call graph for this function:

◆ output_controller_free()

subroutine output_controller::output_controller_free ( class(output_controller_t), intent(inout)  this)
private

Definition at line 139 of file output_controller.f90.

◆ output_controller_init()

subroutine output_controller::output_controller_init ( class(output_controller_t), intent(inout)  this,
real(kind=dp), intent(in)  time_end,
integer, intent(in), optional  size,
real(kind=dp), intent(in), optional  time_start,
logical, intent(in), optional  write_at_start 
)
Parameters
time_endThe end time of the simulation.
sizeThe number of controllers to allocate for. Optional, defaults to 1.
time_startThe start time of the simulation. Outputs that do not have a start time of their own do not write before it. Optional, defaults to 0.
write_at_startWhether outputs write the initial state of the simulation. The default for the outputs added afterwards, which each of them can override. Optional, defaults to .true..

Definition at line 95 of file output_controller.f90.

◆ output_controller_set_counter()

subroutine output_controller::output_controller_set_counter ( class(output_controller_t), intent(inout)  this,
type(time_state_t), intent(in)  time 
)
private
Parameters
timeCurrent time info.

Definition at line 359 of file output_controller.f90.

◆ output_controller_set_write_count()

subroutine output_controller::output_controller_set_write_count ( class(output_controller_t), intent(inout)  this,
integer, intent(in)  counter 
)
private
Parameters
counterThe value of the write coutner to be set.

Definition at line 399 of file output_controller.f90.

◆ output_controller_time_to_next()

pure real(kind=dp) function output_controller::output_controller_time_to_next ( class(output_controller_t), intent(in)  this,
type(time_state_t), intent(in)  time 
)
private
Parameters
timeThe current time.

Definition at line 416 of file output_controller.f90.