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

Wall model based on Spalding's law of the wall. Reference: http://dx.doi.org/10.1115/1.3641728. More...

Inheritance diagram for spalding::spalding_t:
Collaboration diagram for spalding::spalding_t:

Public Member Functions

procedure, pass(thisinit (this, coef, msk, facet, nu, h_index, json)
 Constructor from JSON.
 
procedure, pass(thisinit_from_components (this, coef, msk, facet, nu, h_index, kappa, b)
 Constructor from components.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thiscompute (this, t, tstep)
 Compute the wall shear stress.
 
procedure, pass(thisinit_base (this, coef, msk, facet, nu, index)
 Constructor for the wall_model_t (base) class.
 
procedure, pass(thisfree_base (this)
 Destructor for the wall_model_t (base) class.
 
procedure(wall_model_init), deferred, pass init (this, coef, msk, facet, nu, h_index, json)
 The common constructor.
 
procedure(wall_model_free), deferred, pass free (this)
 Destructor.
 
procedure(wall_model_compute), deferred, pass compute (this, t, tstep)
 Compute the wall shear stress.
 
procedure, pass(thisfind_points (this)
 Find the sampling points based on the value of h_index.
 

Public Attributes

real(kind=rp) kappa = 0.41_rp
 The von Karman coefficient.
 
real(kind=rp) b = 5.2_rp
 The log-law intercept.
 
type(coef_t), pointer coef => null()
 SEM coefficients.
 
type(dofmap_t), pointer dof => null()
 Map of degrees of freedom.
 
integer, dimension(:), pointer msk => null()
 The boundary condition mask. Stores the array size at index zero!
 
integer, dimension(:), pointer facet => null()
 The boundary condition facet ids. Stores the array size at index zero!
 
real(kind=rp), dimension(:), allocatable tau_x
 The x component of the shear stress.
 
real(kind=rp), dimension(:), allocatable tau_y
 The y component of the shear stress.
 
real(kind=rp), dimension(:), allocatable tau_z
 The z component of the shear stress.
 
type(vector_t) n_x
 The x component of the normal.
 
type(vector_t) n_y
 The y component of the normal.
 
type(vector_t) n_z
 The z component of the normal.
 
integer, dimension(:), allocatable ind_r
 The r indices of the sampling points.
 
integer, dimension(:), allocatable ind_s
 The s indices of the sampling points.
 
integer, dimension(:), allocatable ind_t
 The t indices of the sampling points.
 
integer, dimension(:), allocatable ind_e
 The element indices of the sampling points.
 
type(vector_t) h
 The sampling height.
 
integer h_index = 0
 Sampling index.
 
integer n_nodes = 0
 Number of nodes in the boundary.
 
real(kind=rp) nu = 0_rp
 Kinematic viscosity value.
 
type(field_t), pointer tau_field => null()
 The 3D field with the computed stress magnitude at the boundary.
 

Private Member Functions

procedure, pass(this), private solve (this, u, y, guess)
 Solve for the friction velocity.
 

Detailed Description

Definition at line 53 of file spalding.f90.

Member Function/Subroutine Documentation

◆ compute() [1/2]

procedure, pass(this) spalding::spalding_t::compute ( class(spalding_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 67 of file spalding.f90.

◆ compute() [2/2]

procedure(wall_model_compute), deferred, pass wall_model::wall_model_t::compute ( class(wall_model_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
pure virtualinherited

Definition at line 103 of file wall_model.f90.

◆ find_points()

procedure, pass(this) wall_model::wall_model_t::find_points ( class(wall_model_t), intent(inout this)
inherited

Definition at line 105 of file wall_model.f90.

◆ free() [1/2]

procedure, pass(this) spalding::spalding_t::free ( class(spalding_t), intent(inout this)

Definition at line 65 of file spalding.f90.

◆ free() [2/2]

procedure(wall_model_free), deferred, pass wall_model::wall_model_t::free ( class(wall_model_t), intent(inout this)
pure virtualinherited

Definition at line 101 of file wall_model.f90.

◆ free_base()

procedure, pass(this) wall_model::wall_model_t::free_base ( class(wall_model_t), intent(inout this)
inherited

Definition at line 97 of file wall_model.f90.

◆ init() [1/2]

procedure, pass(this) spalding::spalding_t::init ( class(spalding_t), intent(inout this,
type(coef_t), intent(in coef,
integer, dimension(:), intent(in msk,
integer, dimension(:), intent(in facet,
real(kind=rp), intent(in nu,
integer, intent(in h_index,
type(json_file), intent(inout json 
)
Parameters
coefSEM coefficients.
mskThe boundary mask.
facetThe boundary facets.
nuThe molecular kinematic viscosity.
h_indexThe off-wall index of the sampling cell.
jsonA dictionary with parameters.

Definition at line 60 of file spalding.f90.

◆ init() [2/2]

procedure(wall_model_init), deferred, pass wall_model::wall_model_t::init ( class(wall_model_t), intent(inout this,
type(coef_t), intent(in coef,
integer, dimension(:), intent(in msk,
integer, dimension(:), intent(in facet,
real(kind=rp), intent(in nu,
integer, intent(in h_index,
type(json_file), intent(inout json 
)
pure virtualinherited

Definition at line 99 of file wall_model.f90.

◆ init_base()

procedure, pass(this) wall_model::wall_model_t::init_base ( class(wall_model_t), intent(inout this,
type(coef_t), intent(in), target  coef,
integer, dimension(0:), intent(in), target  msk,
integer, dimension(0:), intent(in), target  facet,
real(kind=rp), intent(in nu,
integer, intent(in index 
)
inherited
Parameters
objectThe object to be allocated.
coefSEM coefficients.
mskThe boundary mask.
facetThe boundary facets.
nuThe molecular kinematic viscosity.
h_indexThe off-wall index of the sampling cell.
jsonA dictionary with parameters. Constructor for the wall_model_t (base) class.
coefSEM coefficients.
mskThe underlying mask of the boundary condition.
facet,Theunderlying facet index list of the boundary condition.
nuThe kinematic viscosity.
indexThe off-wall index of the sampling point.

Definition at line 95 of file wall_model.f90.

◆ init_from_components()

procedure, pass(this) spalding::spalding_t::init_from_components ( class(spalding_t), intent(inout this,
type(coef_t), intent(in coef,
integer, dimension(:), intent(in msk,
integer, dimension(:), intent(in facet,
real(kind=rp), intent(in nu,
integer, intent(in h_index,
real(kind=rp), intent(in kappa,
real(kind=rp), intent(in b 
)
Parameters
coefSEM coefficients.
mskThe boundary mask.
facetThe boundary facets.
nuThe molecular kinematic viscosity.
h_indexThe off-wall index of the sampling cell.
kappaThe von Karman coefficient.
BThe log-law intercept.

Definition at line 62 of file spalding.f90.

◆ solve()

procedure, pass(this), private spalding::spalding_t::solve ( class(spalding_t), intent(inout this,
real(kind=rp), intent(in u,
real(kind=rp), intent(in y,
real(kind=rp), intent(in guess 
)
private
Parameters
uThe velocity value.
yThe wall-normal distance.
guessInitial guess.

Definition at line 69 of file spalding.f90.

Member Data Documentation

◆ b

real(kind=rp) spalding::spalding_t::b = 5.2_rp

Definition at line 57 of file spalding.f90.

◆ coef

type(coef_t), pointer wall_model::wall_model_t::coef => null()
inherited

Definition at line 56 of file wall_model.f90.

◆ dof

type(dofmap_t), pointer wall_model::wall_model_t::dof => null()
inherited

Definition at line 58 of file wall_model.f90.

◆ facet

integer, dimension(:), pointer wall_model::wall_model_t::facet => null()
inherited

Definition at line 62 of file wall_model.f90.

◆ h

type(vector_t) wall_model::wall_model_t::h
inherited

Definition at line 84 of file wall_model.f90.

◆ h_index

integer wall_model::wall_model_t::h_index = 0
inherited

Definition at line 86 of file wall_model.f90.

◆ ind_e

integer, dimension(:), allocatable wall_model::wall_model_t::ind_e
inherited

Definition at line 82 of file wall_model.f90.

◆ ind_r

integer, dimension(:), allocatable wall_model::wall_model_t::ind_r
inherited

Definition at line 76 of file wall_model.f90.

◆ ind_s

integer, dimension(:), allocatable wall_model::wall_model_t::ind_s
inherited

Definition at line 78 of file wall_model.f90.

◆ ind_t

integer, dimension(:), allocatable wall_model::wall_model_t::ind_t
inherited

Definition at line 80 of file wall_model.f90.

◆ kappa

real(kind=rp) spalding::spalding_t::kappa = 0.41_rp

Definition at line 55 of file spalding.f90.

◆ msk

integer, dimension(:), pointer wall_model::wall_model_t::msk => null()
inherited

Definition at line 60 of file wall_model.f90.

◆ n_nodes

integer wall_model::wall_model_t::n_nodes = 0
inherited

Definition at line 88 of file wall_model.f90.

◆ n_x

type(vector_t) wall_model::wall_model_t::n_x
inherited

Definition at line 70 of file wall_model.f90.

◆ n_y

type(vector_t) wall_model::wall_model_t::n_y
inherited

Definition at line 72 of file wall_model.f90.

◆ n_z

type(vector_t) wall_model::wall_model_t::n_z
inherited

Definition at line 74 of file wall_model.f90.

◆ nu

real(kind=rp) wall_model::wall_model_t::nu = 0_rp
inherited

Definition at line 90 of file wall_model.f90.

◆ tau_field

type(field_t), pointer wall_model::wall_model_t::tau_field => null()
inherited

Definition at line 92 of file wall_model.f90.

◆ tau_x

real(kind=rp), dimension(:), allocatable wall_model::wall_model_t::tau_x
inherited

Definition at line 64 of file wall_model.f90.

◆ tau_y

real(kind=rp), dimension(:), allocatable wall_model::wall_model_t::tau_y
inherited

Definition at line 66 of file wall_model.f90.

◆ tau_z

real(kind=rp), dimension(:), allocatable wall_model::wall_model_t::tau_z
inherited

Definition at line 68 of file wall_model.f90.


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