Loading [MathJax]/jax/output/HTML-CSS/config.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
output_controller::output_controller_t Type Reference

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

Collaboration diagram for output_controller::output_controller_t:

Public Member Functions

procedure, pass(thisinit (this, time_end, size)
 Constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisadd (this, out, write_par, write_control, start_time)
 Add an output to the controller.
 
procedure, pass(thisexecute (this, time, ifforce)
 Sample the fields and output.
 
procedure, pass(thisset_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.
 

Detailed Description

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 52 of file output_controller.f90.

Member Function/Subroutine Documentation

◆ add()

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 
)
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

Definition at line 69 of file output_controller.f90.

◆ execute()

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 
)
Parameters
tThe time value.
tstepThe current time-stepper iteration.
ifforceWhether to force a write. Optional, defaults to 0.

Definition at line 71 of file output_controller.f90.

◆ free()

procedure, pass(this) output_controller::output_controller_t::free ( class(output_controller_t), intent(inout this)

Definition at line 67 of file output_controller.f90.

◆ init()

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 
)
Parameters
time_endThe end time of thesimulation.
sizeThe number of controllers to allocate for. Optional, defaults to 1.

Definition at line 65 of file output_controller.f90.

◆ set_counter()

procedure, pass(this) output_controller::output_controller_t::set_counter ( class(output_controller_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
timeCurrent time info.

Definition at line 73 of file output_controller.f90.

Member Data Documentation

◆ controllers

type(time_based_controller_t), dimension(:), allocatable output_controller::output_controller_t::controllers

Definition at line 56 of file output_controller.f90.

◆ n

integer output_controller::output_controller_t::n

Definition at line 58 of file output_controller.f90.

◆ output_list

type(output_ptr_t), dimension(:), allocatable output_controller::output_controller_t::output_list

Definition at line 54 of file output_controller.f90.

◆ size

integer output_controller::output_controller_t::size

Definition at line 60 of file output_controller.f90.

◆ time_end

real(kind=rp) output_controller::output_controller_t::time_end

Definition at line 62 of file output_controller.f90.


The documentation for this type was generated from the following file: