Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
simcomp_executor::simcomp_executor_t Type Reference

Singleton type that serves as a driver for the simulation components. Stores all the components in the case and provides an interface matching that of a single simcomp, which executes the corresponding routines for each stored simcomp. The execution order is based on the order property of each simcomp. By default, the order is by the order of apparence in the case file. More...

Collaboration diagram for simcomp_executor::simcomp_executor_t:

Public Member Functions

procedure, pass(thisinit (this, case, simcomp_root)
 Constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisadd_user_simcomp (this, object, settings)
 Appending a new simcomp to the executor.
 
procedure, pass(thispreprocess (this, t, tstep)
 Execute preprocess_ for all simcomps.
 
procedure, pass(thiscompute (this, t, tstep)
 Execute compute_ for all simcomps.
 
procedure, pass(thisrestart (this, t)
 Execute restart for all simcomps.
 
procedure, pass(thisget_n (this)
 Get the number of simcomps.
 

Public Attributes

class(simulation_component_wrapper_t), dimension(:), allocatable simcomps
 The simcomps.
 

Private Member Functions

procedure, pass(this), private finalize (this)
 Finalize the initialization.
 

Private Attributes

integer, private n_simcomps
 Number of simcomps.
 
type(case_t), pointer, private case
 The case.
 
logical, private finalized = .false.
 Flag to indicate if the simcomp executor has been finalized.
 

Detailed Description

Definition at line 52 of file simcomp_executor.f90.

Member Function/Subroutine Documentation

◆ add_user_simcomp()

procedure, pass(this) simcomp_executor::simcomp_executor_t::add_user_simcomp ( class(simcomp_executor_t), intent(inout this,
class(simulation_component_t), intent(in object,
type(json_file), intent(inout), optional  settings 
)
Parameters
new_objectThe simcomp to append.
settingsThe settings for the simcomp.

Definition at line 68 of file simcomp_executor.f90.

◆ compute()

procedure, pass(this) simcomp_executor::simcomp_executor_t::compute ( class(simcomp_executor_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Parameters
tThe time value.
tstepThe timestep number.

Definition at line 72 of file simcomp_executor.f90.

◆ finalize()

procedure, pass(this), private simcomp_executor::simcomp_executor_t::finalize ( class(simcomp_executor_t), intent(inout this)
private

Definition at line 76 of file simcomp_executor.f90.

◆ free()

procedure, pass(this) simcomp_executor::simcomp_executor_t::free ( class(simcomp_executor_t), intent(inout this)

Definition at line 66 of file simcomp_executor.f90.

◆ get_n()

procedure, pass(this) simcomp_executor::simcomp_executor_t::get_n ( class(simcomp_executor_t), intent(in this)

Definition at line 78 of file simcomp_executor.f90.

◆ init()

procedure, pass(this) simcomp_executor::simcomp_executor_t::init ( class(simcomp_executor_t), intent(inout this,
type(case_t), intent(inout), target  case,
character(len=*), intent(in), optional  simcomp_root 
)
Parameters
caseThe case.
simcomp_rootThe root name of the simulation components in the case. If not provided, the default is 'case.simulation_components'.

Definition at line 64 of file simcomp_executor.f90.

◆ preprocess()

procedure, pass(this) simcomp_executor::simcomp_executor_t::preprocess ( class(simcomp_executor_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Parameters
tThe time value.
tstepThe timestep number.

Definition at line 70 of file simcomp_executor.f90.

◆ restart()

procedure, pass(this) simcomp_executor::simcomp_executor_t::restart ( class(simcomp_executor_t), intent(inout this,
real(kind=rp), intent(in t 
)
Parameters
tThe time value.

Definition at line 74 of file simcomp_executor.f90.

Member Data Documentation

◆ case

type(case_t), pointer, private simcomp_executor::simcomp_executor_t::case
private

Definition at line 59 of file simcomp_executor.f90.

◆ finalized

logical, private simcomp_executor::simcomp_executor_t::finalized = .false.
private

Definition at line 61 of file simcomp_executor.f90.

◆ n_simcomps

integer, private simcomp_executor::simcomp_executor_t::n_simcomps
private

Definition at line 57 of file simcomp_executor.f90.

◆ simcomps

class(simulation_component_wrapper_t), dimension(:), allocatable simcomp_executor::simcomp_executor_t::simcomps

Definition at line 55 of file simcomp_executor.f90.


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