Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
fluid_stats_simcomp::fluid_stats_simcomp_t Type Referenceabstract

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

Inheritance diagram for fluid_stats_simcomp::fluid_stats_simcomp_t:
Collaboration diagram for fluid_stats_simcomp::fluid_stats_simcomp_t:

Public Member Functions

procedure, pass(thisinit (this, json, case)
 Constructor from json, wrapping the actual constructor.
 
procedure, pass(thisinit_from_attributes (this, u, v, w, p, coef, start_time, hom_dir, stat_set)
 Actual constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thiscompute_ (this, t, tstep)
 Does sampling for statistics.
 
procedure, pass(thisoutput_ (this, t, tstep)
 Write the statistics to disk.
 
procedure, pass(thisrestart_ (this, t)
 Restart the simcomp.
 
procedure, pass(thisinit_base (this, json, case)
 Constructor for the simulation_component_t (base) class.
 
procedure, pass(thisfree_base (this)
 Destructor for the simulation_component_t (base) class.
 
procedure, pass(thisrestart (this, t)
 Wrapper for calling set_counter for the time based controllers. Serves as the public interface.
 
procedure, pass(thispreprocess (this, t, tstep)
 Wrapper for calling preprocess_ based on the preprocess_controller. Serves as the public interface.
 
procedure, pass(thiscompute (this, t, tstep)
 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(thispreprocess_ (this, t, tstep)
 The preprocessing function to be executed during the run.
 
procedure, pass(thiscompute_ (this, t, tstep)
 The main function to be executed during the run.
 
procedure, pass(thisrestart_ (this, t)
 The restart function to be called upon restarting simulation.
 

Public Attributes

type(fluid_stats_tstats
 Backbone object computing the satistics.
 
type(fluid_stats_output_tstats_output
 Output writer.
 
real(kind=rp) start_time
 Time value at which the sampling of statistics is initiated.
 
real(kind=rp) time
 
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.
 

Detailed Description

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 61 of file fluid_stats_simcomp.f90.

Member Function/Subroutine Documentation

◆ compute()

procedure, pass(this) simulation_component::simulation_component_t::compute ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 73 of file simulation_component.f90.

◆ compute_() [1/2]

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::compute_ ( class(fluid_stats_simcomp_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Parameters
tThe time value.
tstepThe current time-step

Definition at line 78 of file fluid_stats_simcomp.f90.

◆ compute_() [2/2]

procedure, pass(this) simulation_component::simulation_component_t::compute_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 81 of file simulation_component.f90.

◆ free() [1/2]

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::free ( class(fluid_stats_simcomp_t), intent(inout this)

Definition at line 76 of file fluid_stats_simcomp.f90.

◆ free() [2/2]

procedure(simulation_component_free), deferred, pass simulation_component::simulation_component_t::free ( class(simulation_component_t), intent(inout this)
pure virtualinherited

Definition at line 77 of file simulation_component.f90.

◆ free_base()

procedure, pass(this) simulation_component::simulation_component_t::free_base ( class(simulation_component_t), intent(inout this)
inherited

Definition at line 63 of file simulation_component.f90.

◆ init() [1/2]

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::init ( class(fluid_stats_simcomp_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
Parameters
jsonJSON object with the parameters.
caseThe case object.

Definition at line 71 of file fluid_stats_simcomp.f90.

◆ init() [2/2]

procedure(simulation_component_init), deferred, pass simulation_component::simulation_component_t::init ( class(simulation_component_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
pure virtualinherited

Definition at line 75 of file simulation_component.f90.

◆ init_base()

procedure, pass(this) simulation_component::simulation_component_t::init_base ( class(simulation_component_t), intent(inout this,
type(json_file), intent(inout json,
class(case_t), intent(inout), target  case 
)
inherited
Parameters
objectThe object to be created and initialized.
jsonJSON object initializing the simulation component.
caseThe simulation case. Constructor for the simulation_component_t (base) class.

Definition at line 61 of file simulation_component.f90.

◆ init_from_attributes()

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::init_from_attributes ( class(fluid_stats_simcomp_t), intent(inout this,
type(field_t), intent(inout u,
type(field_t), intent(inout v,
type(field_t), intent(inout w,
type(field_t), intent(inout p,
type(coef_t), intent(in coef,
real(kind=rp), intent(in start_time,
character(len=*), intent(in hom_dir,
character(len=*), intent(in stat_set 
)
Parameters
ux-velocity
vx-velocity
wx-velocity
coefsem coefs
start_timetime to start sampling stats
hom_dirdirections to average in
stat_setSet of statistics to compute (basic/full)

Definition at line 73 of file fluid_stats_simcomp.f90.

◆ output_()

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::output_ ( class(fluid_stats_simcomp_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
Parameters
tThe time value.
tstepThe current time-step

Definition at line 80 of file fluid_stats_simcomp.f90.

◆ preprocess()

procedure, pass(this) simulation_component::simulation_component_t::preprocess ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 69 of file simulation_component.f90.

◆ preprocess_()

procedure, pass(this) simulation_component::simulation_component_t::preprocess_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
inherited
Parameters
tThe time value.
tstepThe current time-step

Definition at line 79 of file simulation_component.f90.

◆ restart()

procedure, pass(this) simulation_component::simulation_component_t::restart ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t 
)
inherited
Parameters
tThe time value.

Definition at line 66 of file simulation_component.f90.

◆ restart_() [1/2]

procedure, pass(this) fluid_stats_simcomp::fluid_stats_simcomp_t::restart_ ( class(fluid_stats_simcomp_t), intent(inout this,
real(kind=rp), intent(in t 
)

Definition at line 82 of file fluid_stats_simcomp.f90.

◆ restart_() [2/2]

procedure, pass(this) simulation_component::simulation_component_t::restart_ ( class(simulation_component_t), intent(inout this,
real(kind=rp), intent(in t 
)
inherited
Parameters
tThe time value.

Definition at line 83 of file simulation_component.f90.

Member Data Documentation

◆ case

type(case_t), pointer simulation_component::simulation_component_t::case
inherited

Definition at line 50 of file simulation_component.f90.

◆ compute_controller

type(time_based_controller_t) simulation_component::simulation_component_t::compute_controller
inherited

Definition at line 54 of file simulation_component.f90.

◆ order

integer simulation_component::simulation_component_t::order
inherited

Definition at line 58 of file simulation_component.f90.

◆ output_controller

type(time_based_controller_t) simulation_component::simulation_component_t::output_controller
inherited

Definition at line 56 of file simulation_component.f90.

◆ preprocess_controller

type(time_based_controller_t) simulation_component::simulation_component_t::preprocess_controller
inherited

Definition at line 52 of file simulation_component.f90.

◆ start_time

real(kind=rp) fluid_stats_simcomp::fluid_stats_simcomp_t::start_time

Definition at line 67 of file fluid_stats_simcomp.f90.

◆ stats

type(fluid_stats_t) fluid_stats_simcomp::fluid_stats_simcomp_t::stats

Definition at line 63 of file fluid_stats_simcomp.f90.

◆ stats_output

type(fluid_stats_output_t) fluid_stats_simcomp::fluid_stats_simcomp_t::stats_output

Definition at line 65 of file fluid_stats_simcomp.f90.

◆ time

real(kind=rp) fluid_stats_simcomp::fluid_stats_simcomp_t::time

Definition at line 68 of file fluid_stats_simcomp.f90.


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