Neko  0.9.0
A portable framework for high-order spectral element flow simulations
wall_model_bc::wall_model_bc_t Type Reference

A shear stress boundary condition, computing the stress values using a wall model. More...

Inheritance diagram for wall_model_bc::wall_model_bc_t:
Collaboration diagram for wall_model_bc::wall_model_bc_t:

Public Member Functions

procedure, pass(this) apply_scalar => wall_model_bc_apply_scalar
 
procedure, pass(this) apply_vector => wall_model_bc_apply_vector
 
procedure, pass(this) apply_scalar_dev => wall_model_bc_apply_scalar_dev
 
procedure, pass(this) apply_vector_dev => wall_model_bc_apply_vector_dev
 
procedure, pass(this) init_wall_model_bc => wall_model_bc_init_wall_model_bc
 
procedure, pass(this) init_shear_stress => shear_stress_init_shear_stress
 
procedure, pass(this) set_stress_scalar => shear_stress_set_stress_scalar
 
procedure, pass(this) set_stress_array => shear_stress_set_stress_array
 
generic set_stress => set_stress_scalar, set_stress_array
 
procedure, pass(this) free => shear_stress_free
 
procedure, pass(this) init_base => bc_init_base
 Constructor. More...
 
procedure, pass(this) free_base => bc_free_base
 Destructor. More...
 
procedure, pass(this) mark_facet => bc_mark_facet
 Mark a facet on an element as part of the boundary condition. More...
 
procedure, pass(this) mark_facets => bc_mark_facets
 Mark all facets from a (facet, element) tuple list. More...
 
procedure, pass(this) mark_zones_from_list => bc_mark_zones_from_list
 Mark all facets from a list of zones, also marks type of bc in the mesh. More...
 
procedure, pass(this) mark_zone => bc_mark_zone
 Mark all facets from a zone. More...
 
procedure, pass(this) finalize => bc_finalize
 Finalize the construction of the bc by populting the msk and facet arrays. More...
 

Public Attributes

class(wall_model_t), allocatable wall_model
 The wall model to compute the stress. More...
 
type(symmetry_t) symmetry
 
type(neumann_t) neumann_x
 Neumann condition for the x direction. More...
 
type(neumann_t) neumann_y
 Neumann condition for the y direction. More...
 
type(neumann_t) neumann_z
 Neumann condition for the z direction. More...
 
integer, dimension(:), allocatable msk
 The linear index of each node in each boundary facet. More...
 
integer, dimension(:), allocatable facet
 A list of facet ids (1 to 6), one for each element in msk. More...
 
type(dofmap_t), pointer dof
 Map of degrees of freedom. More...
 
type(coef_t), pointer coef
 SEM coefficients. More...
 
type(mesh_t), pointer msh
 The mesh. More...
 
type(space_t), pointer xh
 The function space. More...
 
type(stack_i4t2_t) marked_facet
 Index tuples (facet, element) marked as part of the boundary condition. More...
 
type(c_ptr) msk_d = C_NULL_PTR
 Device pointer for msk. More...
 
type(c_ptr) facet_d = C_NULL_PTR
 Device pointer for facet. More...
 

Detailed Description

Warning
Only works with axis-aligned boundaries.

Definition at line 52 of file wall_model_bc.f90.

Member Function/Subroutine Documentation

◆ apply_scalar()

procedure, pass(this) wall_model_bc::wall_model_bc_t::apply_scalar

Definition at line 56 of file wall_model_bc.f90.

◆ apply_scalar_dev()

procedure, pass(this) wall_model_bc::wall_model_bc_t::apply_scalar_dev

Definition at line 58 of file wall_model_bc.f90.

◆ apply_vector()

procedure, pass(this) wall_model_bc::wall_model_bc_t::apply_vector

Definition at line 57 of file wall_model_bc.f90.

◆ apply_vector_dev()

procedure, pass(this) wall_model_bc::wall_model_bc_t::apply_vector_dev

Definition at line 60 of file wall_model_bc.f90.

◆ finalize()

procedure, pass(this) bc::bc_t::finalize
inherited

Definition at line 85 of file bc.f90.

◆ free()

procedure, pass(this) shear_stress::shear_stress_t::free
inherited

Definition at line 72 of file shear_stress.f90.

◆ free_base()

procedure, pass(this) bc::bc_t::free_base
inherited

Definition at line 74 of file bc.f90.

◆ init_base()

procedure, pass(this) bc::bc_t::init_base
inherited

Definition at line 72 of file bc.f90.

◆ init_shear_stress()

procedure, pass(this) shear_stress::shear_stress_t::init_shear_stress
inherited

Definition at line 65 of file shear_stress.f90.

◆ init_wall_model_bc()

procedure, pass(this) wall_model_bc::wall_model_bc_t::init_wall_model_bc

Definition at line 62 of file wall_model_bc.f90.

◆ mark_facet()

procedure, pass(this) bc::bc_t::mark_facet
inherited

Definition at line 76 of file bc.f90.

◆ mark_facets()

procedure, pass(this) bc::bc_t::mark_facets
inherited

Definition at line 78 of file bc.f90.

◆ mark_zone()

procedure, pass(this) bc::bc_t::mark_zone
inherited

Definition at line 82 of file bc.f90.

◆ mark_zones_from_list()

procedure, pass(this) bc::bc_t::mark_zones_from_list
inherited

Definition at line 80 of file bc.f90.

◆ set_stress()

generic shear_stress::shear_stress_t::set_stress
inherited

Definition at line 71 of file shear_stress.f90.

◆ set_stress_array()

procedure, pass(this) shear_stress::shear_stress_t::set_stress_array
inherited

Definition at line 69 of file shear_stress.f90.

◆ set_stress_scalar()

procedure, pass(this) shear_stress::shear_stress_t::set_stress_scalar
inherited

Definition at line 67 of file shear_stress.f90.

Member Data Documentation

◆ coef

type(coef_t), pointer bc::bc_t::coef
inherited

Definition at line 59 of file bc.f90.

◆ dof

type(dofmap_t), pointer bc::bc_t::dof
inherited

Definition at line 57 of file bc.f90.

◆ facet

integer, dimension(:), allocatable bc::bc_t::facet
inherited

Definition at line 55 of file bc.f90.

◆ facet_d

type(c_ptr) bc::bc_t::facet_d = C_NULL_PTR
inherited

Definition at line 69 of file bc.f90.

◆ marked_facet

type(stack_i4t2_t) bc::bc_t::marked_facet
inherited

Definition at line 65 of file bc.f90.

◆ msh

type(mesh_t), pointer bc::bc_t::msh
inherited

Definition at line 61 of file bc.f90.

◆ msk

integer, dimension(:), allocatable bc::bc_t::msk
inherited

Definition at line 53 of file bc.f90.

◆ msk_d

type(c_ptr) bc::bc_t::msk_d = C_NULL_PTR
inherited

Definition at line 67 of file bc.f90.

◆ neumann_x

type(neumann_t) shear_stress::shear_stress_t::neumann_x
inherited

Definition at line 55 of file shear_stress.f90.

◆ neumann_y

type(neumann_t) shear_stress::shear_stress_t::neumann_y
inherited

Definition at line 57 of file shear_stress.f90.

◆ neumann_z

type(neumann_t) shear_stress::shear_stress_t::neumann_z
inherited

Definition at line 59 of file shear_stress.f90.

◆ symmetry

type(symmetry_t) shear_stress::shear_stress_t::symmetry
inherited

Definition at line 52 of file shear_stress.f90.

◆ wall_model

class(wall_model_t), allocatable wall_model_bc::wall_model_bc_t::wall_model

Definition at line 54 of file wall_model_bc.f90.

◆ xh

type(space_t), pointer bc::bc_t::xh
inherited

Definition at line 63 of file bc.f90.


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