waves
Basic FE playground
katoptron::NeumannList< scalar > Class Template Reference

Class which is used to store the list of the Neumann boundary conditions (BC). More...

#include <NeumannList.h>

Public Member Functions

 NeumannList (Problem &pbl, Teuchos::RCP< Map > map, Teuchos::RCP< ElementsList > elementsList)
 NeumannList constructor. More...
 
local_ordinal_type getNeumannNumber ()
 Return the number of Neumann BC. More...
 
local_ordinal_type getNeumannSize (local_ordinal_type i)
 Return the number of elements for a given Neumann BC. More...
 
local_ordinal_type getNeumannElement (local_ordinal_type i, local_ordinal_type e1)
 Return the local ID of the element e1 of a given BC. More...
 
scalar getNeumannDof (local_ordinal_type i, local_ordinal_type j)
 Return whether there is a surface load for the given BC for a given DOF index. More...
 
scalar getNeumannValue (local_ordinal_type i, local_ordinal_type j)
 Return the value of the surface load for the given BC for a given DOF index. More...
 

Private Types

typedef Map::local_ordinal_type local_ordinal_type
 
typedef Map::global_ordinal_type global_ordinal_type
 

Private Attributes

Kokkos::View< int **, Kokkos::LayoutRight > neumann_elementsList
 
Kokkos::View< scalar ***, Kokkos::LayoutRight > neumann_values_list
 
local_ordinal_type neumann_number
 
local_ordinal_type neumann_size
 
local_ordinal_type neumann_elements
 
local_ordinal_type neumann_time
 
local_ordinal_type neumann_dofs
 
local_ordinal_type neumann_values
 

Detailed Description

template<typename scalar>
class katoptron::NeumannList< scalar >

Class which is used to store the list of the Neumann boundary conditions (BC).

Member Typedef Documentation

◆ global_ordinal_type

template<typename scalar >
typedef Map::global_ordinal_type katoptron::NeumannList< scalar >::global_ordinal_type
private

◆ local_ordinal_type

template<typename scalar >
typedef Map::local_ordinal_type katoptron::NeumannList< scalar >::local_ordinal_type
private

Constructor & Destructor Documentation

◆ NeumannList()

template<typename scalar >
katoptron::NeumannList< scalar >::NeumannList ( Problem pbl,
Teuchos::RCP< Map map,
Teuchos::RCP< ElementsList elementsList 
)

NeumannList constructor.

This constructor allocates 2 Kokkos::View which store all the required information related to each Neumann BC, including:

Arguments:

  • pbl: a Problem object,
  • map: an RCP to a Map object,
  • elementsList: an RCP to an ElementList object.

Member Function Documentation

◆ getNeumannDof()

template<typename scalar >
scalar katoptron::NeumannList< scalar >::getNeumannDof ( local_ordinal_type  i,
local_ordinal_type  j 
)
inline

Return whether there is a surface load for the given BC for a given DOF index.

Arguments:

  • i: the BC ID,
  • j: the index of the DOF (0-3 if thermomechanical problems).

◆ getNeumannElement()

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::getNeumannElement ( local_ordinal_type  i,
local_ordinal_type  e1 
)
inline

Return the local ID of the element e1 of a given BC.

Arguments:

  • i: the BC ID,
  • e1: the ID of the element on the current BC.

◆ getNeumannNumber()

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::getNeumannNumber ( )
inline

Return the number of Neumann BC.

◆ getNeumannSize()

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::getNeumannSize ( local_ordinal_type  i)
inline

Return the number of elements for a given Neumann BC.

Argument:

  • i: the BC ID.

◆ getNeumannValue()

template<typename scalar >
scalar katoptron::NeumannList< scalar >::getNeumannValue ( local_ordinal_type  i,
local_ordinal_type  j 
)
inline

Return the value of the surface load for the given BC for a given DOF index.

Arguments:

  • i: the BC ID,
  • j: the index of the DOF (0-3 if thermomechanical problems).

Member Data Documentation

◆ neumann_dofs

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_dofs
private

◆ neumann_elements

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_elements
private

◆ neumann_elementsList

template<typename scalar >
Kokkos::View<int **, Kokkos::LayoutRight> katoptron::NeumannList< scalar >::neumann_elementsList
private

◆ neumann_number

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_number
private

◆ neumann_size

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_size
private

◆ neumann_time

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_time
private

◆ neumann_values

template<typename scalar >
local_ordinal_type katoptron::NeumannList< scalar >::neumann_values
private

◆ neumann_values_list

template<typename scalar >
Kokkos::View<scalar ***, Kokkos::LayoutRight> katoptron::NeumannList< scalar >::neumann_values_list
private

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