Neko 1.99.1
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 (this, object, settings)
 Appending a new simcomp to the executor.
 
procedure, pass(thispreprocess (this, time)
 Execute preprocess_ for all simcomps.
 
procedure, pass(thiscompute (this, time)
 Execute compute_ for all simcomps.
 
procedure, pass(thisrestart (this, time)
 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.
 
type(case_t), pointer case
 The case.
 

Private Member Functions

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

Private Attributes

integer, private n_simcomps
 Number of simcomps.
 
logical, private finalized = .false.
 Flag to indicate if the simcomp executor has been finalized.
 

Detailed Description

Definition at line 53 of file simcomp_executor.f90.

Member Function/Subroutine Documentation

◆ add()

procedure, pass(this) simcomp_executor::simcomp_executor_t::add ( 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 69 of file simcomp_executor.f90.

◆ compute()

procedure, pass(this) simcomp_executor::simcomp_executor_t::compute ( class(simcomp_executor_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
timeThe current time

Definition at line 73 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 77 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 67 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 79 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 65 of file simcomp_executor.f90.

◆ preprocess()

procedure, pass(this) simcomp_executor::simcomp_executor_t::preprocess ( class(simcomp_executor_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
timeThe current time

Definition at line 71 of file simcomp_executor.f90.

◆ restart()

procedure, pass(this) simcomp_executor::simcomp_executor_t::restart ( class(simcomp_executor_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
timeThe current time

Definition at line 75 of file simcomp_executor.f90.

Member Data Documentation

◆ case

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

Definition at line 60 of file simcomp_executor.f90.

◆ finalized

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

Definition at line 62 of file simcomp_executor.f90.

◆ n_simcomps

integer, private simcomp_executor::simcomp_executor_t::n_simcomps
private

Definition at line 58 of file simcomp_executor.f90.

◆ simcomps

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

Definition at line 56 of file simcomp_executor.f90.


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