Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
A simulation component that computes the velocity and pressure statistics up to 4th order. Can be used to reconstruct the term budget of transport equations for, e.g. the Reynolds stresses and the turbulent kinetic energy. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, case) |
Constructor from json, wrapping the actual constructor. | |
procedure, pass(this) | init_from_components (this, u, v, w, p, coef, start_time, hom_dir, stat_set, fname) |
Actual constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute_ (this, time) |
Does sampling for statistics. | |
procedure, pass(this) | output_ (this, time) |
Write the statistics to disk. | |
procedure, pass(this) | restart_ (this, time) |
Restart the simcomp. | |
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 | |
type(fluid_stats_t) | stats |
Backbone object computing the satistics. | |
type(fluid_stats_output_t) | stats_output |
Output writer. | |
real(kind=rp) | start_time |
Time value at which the sampling of statistics is initiated. | |
real(kind=rp) | time |
logical | default_fname = .true. |
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. | |
Similar in functionality to the satistics module in the KTH Framework for Nek5000: https://github.com/KTH-Nek5000/KTH_Framework See Turbulence Statistics in a Spectral-Element Code: A Toolbox for High-Fidelity Simulations or the origin KTH Nek5000 framework for details.
For further details see the Neko documentation.
Definition at line 64 of file fluid_stats_simcomp.f90.
|
inherited |
time | The current time. |
Definition at line 88 of file simulation_component.f90.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::compute_ | ( | class(fluid_stats_simcomp_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
t | The time value. |
tstep | The current time-step |
Definition at line 83 of file fluid_stats_simcomp.f90.
|
inherited |
time | The current time. |
Definition at line 96 of file simulation_component.f90.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::free | ( | class(fluid_stats_simcomp_t), intent(inout) | this | ) |
Definition at line 81 of file fluid_stats_simcomp.f90.
|
pure virtualinherited |
Definition at line 92 of file simulation_component.f90.
|
inherited |
Definition at line 78 of file simulation_component.f90.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::init | ( | class(fluid_stats_simcomp_t), intent(inout), target | this, |
type(json_file), intent(inout) | json, | ||
class(case_t), intent(inout), target | case | ||
) |
json | JSON object with the parameters. |
case | The case object. |
Definition at line 76 of file fluid_stats_simcomp.f90.
|
pure virtualinherited |
Definition at line 90 of file simulation_component.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.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::init_from_components | ( | class(fluid_stats_simcomp_t), intent(inout), target | this, |
type(field_t), intent(in), target | u, | ||
type(field_t), intent(in), target | v, | ||
type(field_t), intent(in), target | w, | ||
type(field_t), intent(in), target | p, | ||
type(coef_t), intent(in), target | coef, | ||
real(kind=rp), intent(in) | start_time, | ||
character(len=*), intent(in) | hom_dir, | ||
character(len=*), intent(in) | stat_set, | ||
character(len=*), intent(in), optional | fname | ||
) |
u | x-velocity |
v | x-velocity |
w | x-velocity |
coef | sem coefs |
start_time | time to start sampling stats |
hom_dir | directions to average in |
stat_set | Set of statistics to compute (basic/full) |
Definition at line 78 of file fluid_stats_simcomp.f90.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::output_ | ( | class(fluid_stats_simcomp_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
t | The time value. |
tstep | The current time-step |
Definition at line 85 of file fluid_stats_simcomp.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.
procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::restart_ | ( | class(fluid_stats_simcomp_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
Definition at line 87 of file fluid_stats_simcomp.f90.
|
inherited |
time | The current time. |
Definition at line 98 of file simulation_component.f90.
Definition at line 51 of file simulation_component.f90.
|
inherited |
Definition at line 55 of file simulation_component.f90.
logical fluid_stats_simcomp::fluid_stats_simcomp_t::default_fname = .true. |
Definition at line 72 of file fluid_stats_simcomp.f90.
|
inherited |
Definition at line 59 of file simulation_component.f90.
|
inherited |
Definition at line 57 of file simulation_component.f90.
|
inherited |
Definition at line 53 of file simulation_component.f90.
Definition at line 70 of file fluid_stats_simcomp.f90.
type(fluid_stats_t) fluid_stats_simcomp::fluid_stats_simcomp_t::stats |
Definition at line 66 of file fluid_stats_simcomp.f90.
type(fluid_stats_output_t) fluid_stats_simcomp::fluid_stats_simcomp_t::stats_output |
Definition at line 68 of file fluid_stats_simcomp.f90.
Definition at line 71 of file fluid_stats_simcomp.f90.