Neko  0.8.1
A portable framework for high-order spectral element flow simulations
bc::bc_t Type Reference

Base type for a boundary condition. More...

Inheritance diagram for bc::bc_t:
Collaboration diagram for bc::bc_t:

Public Member Functions

procedure, pass(this) init => bc_init
 Constructor. More...
 
procedure, pass(this) free => bc_free
 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...
 
procedure(bc_apply_scalar), deferred, pass apply_scalar
 Apply the boundary condition to a scalar field. More...
 
procedure(bc_apply_vector), deferred, pass apply_vector
 Apply the boundary condition to a vector field. More...
 
procedure(bc_apply_scalar_dev), deferred, pass apply_scalar_dev
 Device version of apply_scalar. More...
 
procedure(bc_apply_vector_dev), deferred, pass apply_vector_dev
 Device version of apply_vector. More...
 

Public Attributes

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_tmarked_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

Base type for a boundary condition.

Definition at line 51 of file bc.f90.

Member Function/Subroutine Documentation

◆ apply_scalar()

procedure(bc_apply_scalar), deferred, pass bc::bc_t::apply_scalar

Apply the boundary condition to a scalar field.

Definition at line 87 of file bc.f90.

◆ apply_scalar_dev()

procedure(bc_apply_scalar_dev), deferred, pass bc::bc_t::apply_scalar_dev

Device version of apply_scalar.

Definition at line 91 of file bc.f90.

◆ apply_vector()

procedure(bc_apply_vector), deferred, pass bc::bc_t::apply_vector

Apply the boundary condition to a vector field.

Definition at line 89 of file bc.f90.

◆ apply_vector_dev()

procedure(bc_apply_vector_dev), deferred, pass bc::bc_t::apply_vector_dev

Device version of apply_vector.

Definition at line 93 of file bc.f90.

◆ finalize()

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

Finalize the construction of the bc by populting the msk and facet arrays.

Definition at line 85 of file bc.f90.

◆ free()

procedure, pass(this) bc::bc_t::free

Destructor.

Definition at line 74 of file bc.f90.

◆ init()

procedure, pass(this) bc::bc_t::init

Constructor.

Definition at line 72 of file bc.f90.

◆ mark_facet()

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

Mark a facet on an element as part of the boundary condition.

Definition at line 76 of file bc.f90.

◆ mark_facets()

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

Mark all facets from a (facet, element) tuple list.

Definition at line 78 of file bc.f90.

◆ mark_zone()

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

Mark all facets from a zone.

Definition at line 82 of file bc.f90.

◆ mark_zones_from_list()

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

Mark all facets from a list of zones, also marks type of bc in the mesh.

Definition at line 80 of file bc.f90.

Member Data Documentation

◆ coef

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

SEM coefficients.

Definition at line 59 of file bc.f90.

◆ dof

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

Map of degrees of freedom.

Definition at line 57 of file bc.f90.

◆ facet

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

A list of facet ids (1 to 6), one for each element in msk.

Definition at line 55 of file bc.f90.

◆ facet_d

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

Device pointer for facet.

Definition at line 69 of file bc.f90.

◆ marked_facet

type(stack_i4t2_t) bc::bc_t::marked_facet

Index tuples (facet, element) marked as part of the boundary condition.

Definition at line 65 of file bc.f90.

◆ msh

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

The mesh.

Definition at line 61 of file bc.f90.

◆ msk

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

The linear index of each node in each boundary facet.

Definition at line 53 of file bc.f90.

◆ msk_d

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

Device pointer for msk.

Definition at line 67 of file bc.f90.

◆ xh

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

The function space.

Definition at line 63 of file bc.f90.


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