Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
A simulation component that computes the averages of fields in the registry. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, case) |
Constructor from json, wrapping the actual constructor. | |
generic | init_from_components (this, case, order, preprocess_controller, compute_controller, output_controller, start_time, coef, avg_dir, filename, precision) |
Generic for constructing from components. | |
generic | init_from_components (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, start_time, coef, avg_dir, filename, precision) |
Generic for constructing from components. | |
procedure, pass(this) | init_from_controllers (this, case, order, preprocess_controller, compute_controller, output_controller, start_time, coef, avg_dir, filename, precision) |
Constructor from components, passing time_based_controllers. | |
procedure, pass(this) | init_from_controllers_properties (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, start_time, coef, avg_dir, filename, precision) |
Constructor from components, passing the properties of time_based_controllers. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute_ (this, time) |
Compute the means. | |
procedure, pass(this) | restart_ (this, time) |
procedure, pass(this) | init_base (this, json, case) |
Constructor for the simulation_component_t (base) class. | |
generic | init_base_from_components (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
Constructor for the simulation_component_t (base) class from components. | |
generic | init_base_from_components (this, case, order, preprocess_controller, compute_controller, output_controller) |
Constructor for the simulation_component_t (base) class from components. | |
procedure, pass(this) | init_base_from_controllers (this, case, order, preprocess_controller, compute_controller, output_controller) |
Constructor for the simulation_component_t (base) class from time_based_controllers, essentially directly from all components (we reserve the _from_components name for the generic binding). | |
procedure, pass(this) | init_base_from_controllers_properties (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
Constructor for the simulation_component_t (base) class from properties of time_based_controllers, so the latter are constructed instead of assigned. | |
procedure, pass(this) | free_base (this) |
Destructor for the simulation_component_t (base) class. | |
procedure, pass(this) | restart (this, time) |
Wrapper for calling set_counter for the time based controllers. Serves as the public interface. | |
procedure, pass(this) | preprocess (this, time) |
Wrapper for calling preprocess_ based on the preprocess_controller . Serves as the public interface. | |
procedure, pass(this) | compute (this, time) |
Wrapper for calling compute_ based on the compute_controller . Serves as the public interface. | |
procedure(simulation_component_init), deferred, pass | init (this, json, case) |
The common constructor using a JSON dictionary. | |
procedure(simulation_component_free), deferred, pass | free (this) |
Destructor. | |
procedure, pass(this) | preprocess_ (this, time) |
The preprocessing function to be executed during the run. | |
procedure, pass(this) | compute_ (this, time) |
The main function to be executed during the run. | |
procedure, pass(this) | restart_ (this, time) |
The restart function to be called upon restarting simulation. | |
procedure, pass(this) | parse_json (this, json, case_params, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
JSON parameter parser for the time-based controllers. | |
Public Attributes | |
real(kind=rp) | start_time |
When to start averaging. | |
real(kind=rp) | time |
Current time. Uses to compute time delta since last run of compute. | |
type(mean_field_t), dimension(:), allocatable | mean_fields |
The averaged fields. | |
integer | n_avg_fields = 0 |
Number of fields to average. | |
character(len=20), dimension(:), allocatable | field_names |
The names of the fields to average. | |
type(case_t), pointer | case |
Pointer to the simulation case. | |
type(time_based_controller_t) | preprocess_controller |
Controller for when to run preprocess . | |
type(time_based_controller_t) | compute_controller |
Controller for when to run compute . | |
type(time_based_controller_t) | output_controller |
Controller for when to do output. | |
integer | order |
The execution order, lowest excutes first. | |
Private Member Functions | |
procedure, pass(this), private | init_common (this, start_time, coef, avg_dir, filename, precision) |
Common part of both constructors. | |
Private Attributes | |
type(mean_field_output_t), private | output |
Output writer. | |
Definition at line 53 of file user_stats.f90.
|
inherited |
time | The current time. |
Definition at line 88 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 96 of file simulation_component.f90.
procedure, pass(this) user_stats::user_stats_t::compute_ | ( | class(user_stats_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
time | The current time state. |
Definition at line 86 of file user_stats.f90.
|
pure virtualinherited |
Definition at line 92 of file simulation_component.f90.
Definition at line 84 of file user_stats.f90.
|
inherited |
Definition at line 78 of file simulation_component.f90.
|
pure virtualinherited |
Definition at line 90 of file simulation_component.f90.
procedure, pass(this) user_stats::user_stats_t::init | ( | class(user_stats_t), intent(inout), target | this, |
type(json_file), intent(inout) | json, | ||
class(case_t), intent(inout), target | case | ||
) |
json | The json paramter dictionary. |
case | The neko case object. |
Definition at line 70 of file user_stats.f90.
|
inherited |
Definition at line 62 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
Definition at line 64 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
Definition at line 64 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
Definition at line 70 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
Definition at line 75 of file simulation_component.f90.
|
private |
start_time | The start time for gathering samples for the average. |
coef | The SEM coefficients. |
avg_dir | The averaging direction. |
Definition at line 82 of file user_stats.f90.
generic user_stats::user_stats_t::init_from_components | ( | class(user_stats_t), intent(inout) | this, |
class(case_t), intent(inout), target | case, | ||
integer | order, | ||
character(len=*), intent(in) | preprocess_control, | ||
real(kind=rp), intent(in) | preprocess_value, | ||
character(len=*), intent(in) | compute_control, | ||
real(kind=rp), intent(in) | compute_value, | ||
character(len=*), intent(in) | output_control, | ||
real(kind=rp), intent(in) | output_value, | ||
real(kind=rp), intent(in) | start_time, | ||
type(coef_t), intent(inout) | coef, | ||
character(len=*), intent(in) | avg_dir, | ||
character(len=*), intent(in), optional | filename, | ||
integer, intent(in), optional | precision | ||
) |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
start_time | The start time for gathering samples for the average. |
coef | The SEM coefficients. |
avg_dir | The averaging direction. |
filename | The name of the file save the fields to. Optional, if not provided, fields are added to the main output file. |
precision | The real precision of the output data. Optional, defaults to single precision. |
Definition at line 72 of file user_stats.f90.
generic user_stats::user_stats_t::init_from_components | ( | class(user_stats_t), intent(inout) | this, |
class(case_t), intent(inout), target | case, | ||
integer | order, | ||
type(time_based_controller_t), intent(in) | preprocess_controller, | ||
type(time_based_controller_t), intent(in) | compute_controller, | ||
type(time_based_controller_t), intent(in) | output_controller, | ||
real(kind=rp), intent(in) | start_time, | ||
type(coef_t), intent(inout) | coef, | ||
character(len=*), intent(in) | avg_dir, | ||
character(len=*), intent(in), optional | filename, | ||
integer, intent(in), optional | precision | ||
) |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
start_time | The start time for gathering samples for the average. |
coef | The SEM coefficients. |
avg_dir | The averaging direction. |
filename | The name of the file save the fields to. Optional, if not |
precision | The real precision of the output data. Optional, defaults to single precision. |
Definition at line 72 of file user_stats.f90.
procedure, pass(this) user_stats::user_stats_t::init_from_controllers | ( | class(user_stats_t), intent(inout) | this, |
class(case_t), intent(inout), target | case, | ||
integer | order, | ||
type(time_based_controller_t), intent(in) | preprocess_controller, | ||
type(time_based_controller_t), intent(in) | compute_controller, | ||
type(time_based_controller_t), intent(in) | output_controller, | ||
real(kind=rp), intent(in) | start_time, | ||
type(coef_t), intent(inout) | coef, | ||
character(len=*), intent(in) | avg_dir, | ||
character(len=*), intent(in), optional | filename, | ||
integer, intent(in), optional | precision | ||
) |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
start_time | The start time for gathering samples for the average. |
coef | The SEM coefficients. |
avg_dir | The averaging direction. |
filename | The name of the file save the fields to. Optional, if not |
precision | The real precision of the output data. Optional, defaults to single precision. |
Definition at line 75 of file user_stats.f90.
procedure, pass(this) user_stats::user_stats_t::init_from_controllers_properties | ( | class(user_stats_t), intent(inout) | this, |
class(case_t), intent(inout), target | case, | ||
integer | order, | ||
character(len=*), intent(in) | preprocess_control, | ||
real(kind=rp), intent(in) | preprocess_value, | ||
character(len=*), intent(in) | compute_control, | ||
real(kind=rp), intent(in) | compute_value, | ||
character(len=*), intent(in) | output_control, | ||
real(kind=rp), intent(in) | output_value, | ||
real(kind=rp), intent(in) | start_time, | ||
type(coef_t), intent(inout) | coef, | ||
character(len=*), intent(in) | avg_dir, | ||
character(len=*), intent(in), optional | filename, | ||
integer, intent(in), optional | precision | ||
) |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
start_time | The start time for gathering samples for the average. |
coef | The SEM coefficients. |
avg_dir | The averaging direction. |
filename | The name of the file save the fields to. Optional, if not provided, fields are added to the main output file. |
precision | The real precision of the output data. Optional, defaults to single precision. |
Definition at line 79 of file user_stats.f90.
|
inherited |
json | The JSON dictionary of the simcomp. |
case_params | The entire case configuration JSON. |
preprocess_value | Control mode for preprocessing. |
preprocess_controller | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_controller | Value parameter for computing. |
output_controller | Control mode for output. |
output_controller | Value parameter for output. |
Definition at line 100 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 84 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 94 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 81 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 98 of file simulation_component.f90.
procedure, pass(this) user_stats::user_stats_t::restart_ | ( | class(user_stats_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
Definition at line 87 of file user_stats.f90.
Definition at line 51 of file simulation_component.f90.
|
inherited |
Definition at line 55 of file simulation_component.f90.
character(len=20), dimension(:), allocatable user_stats::user_stats_t::field_names |
Definition at line 64 of file user_stats.f90.
type(mean_field_t), dimension(:), allocatable user_stats::user_stats_t::mean_fields |
Definition at line 60 of file user_stats.f90.
integer user_stats::user_stats_t::n_avg_fields = 0 |
Definition at line 62 of file user_stats.f90.
|
inherited |
Definition at line 59 of file simulation_component.f90.
|
private |
Definition at line 66 of file user_stats.f90.
|
inherited |
Definition at line 57 of file simulation_component.f90.
|
inherited |
Definition at line 53 of file simulation_component.f90.
Definition at line 56 of file user_stats.f90.
Definition at line 58 of file user_stats.f90.