Neko  0.8.99
A portable framework for high-order spectral element flow simulations
shear_stress Module Reference

Defines a shear stress boundary condition for a vector field.

Data Types

type  shear_stress_t
 A shear stress boundary condition. More...
 

Functions/Subroutines

subroutine shear_stress_apply_scalar (this, x, n, t, tstep)
 Apply shear stress for a scalar field x. More...
 
subroutine shear_stress_apply_vector (this, x, y, z, n, t, tstep)
 Boundary condition apply for a generic shear_stress condition to vectors x, y and z. More...
 
subroutine shear_stress_apply_scalar_dev (this, x_d, t, tstep)
 Boundary condition apply for a generic shear_stress condition to a vector x (device version) More...
 
subroutine shear_stress_apply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 Boundary condition apply for a generic shear_stress condition to vectors x, y and z (device version) More...
 
subroutine shear_stress_init_shear_stress (this, coef)
 Constructor. More...
 
subroutine shear_stress_finalize (this, tau1, tau2)
 Finalize by allocating the stress arrays and marking the facets for the bc components. More...
 
pure real(kind=rp) function, dimension(this%msk(0)) shear_stress_tau1 (this)
 Get the stress in the 1st wall-parallel direction. More...
 
pure real(kind=rp) function, dimension(this%msk(0)) shear_stress_tau2 (this)
 Get the stress in the 2nd wall-parallel direction. More...
 
subroutine shear_stress_set_stress (this, tau1, tau2)
 Set the shear stress components. More...
 
subroutine shear_stress_free (this)
 Destructor. More...
 

Function/Subroutine Documentation

◆ shear_stress_apply_scalar()

subroutine shear_stress::shear_stress_apply_scalar ( class(shear_stress_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  x,
integer, intent(in)  n,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)

Definition at line 78 of file shear_stress.f90.

◆ shear_stress_apply_scalar_dev()

subroutine shear_stress::shear_stress_apply_scalar_dev ( class(shear_stress_t), intent(inout), target  this,
type(c_ptr)  x_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)
private

Definition at line 111 of file shear_stress.f90.

◆ shear_stress_apply_vector()

subroutine shear_stress::shear_stress_apply_vector ( class(shear_stress_t), intent(inout)  this,
real(kind=rp), dimension(n), intent(inout)  x,
real(kind=rp), dimension(n), intent(inout)  y,
real(kind=rp), dimension(n), intent(inout)  z,
integer, intent(in)  n,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)
private

Definition at line 94 of file shear_stress.f90.

◆ shear_stress_apply_vector_dev()

subroutine shear_stress::shear_stress_apply_vector_dev ( class(shear_stress_t), intent(inout), target  this,
type(c_ptr)  x_d,
type(c_ptr)  y_d,
type(c_ptr)  z_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)
private

Definition at line 123 of file shear_stress.f90.

◆ shear_stress_finalize()

subroutine shear_stress::shear_stress_finalize ( class(shear_stress_t), intent(inout)  this,
real(kind=rp), intent(in)  tau1,
real(kind=rp), intent(in)  tau2 
)
private

Definition at line 156 of file shear_stress.f90.

◆ shear_stress_free()

subroutine shear_stress::shear_stress_free ( class(shear_stress_t), intent(inout), target  this)
private

Definition at line 199 of file shear_stress.f90.

◆ shear_stress_init_shear_stress()

subroutine shear_stress::shear_stress_init_shear_stress ( class(shear_stress_t), intent(inout)  this,
type(coef_t), intent(in), target  coef 
)
private
Parameters
tau1The desired stress in the 1st wall-parallel direction.
tau2The desired stress in the 2nd wall-parallel direction.
coefThe SEM coefficients.

Definition at line 139 of file shear_stress.f90.

◆ shear_stress_set_stress()

subroutine shear_stress::shear_stress_set_stress ( class(shear_stress_t), intent(inout)  this,
real(kind=rp), dimension(this%msk(0)), intent(in)  tau1,
real(kind=rp), dimension(this%msk(0)), intent(in)  tau2 
)
private

Definition at line 188 of file shear_stress.f90.

Here is the call graph for this function:

◆ shear_stress_tau1()

pure real(kind=rp) function, dimension(this%msk(0)) shear_stress::shear_stress_tau1 ( class(shear_stress_t), intent(in)  this)
private

Definition at line 172 of file shear_stress.f90.

◆ shear_stress_tau2()

pure real(kind=rp) function, dimension(this%msk(0)) shear_stress::shear_stress_tau2 ( class(shear_stress_t), intent(in)  this)
private

Definition at line 180 of file shear_stress.f90.