Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
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)
 Add an output to the controller.
 
procedure, pass(thisexecute (this, t, tstep, ifforce)
 Sample the fields and output.
 
procedure, pass(thisset_counter (this, t)
 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 51 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 
)
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.

Definition at line 68 of file output_controller.f90.

◆ execute()

procedure, pass(this) output_controller::output_controller_t::execute ( class(output_controller_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep,
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 70 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 66 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 64 of file output_controller.f90.

◆ set_counter()

procedure, pass(this) output_controller::output_controller_t::set_counter ( class(output_controller_t), intent(inout this,
real(kind=rp), intent(in t 
)
Parameters
tTime value.

Definition at line 72 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 55 of file output_controller.f90.

◆ n

integer output_controller::output_controller_t::n

Definition at line 57 of file output_controller.f90.

◆ output_list

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

Definition at line 53 of file output_controller.f90.

◆ size

integer output_controller::output_controller_t::size

Definition at line 59 of file output_controller.f90.

◆ time_end

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

Definition at line 61 of file output_controller.f90.


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