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

A Neumann boundary condition for scalar fields. 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) finalize_neumann => neumann_finalize_neumann
 
procedure, pass(this) flux => neumann_flux
 Getter for the flux. More...
 
procedure, pass(this) set_flux_scalar => neumann_set_flux_scalar
 Set the flux using a scalar. More...
 
procedure, pass(this) set_flux_array => neumann_set_flux_array
 Set the flux using an array. More...
 
generic set_flux => set_flux_scalar, set_flux_array
 Generic interface for setting the flux. More...
 
procedure, pass(this) free => neumann_free
 Destructor. More...
 
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

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), dimension(:), allocatable, private flux_
 

Detailed Description

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

Definition at line 48 of file neumann.f90.

Member Function/Subroutine Documentation

◆ apply_scalar()

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

Definition at line 51 of file neumann.f90.

◆ apply_scalar_dev()

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

Definition at line 53 of file neumann.f90.

◆ apply_vector()

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

Definition at line 52 of file neumann.f90.

◆ apply_vector_dev()

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

Definition at line 54 of file neumann.f90.

◆ finalize()

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

Definition at line 85 of file bc.f90.

◆ finalize_neumann()

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

Definition at line 55 of file neumann.f90.

◆ flux()

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

Definition at line 57 of file neumann.f90.

◆ free()

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

Definition at line 65 of file neumann.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.

◆ 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_flux()

generic neumann::neumann_t::set_flux

Definition at line 63 of file neumann.f90.

◆ set_flux_array()

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

Definition at line 61 of file neumann.f90.

◆ set_flux_scalar()

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

Definition at line 59 of file neumann.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.

◆ flux_

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

Definition at line 49 of file neumann.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: