Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
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...
Public Member Functions | |
procedure, pass(this) | init (this, case, simcomp_root) |
Constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | add_user_simcomp (this, object, settings) |
Appending a new simcomp to the executor. | |
procedure, pass(this) | preprocess (this, t, tstep) |
Execute preprocess_ for all simcomps. | |
procedure, pass(this) | compute (this, t, tstep) |
Execute compute_ for all simcomps. | |
procedure, pass(this) | restart (this, t) |
Execute restart for all simcomps. | |
procedure, pass(this) | get_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. | |
Definition at line 52 of file simcomp_executor.f90.
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 | ||
) |
new_object | The simcomp to append. |
settings | The settings for the simcomp. |
Definition at line 68 of file simcomp_executor.f90.
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 | ||
) |
t | The time value. |
tstep | The timestep number. |
Definition at line 72 of file simcomp_executor.f90.
|
private |
Definition at line 76 of file simcomp_executor.f90.
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.
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.
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 | ||
) |
case | The case. |
simcomp_root | The 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.
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 | ||
) |
t | The time value. |
tstep | The timestep number. |
Definition at line 70 of file simcomp_executor.f90.
procedure, pass(this) simcomp_executor::simcomp_executor_t::restart | ( | class(simcomp_executor_t), intent(inout) | this, |
real(kind=rp), intent(in) | t | ||
) |
t | The time value. |
Definition at line 74 of file simcomp_executor.f90.
Definition at line 59 of file simcomp_executor.f90.
Definition at line 61 of file simcomp_executor.f90.
Definition at line 57 of file simcomp_executor.f90.
class(simulation_component_wrapper_t), dimension(:), allocatable simcomp_executor::simcomp_executor_t::simcomps |
Definition at line 55 of file simcomp_executor.f90.