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

Generic Neumann boundary condition. This sets the flux of the field to the chosen value. More...

Inheritance diagram for neumann::neumann_t:
Collaboration diagram for neumann::neumann_t:

Public Member Functions

procedure, pass(this) apply_scalar => neumann_apply_scalar
 
procedure, pass(this) apply_vector => neumann_apply_vector
 
procedure, pass(this) apply_scalar_dev => neumann_apply_scalar_dev
 
procedure, pass(this) apply_vector_dev => neumann_apply_vector_dev
 
procedure, pass(this) init_neumann => neumann_init_neumann
 
procedure, pass(this) flux => neumann_flux
 
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...
 

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_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...
 

Private Attributes

real(kind=rp), private flux_
 

Detailed Description

Generic Neumann boundary condition. This sets the flux of the field to the chosen value.

Note
The condition is imposed weekly by adding an appropriate source term to the right-hand-side.

Definition at line 47 of file neumann.f90.

Member Function/Subroutine Documentation

◆ apply_scalar()

procedure, pass(this) neumann::neumann_t::apply_scalar

Definition at line 50 of file neumann.f90.

◆ apply_scalar_dev()

procedure, pass(this) neumann::neumann_t::apply_scalar_dev

Definition at line 52 of file neumann.f90.

◆ apply_vector()

procedure, pass(this) neumann::neumann_t::apply_vector

Definition at line 51 of file neumann.f90.

◆ apply_vector_dev()

procedure, pass(this) neumann::neumann_t::apply_vector_dev

Definition at line 53 of file neumann.f90.

◆ finalize()

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

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

Definition at line 85 of file bc.f90.

◆ flux()

procedure, pass(this) neumann::neumann_t::flux

Definition at line 55 of file neumann.f90.

◆ free()

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

Destructor.

Definition at line 74 of file bc.f90.

◆ init()

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

Constructor.

Definition at line 72 of file bc.f90.

◆ init_neumann()

procedure, pass(this) neumann::neumann_t::init_neumann

Definition at line 54 of file neumann.f90.

◆ mark_facet()

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

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
inherited

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
inherited

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
inherited

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
inherited

SEM coefficients.

Definition at line 59 of file bc.f90.

◆ dof

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

Map of degrees of freedom.

Definition at line 57 of file bc.f90.

◆ facet

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

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
inherited

Device pointer for facet.

Definition at line 69 of file bc.f90.

◆ flux_

real(kind=rp), private neumann::neumann_t::flux_
private

Definition at line 48 of file neumann.f90.

◆ marked_facet

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

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
inherited

The mesh.

Definition at line 61 of file bc.f90.

◆ msk

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

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
inherited

Device pointer for msk.

Definition at line 67 of file bc.f90.

◆ xh

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

The function space.

Definition at line 63 of file bc.f90.


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