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

Dirichlet condition in facet normal direction. More...

Inheritance diagram for facet_normal::facet_normal_t:
Collaboration diagram for facet_normal::facet_normal_t:

Public Member Functions

procedure, pass(thisapply_scalar (this, x, n, t, tstep)
 No-op scalar apply.
 
procedure, pass(thisapply_scalar_dev (this, x_d, t, tstep)
 No-op scalar apply on device.
 
procedure, pass(thisapply_vector (this, x, y, z, n, t, tstep)
 No-op vector apply.
 
procedure, pass(thisapply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 No-op vector apply on device.
 
procedure, pass(thisapply_surfvec (this, x, y, z, u, v, w, n, t, tstep)
 Apply in facet normal direction (vector valued)
 
procedure, pass(thisapply_surfvec_dev (this, x_d, y_d, z_d, u_d, v_d, w_d, t, tstep)
 Apply in facet normal direction (vector valued, device version)
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisinit_base (this, coef)
 Constructor.
 
procedure, pass(thisfree_base (this)
 Destructor.
 
procedure, pass(thismark_facet (this, facet, el)
 Mark a facet on an element as part of the boundary condition.
 
procedure, pass(thismark_facets (this, facet_list)
 Mark all facets from a (facet, element) tuple list.
 
procedure, pass(thismark_zones_from_list (this, bc_zones, bc_key, bc_labels)
 Mark all facets from a list of zones, also marks type of bc in the mesh.
 
procedure, pass(thismark_zone (this, bc_zone)
 Mark all facets from a zone.
 
procedure, pass(thisfinalize (this)
 Finalize the construction of the bc by populting the msk and facet arrays.
 
procedure(bc_apply_scalar), deferred, pass apply_scalar (this, x, n, t, tstep)
 Apply the boundary condition to a scalar field.
 
procedure(bc_apply_vector), deferred, pass apply_vector (this, x, y, z, n, t, tstep)
 Apply the boundary condition to a vector field.
 
procedure(bc_apply_scalar_dev), deferred, pass apply_scalar_dev (this, x_d, t, tstep)
 Device version of apply_scalar.
 
procedure(bc_apply_vector_dev), deferred, pass apply_vector_dev (this, x_d, y_d, z_d, t, tstep)
 Device version of apply_vector.
 
procedure(bc_destructor), deferred, pass free (this)
 Destructor.
 

Public Attributes

integer, dimension(:), allocatable msk
 The linear index of each node in each boundary facet.
 
integer, dimension(:), allocatable facet
 A list of facet ids (1 to 6), one for each element in msk.
 
type(dofmap_t), pointer dof
 Map of degrees of freedom.
 
type(coef_t), pointer coef
 SEM coefficients.
 
type(mesh_t), pointer msh
 The mesh.
 
type(space_t), pointer xh
 The function space.
 
type(stack_i4t2_t) marked_facet
 Index tuples (facet, element) marked as part of the boundary condition.
 
type(c_ptr) msk_d = C_NULL_PTR
 Device pointer for msk.
 
type(c_ptr) facet_d = C_NULL_PTR
 Device pointer for facet.
 

Detailed Description

Definition at line 46 of file facet_normal.f90.

Member Function/Subroutine Documentation

◆ apply_scalar() [1/2]

procedure(bc_apply_scalar), deferred, pass bc::bc_t::apply_scalar ( class(bc_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 
)
pure virtualinherited

Definition at line 87 of file bc.f90.

◆ apply_scalar() [2/2]

procedure, pass(this) facet_normal::facet_normal_t::apply_scalar ( class(facet_normal_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 48 of file facet_normal.f90.

◆ apply_scalar_dev() [1/2]

procedure(bc_apply_scalar_dev), deferred, pass bc::bc_t::apply_scalar_dev ( class(bc_t), intent(inout), target  this,
type(c_ptr)  x_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)
pure virtualinherited

Definition at line 91 of file bc.f90.

◆ apply_scalar_dev() [2/2]

procedure, pass(this) facet_normal::facet_normal_t::apply_scalar_dev ( class(facet_normal_t), intent(inout), target  this,
type(c_ptr)  x_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)

Definition at line 49 of file facet_normal.f90.

◆ apply_surfvec()

procedure, pass(this) facet_normal::facet_normal_t::apply_surfvec ( class(facet_normal_t), intent(in 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,
real(kind=rp), dimension(n), intent(inout u,
real(kind=rp), dimension(n), intent(inout v,
real(kind=rp), dimension(n), intent(inout w,
integer, intent(in n,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)

Definition at line 52 of file facet_normal.f90.

◆ apply_surfvec_dev()

procedure, pass(this) facet_normal::facet_normal_t::apply_surfvec_dev ( class(facet_normal_t), intent(in), target  this,
type(c_ptr)  x_d,
type(c_ptr)  y_d,
type(c_ptr)  z_d,
type(c_ptr)  u_d,
type(c_ptr)  v_d,
type(c_ptr)  w_d,
real(kind=rp), intent(in), optional  t,
integer, intent(in), optional  tstep 
)

Definition at line 53 of file facet_normal.f90.

◆ apply_vector() [1/2]

procedure(bc_apply_vector), deferred, pass bc::bc_t::apply_vector ( class(bc_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 
)
pure virtualinherited

Definition at line 89 of file bc.f90.

◆ apply_vector() [2/2]

procedure, pass(this) facet_normal::facet_normal_t::apply_vector ( class(facet_normal_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 
)

Definition at line 50 of file facet_normal.f90.

◆ apply_vector_dev() [1/2]

procedure(bc_apply_vector_dev), deferred, pass bc::bc_t::apply_vector_dev ( class(bc_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 
)
pure virtualinherited

Definition at line 93 of file bc.f90.

◆ apply_vector_dev() [2/2]

procedure, pass(this) facet_normal::facet_normal_t::apply_vector_dev ( class(facet_normal_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 
)

Definition at line 51 of file facet_normal.f90.

◆ finalize()

procedure, pass(this) bc::bc_t::finalize ( class(bc_t), intent(inout), target  this)
inherited

This will linearize the marked facet's indicies in the msk array.

Definition at line 85 of file bc.f90.

◆ free() [1/2]

procedure(bc_destructor), deferred, pass bc::bc_t::free ( class(bc_t), intent(inout), target  this)
pure virtualinherited

Definition at line 95 of file bc.f90.

◆ free() [2/2]

procedure, pass(this) facet_normal::facet_normal_t::free ( class(facet_normal_t), intent(inout), target  this)

Definition at line 55 of file facet_normal.f90.

◆ free_base()

procedure, pass(this) bc::bc_t::free_base ( class(bc_t), intent(inout this)
inherited

Definition at line 74 of file bc.f90.

◆ init_base()

procedure, pass(this) bc::bc_t::init_base ( class(bc_t), intent(inout this,
type(coef_t), intent(in), target  coef 
)
inherited
Parameters
dofMap of degrees of freedom.

Definition at line 72 of file bc.f90.

◆ mark_facet()

procedure, pass(this) bc::bc_t::mark_facet ( class(bc_t), intent(inout this,
integer, intent(in facet,
integer, intent(in el 
)
inherited
Parameters
facetThe index of the facet.
elThe index of the element.

Definition at line 76 of file bc.f90.

◆ mark_facets()

procedure, pass(this) bc::bc_t::mark_facets ( class(bc_t), intent(inout this,
type(stack_i4t2_t), intent(inout facet_list 
)
inherited
Parameters
facet_listThe list of tuples.

Definition at line 78 of file bc.f90.

◆ mark_zone()

procedure, pass(this) bc::bc_t::mark_zone ( class(bc_t), intent(inout this,
class(facet_zone_t), intent(in bc_zone 
)
inherited
Parameters
bc_zoneBoundary zone to be marked.

Definition at line 82 of file bc.f90.

◆ mark_zones_from_list()

procedure, pass(this) bc::bc_t::mark_zones_from_list ( class(bc_t), intent(inout this,
class(facet_zone_t), dimension(:), intent(in bc_zones,
character(len=*)  bc_key,
character(len=neko_msh_max_zlbl_len), dimension(:)  bc_labels 
)
inherited
Parameters
bc_zoneArray of boundary zones.
bc_keyBoundary condition label, e.g. 'w' for wall.
bc_labelList of boundary condition labels.

Definition at line 80 of file bc.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.

◆ 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: