Neko  0.9.99
A portable framework for high-order spectral element flow simulations
simcomp_executor Module Reference

Contains the simcomp_executor_t type.

Data Types

type  simcomp_executor_t
 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...
 

Functions/Subroutines

subroutine simcomp_executor_init (this, case, simcomp_root)
 Constructor. More...
 
subroutine simcomp_executor_free (this)
 Destructor. More...
 
subroutine simcomp_executor_add (this, object, settings)
 Appending a new simcomp to the executor. More...
 
subroutine simcomp_executor_finalize (this)
 Finalize the initialization. Sorts the simcomps based on the order property. Additionally we check that the order is unique, contiguous, starts at 1 and within bounds. More...
 
subroutine simcomp_executor_preprocess (this, t, tstep)
 Execute preprocess_ for all simcomps. More...
 
subroutine simcomp_executor_compute (this, t, tstep)
 Execute compute_ for all simcomps. More...
 
subroutine simcomp_executor_restart (this, t)
 Execute restart for all simcomps. More...
 
pure integer function simcomp_executor_get_n (this)
 Get the number of simcomps. More...
 

Variables

type(simcomp_executor_t), target, public neko_simcomps
 Global variable for the simulation component driver. More...
 

Function/Subroutine Documentation

◆ simcomp_executor_add()

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

Definition at line 211 of file simcomp_executor.f90.

◆ simcomp_executor_compute()

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

Definition at line 356 of file simcomp_executor.f90.

◆ simcomp_executor_finalize()

subroutine simcomp_executor::simcomp_executor_finalize ( class(simcomp_executor_t), intent(inout)  this)
private

Definition at line 258 of file simcomp_executor.f90.

◆ simcomp_executor_free()

subroutine simcomp_executor::simcomp_executor_free ( class(simcomp_executor_t), intent(inout)  this)
private

Definition at line 196 of file simcomp_executor.f90.

◆ simcomp_executor_get_n()

pure integer function simcomp_executor::simcomp_executor_get_n ( class(simcomp_executor_t), intent(in)  this)
private

Definition at line 388 of file simcomp_executor.f90.

◆ simcomp_executor_init()

subroutine simcomp_executor::simcomp_executor_init ( class(simcomp_executor_t), intent(inout)  this,
type(case_t), intent(inout), target  case,
character(len=*), intent(in), optional  simcomp_root 
)
private
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 90 of file simcomp_executor.f90.

◆ simcomp_executor_preprocess()

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

Definition at line 337 of file simcomp_executor.f90.

◆ simcomp_executor_restart()

subroutine simcomp_executor::simcomp_executor_restart ( class(simcomp_executor_t), intent(inout)  this,
real(kind=rp), intent(in)  t 
)
private
Parameters
tThe time value.

Definition at line 374 of file simcomp_executor.f90.

Variable Documentation

◆ neko_simcomps

type(simcomp_executor_t), target, public simcomp_executor::neko_simcomps

Definition at line 82 of file simcomp_executor.f90.