Neko 1.99.7
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
wall_shear_stress_simcomp::wall_shear_stress_t Type Referenceabstract

A simulation component that computes the wall shear stress on one or more labelled boundary zones and registers it in the neko_registry. The result is written into the registry fields <computed_field>_x, _y, _z and _mag, which are zero away from the marked zones. More...

Inheritance diagram for wall_shear_stress_simcomp::wall_shear_stress_t:
Collaboration diagram for wall_shear_stress_simcomp::wall_shear_stress_t:

Public Member Functions

procedure, pass(thisinit (this, json, case)
 Constructors.
 
generic init_from_components (this, name, case, order, preprocess_controller, compute_controller, output_controller, computed_field, viscosity_field, zone_indices, components, coef)
 Constructor from components, passing controllers.
 
generic init_from_components (this, name, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, computed_field, viscosity_field, zone_indices, components, coef)
 Constructor from components, passing properties to the time_based_controller components in the base type.
 
procedure, pass(thisinit_from_controllers (this, name, case, order, preprocess_controller, compute_controller, output_controller, computed_field, viscosity_field, zone_indices, components, coef)
 Constructor from components, passing controllers.
 
procedure, pass(thisinit_from_controllers_properties (this, name, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value, computed_field, viscosity_field, zone_indices, components, coef)
 Constructor from components, passing properties to the time_based_controller components in the base type.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thiscompute_ (this, time)
 Compute the wall shear stress.
 
procedure, pass(thisinit_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(thisinit_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(thisinit_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(thisfree_base (this)
 Destructor for the simulation_component_t (base) class.
 
procedure, pass(thisrestart (this, time)
 Wrapper for calling set_counter for the time based controllers. Serves as the public interface.
 
procedure, pass(thispreprocess (this, time)
 Wrapper for calling preprocess_ based on the preprocess_controller. Serves as the public interface.
 
procedure, pass(thiscompute (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(thispreprocess_ (this, time)
 The preprocessing function to be executed during the run.
 
procedure, pass(thiscompute_ (this, time)
 The main function to be executed during the run.
 
procedure, pass(thisrestart_ (this, time)
 The restart function to be called upon restarting simulation.
 
procedure, pass(thisparse_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(field_t), pointer u => null()
 X velocity component.
 
type(field_t), pointer v => null()
 Y velocity component.
 
type(field_t), pointer w => null()
 Z velocity component.
 
type(field_t), pointer p => null()
 Pressure.
 
type(field_t), pointer mu => null()
 Dynamic viscosity.
 
type(field_t), pointer tau_x => null()
 X component of the wall shear stress.
 
type(field_t), pointer tau_y => null()
 Y component of the wall shear stress.
 
type(field_t), pointer tau_z => null()
 Z component of the wall shear stress.
 
type(field_t), pointer tau_mag => null()
 Magnitude of the wall shear stress.
 
type(coef_t), pointer coef => null()
 SEM coefficients.
 
type(boundary_data_tbdata
 Boundary points of the chosen zones, with their geometry. Built with the coef normal convention, pointing out of the fluid.
 
integer, dimension(:), allocatable zone_indices
 Labelled zones to include.
 
logical want_x = .true.
 Which traction components are registered as fields.
 
logical want_y = .true.
 
logical want_z = .true.
 
logical want_mag = .true.
 
logical mesh_has_changed = .false.
 Whether the mesh geometry changes during the run.
 
character(len=:), allocatable computed_field
 Base name of the registered fields.
 
type(case_t), pointer case
 Pointer to the simulation case.
 
type(time_based_controller_tpreprocess_controller
 Controller for when to run preprocess.
 
type(time_based_controller_tcompute_controller
 Controller for when to run compute.
 
type(time_based_controller_toutput_controller
 Controller for when to do output.
 
integer order
 The execution order, lowest excutes first.
 
character(:), allocatable name
 Unique name of the simcomp.
 

Private Member Functions

procedure, pass(this), private init_common (this, name, computed_field, viscosity_field, zone_indices, components, coef)
 Common part of all constructors.
 

Detailed Description

Definition at line 63 of file wall_shear_stress_simcomp.f90.

Member Function/Subroutine Documentation

◆ compute()

procedure, pass(this) simulation_component::simulation_component_t::compute ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 91 of file simulation_component.f90.

◆ compute_() [1/2]

procedure, pass(this) simulation_component::simulation_component_t::compute_ ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 99 of file simulation_component.f90.

◆ compute_() [2/2]

procedure, pass(this) wall_shear_stress_simcomp::wall_shear_stress_t::compute_ ( class(wall_shear_stress_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
timeThe current time state.

Definition at line 112 of file wall_shear_stress_simcomp.f90.

◆ free() [1/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 95 of file simulation_component.f90.

◆ free() [2/2]

procedure, pass(this) wall_shear_stress_simcomp::wall_shear_stress_t::free ( class(wall_shear_stress_t), intent(inout this)

Definition at line 110 of file wall_shear_stress_simcomp.f90.

◆ free_base()

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

Definition at line 81 of file simulation_component.f90.

◆ init() [1/2]

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

Definition at line 93 of file simulation_component.f90.

◆ init() [2/2]

procedure, pass(this) wall_shear_stress_simcomp::wall_shear_stress_t::init ( class(wall_shear_stress_t), intent(inout), target  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 100 of file wall_shear_stress_simcomp.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

Definition at line 65 of file simulation_component.f90.

◆ init_base_from_components() [1/2]

generic simulation_component::simulation_component_t::init_base_from_components ( class(simulation_component_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 
)
inherited
Parameters
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controllerControl mode for computing.
compute_valueValue parameter for computing.
output_controllerControl mode for output.
output_valueValue parameter for output.

Definition at line 67 of file simulation_component.f90.

◆ init_base_from_components() [2/2]

generic simulation_component::simulation_component_t::init_base_from_components ( class(simulation_component_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 
)
inherited
Parameters
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.

Definition at line 67 of file simulation_component.f90.

◆ init_base_from_controllers()

procedure, pass(this) simulation_component::simulation_component_t::init_base_from_controllers ( class(simulation_component_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 
)
inherited
Parameters
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.

Definition at line 73 of file simulation_component.f90.

◆ init_base_from_controllers_properties()

procedure, pass(this) simulation_component::simulation_component_t::init_base_from_controllers_properties ( class(simulation_component_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 
)
inherited
Parameters
caseThe simulation case object.
orderThe execution oder priority of the simcomp.
preprocess_controllerControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controllerControl mode for computing.
compute_valueValue parameter for computing.
output_controllerControl mode for output.
output_valueValue parameter for output.

Definition at line 78 of file simulation_component.f90.

◆ init_common()

procedure, pass(this), private wall_shear_stress_simcomp::wall_shear_stress_t::init_common ( class(wall_shear_stress_t), intent(inout this,
character(len=*), intent(in name,
character(len=*), intent(in computed_field,
character(len=*), intent(in viscosity_field,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in components,
type(coef_t), intent(inout), target  coef 
)
private
Parameters
nameThe unique name of the simcomp.
computed_fieldThe base name of the registered fields.
viscosity_fieldThe name of the registered viscosity field.
zone_indicesLabelled zones to include.
componentsThe components to register: "x", "y", "z", "mag", "all".
coefThe SEM coefficients.

Definition at line 107 of file wall_shear_stress_simcomp.f90.

◆ init_from_components() [1/2]

generic wall_shear_stress_simcomp::wall_shear_stress_t::init_from_components ( class(wall_shear_stress_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in 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,
character(len=*), intent(in computed_field,
character(len=*), intent(in viscosity_field,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in components,
type(coef_t), intent(inout), target  coef 
)
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controlControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controlControl mode for computing.
compute_valueValue parameter for computing.
output_controlControl mode for output.
output_valueValue parameter for output.
computed_fieldThe base name of the registered fields.
viscosity_fieldThe name of the registered viscosity field.
zone_indicesLabelled zones to include.
componentsThe components to register: "x", "y", "z", "mag", "all".
coefThe SEM coefficients.

Definition at line 101 of file wall_shear_stress_simcomp.f90.

◆ init_from_components() [2/2]

generic wall_shear_stress_simcomp::wall_shear_stress_t::init_from_components ( class(wall_shear_stress_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in 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,
character(len=*), intent(in computed_field,
character(len=*), intent(in viscosity_field,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in components,
type(coef_t), intent(inout), target  coef 
)
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.
computed_fieldThe base name of the registered fields.
viscosity_fieldThe name of the registered viscosity field.
zone_indicesLabelled zones to include.
componentsThe components to register: "x", "y", "z", "mag", "all".
coefThe SEM coefficients.

Definition at line 101 of file wall_shear_stress_simcomp.f90.

◆ init_from_controllers()

procedure, pass(this) wall_shear_stress_simcomp::wall_shear_stress_t::init_from_controllers ( class(wall_shear_stress_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in 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,
character(len=*), intent(in computed_field,
character(len=*), intent(in viscosity_field,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in components,
type(coef_t), intent(inout), target  coef 
)
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controllerThe controller for running preprocessing.
compute_controllerThe controller for running compute.
output_controllerThe controller for producing output.
computed_fieldThe base name of the registered fields.
viscosity_fieldThe name of the registered viscosity field.
zone_indicesLabelled zones to include.
componentsThe components to register: "x", "y", "z", "mag", "all".
coefThe SEM coefficients.

Definition at line 103 of file wall_shear_stress_simcomp.f90.

◆ init_from_controllers_properties()

procedure, pass(this) wall_shear_stress_simcomp::wall_shear_stress_t::init_from_controllers_properties ( class(wall_shear_stress_t), intent(inout this,
character(len=*), intent(in name,
class(case_t), intent(inout), target  case,
integer, intent(in 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,
character(len=*), intent(in computed_field,
character(len=*), intent(in viscosity_field,
integer, dimension(:), intent(in zone_indices,
character(len=*), dimension(:), intent(in components,
type(coef_t), intent(inout), target  coef 
)
Parameters
nameThe unique name of the simcomp.
caseThe simulation case object.
orderThe execution order priority of the simcomp.
preprocess_controlControl mode for preprocessing.
preprocess_valueValue parameter for preprocessing.
compute_controlControl mode for computing.
compute_valueValue parameter for computing.
output_controlControl mode for output.
output_valueValue parameter for output.
computed_fieldThe base name of the registered fields.
viscosity_fieldThe name of the registered viscosity field.
zone_indicesLabelled zones to include.
componentsThe components to register: "x", "y", "z", "mag", "all".
coefThe SEM coefficients.

Definition at line 105 of file wall_shear_stress_simcomp.f90.

◆ parse_json()

procedure, pass(this) simulation_component::simulation_component_t::parse_json ( class(simulation_component_t), intent(inout this,
type(json_file), intent(inout json,
type(json_file), intent(inout case_params,
character(len=:), intent(inout), allocatable  preprocess_control,
real(kind=rp), intent(out preprocess_value,
character(len=:), intent(inout), allocatable  compute_control,
real(kind=rp), intent(out compute_value,
character(len=:), intent(inout), allocatable  output_control,
real(kind=rp), intent(out output_value 
)
inherited
Parameters
jsonThe JSON dictionary of the simcomp.
case_paramsThe entire case configuration JSON.
preprocess_valueControl mode for preprocessing.
preprocess_controllerValue parameter for preprocessing.
compute_controllerControl mode for computing.
compute_controllerValue parameter for computing.
output_controllerControl mode for output.
output_controllerValue parameter for output.

Definition at line 103 of file simulation_component.f90.

◆ preprocess()

procedure, pass(this) simulation_component::simulation_component_t::preprocess ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 87 of file simulation_component.f90.

◆ preprocess_()

procedure, pass(this) simulation_component::simulation_component_t::preprocess_ ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 97 of file simulation_component.f90.

◆ restart()

procedure, pass(this) simulation_component::simulation_component_t::restart ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 84 of file simulation_component.f90.

◆ restart_()

procedure, pass(this) simulation_component::simulation_component_t::restart_ ( class(simulation_component_t), intent(inout this,
type(time_state_t), intent(in time 
)
inherited
Parameters
timeThe current time.

Definition at line 101 of file simulation_component.f90.

Member Data Documentation

◆ bdata

type(boundary_data_t) wall_shear_stress_simcomp::wall_shear_stress_t::bdata

Definition at line 86 of file wall_shear_stress_simcomp.f90.

◆ case

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

Definition at line 52 of file simulation_component.f90.

◆ coef

type(coef_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::coef => null()

Definition at line 83 of file wall_shear_stress_simcomp.f90.

◆ compute_controller

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

Definition at line 56 of file simulation_component.f90.

◆ computed_field

character(len=:), allocatable wall_shear_stress_simcomp::wall_shear_stress_t::computed_field

Definition at line 97 of file wall_shear_stress_simcomp.f90.

◆ mesh_has_changed

logical wall_shear_stress_simcomp::wall_shear_stress_t::mesh_has_changed = .false.

Definition at line 95 of file wall_shear_stress_simcomp.f90.

◆ mu

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::mu => null()

Definition at line 73 of file wall_shear_stress_simcomp.f90.

◆ name

character(:), allocatable simulation_component::simulation_component_t::name
inherited

Definition at line 62 of file simulation_component.f90.

◆ order

integer simulation_component::simulation_component_t::order
inherited

Definition at line 60 of file simulation_component.f90.

◆ output_controller

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

Definition at line 58 of file simulation_component.f90.

◆ p

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::p => null()

Definition at line 71 of file wall_shear_stress_simcomp.f90.

◆ preprocess_controller

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

Definition at line 54 of file simulation_component.f90.

◆ tau_mag

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::tau_mag => null()

Definition at line 81 of file wall_shear_stress_simcomp.f90.

◆ tau_x

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::tau_x => null()

Definition at line 75 of file wall_shear_stress_simcomp.f90.

◆ tau_y

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::tau_y => null()

Definition at line 77 of file wall_shear_stress_simcomp.f90.

◆ tau_z

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::tau_z => null()

Definition at line 79 of file wall_shear_stress_simcomp.f90.

◆ u

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::u => null()

Definition at line 65 of file wall_shear_stress_simcomp.f90.

◆ v

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::v => null()

Definition at line 67 of file wall_shear_stress_simcomp.f90.

◆ w

type(field_t), pointer wall_shear_stress_simcomp::wall_shear_stress_t::w => null()

Definition at line 69 of file wall_shear_stress_simcomp.f90.

◆ want_mag

logical wall_shear_stress_simcomp::wall_shear_stress_t::want_mag = .true.

Definition at line 93 of file wall_shear_stress_simcomp.f90.

◆ want_x

logical wall_shear_stress_simcomp::wall_shear_stress_t::want_x = .true.

Definition at line 90 of file wall_shear_stress_simcomp.f90.

◆ want_y

logical wall_shear_stress_simcomp::wall_shear_stress_t::want_y = .true.

Definition at line 91 of file wall_shear_stress_simcomp.f90.

◆ want_z

logical wall_shear_stress_simcomp::wall_shear_stress_t::want_z = .true.

Definition at line 92 of file wall_shear_stress_simcomp.f90.

◆ zone_indices

integer, dimension(:), allocatable wall_shear_stress_simcomp::wall_shear_stress_t::zone_indices

Definition at line 88 of file wall_shear_stress_simcomp.f90.


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