Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
bitpit::ReferenceElementInfo Class Referenceabstract

The ReferenceElementInfo class allows to define information about reference elements. More...

Inheritance diagram for bitpit::ReferenceElementInfo:
Inheritance graph
[legend]

Public Member Functions

virtual double evalPointDistance (const std::array< double, 3 > &point, const std::array< double, 3 > *vertexCoords) const =0
 
virtual void evalPointProjection (const std::array< double, 3 > &point, const std::array< double, 3 > *vertexCoords, std::array< double, 3 > *projection, double *distance) const =0
 
virtual double evalSize (const std::array< double, 3 > *vertexCoords) const =0
 

Static Public Member Functions

static BITPIT_PUBLIC_API const ReferenceElementInfogetInfo (ElementType type)
 
static bool hasInfo (ElementType type)
 

Public Attributes

int dimension
 
std::array< std::array< int, MAX_ELEM_VERTICES >, MAX_ELEM_EDGES > edgeConnectStorage
 
std::array< ElementType, MAX_ELEM_EDGES > edgeTypeStorage
 
std::array< std::array< int, MAX_ELEM_VERTICES >, MAX_ELEM_FACES > faceConnectStorage
 
std::array< std::array< int, MAX_ELEM_FACES >, MAX_ELEM_FACES > faceEdgeStorage
 
std::array< ElementType, MAX_ELEM_FACES > faceTypeStorage
 
int nEdges
 
int nFaces
 
int nVertices
 
ElementType type
 

Static Public Attributes

static BITPIT_PUBLIC_API const int MAX_ELEM_EDGES = 12
 
static BITPIT_PUBLIC_API const int MAX_ELEM_FACES = 6
 
static BITPIT_PUBLIC_API const int MAX_ELEM_VERTICES = 8
 

Protected Member Functions

 ReferenceElementInfo (int _dimension, ElementType _type, int _nVertices, int _nFaces, int _nEdges)
 
 ReferenceElementInfo (ReferenceElementInfo const &)=delete
 
void initializeFaceEdges (const std::vector< const ReferenceElementInfo * > &facesInfo, const std::vector< const ReferenceElementInfo * > &edgesInfo)
 
ReferenceElementInfooperator= (ReferenceElementInfo const &)=delete
 

Detailed Description

The ReferenceElementInfo class allows to define information about reference elements.

The local numbering scheme of element vertices is shown below.

Definition at line 37 of file element_reference.hpp.

Constructor & Destructor Documentation

◆ ReferenceElementInfo()

bitpit::ReferenceElementInfo::ReferenceElementInfo ( int _dimension,
ElementType _type,
int _nVertices,
int _nFaces,
int _nEdges )
protected

Constructor

Parameters
_dimensionis the space dimension of the element
_typeis the type of element
_nVerticesis the number of vertices
_nFacesis the number of faces
_nEdgesis the number of edges

Definition at line 56 of file element_reference.cpp.

Member Function Documentation

◆ evalPointDistance()

virtual double bitpit::ReferenceElementInfo::evalPointDistance ( const std::array< double, 3 > & point,
const std::array< double, 3 > * vertexCoords ) const
pure virtual

◆ evalPointProjection()

virtual void bitpit::ReferenceElementInfo::evalPointProjection ( const std::array< double, 3 > & point,
const std::array< double, 3 > * vertexCoords,
std::array< double, 3 > * projection,
double * distance ) const
pure virtual

◆ evalSize()

virtual double bitpit::ReferenceElementInfo::evalSize ( const std::array< double, 3 > * vertexCoords) const
pure virtual

◆ getInfo()

const ReferenceElementInfo & bitpit::ReferenceElementInfo::getInfo ( ElementType type)
static

Gets the information for the specified element type.

Parameters
typeis the type of element
Returns
The information for the specified element type.

Definition at line 108 of file element_reference.cpp.

◆ hasInfo()

bool bitpit::ReferenceElementInfo::hasInfo ( ElementType type)
static

Check if the sepcified element type is associated to a reference element.

Parameters
typeis the type of element
Returns
Return tru if the sepcified element type is associated to a reference element, false otherwis.

Definition at line 79 of file element_reference.cpp.

◆ initializeFaceEdges()

void bitpit::ReferenceElementInfo::initializeFaceEdges ( const std::vector< const ReferenceElementInfo * > & facesInfo,
const std::vector< const ReferenceElementInfo * > & edgesInfo )
protected

Initializes the list of edges associated to the faces

Definition at line 152 of file element_reference.cpp.

Member Data Documentation

◆ dimension

int bitpit::ReferenceElementInfo::dimension

Definition at line 47 of file element_reference.hpp.

◆ edgeConnectStorage

std::array<std::array<int, MAX_ELEM_VERTICES>, MAX_ELEM_EDGES> bitpit::ReferenceElementInfo::edgeConnectStorage

Definition at line 59 of file element_reference.hpp.

◆ edgeTypeStorage

std::array<ElementType, MAX_ELEM_EDGES> bitpit::ReferenceElementInfo::edgeTypeStorage

Definition at line 58 of file element_reference.hpp.

◆ faceConnectStorage

std::array<std::array<int, MAX_ELEM_VERTICES>, MAX_ELEM_FACES> bitpit::ReferenceElementInfo::faceConnectStorage

Definition at line 55 of file element_reference.hpp.

◆ faceEdgeStorage

std::array<std::array<int, MAX_ELEM_FACES>, MAX_ELEM_FACES> bitpit::ReferenceElementInfo::faceEdgeStorage

Definition at line 56 of file element_reference.hpp.

◆ faceTypeStorage

std::array<ElementType, MAX_ELEM_FACES> bitpit::ReferenceElementInfo::faceTypeStorage

Definition at line 54 of file element_reference.hpp.

◆ MAX_ELEM_EDGES

BITPIT_PUBLIC_API const int bitpit::ReferenceElementInfo::MAX_ELEM_EDGES = 12
static

Definition at line 42 of file element_reference.hpp.

◆ MAX_ELEM_FACES

BITPIT_PUBLIC_API const int bitpit::ReferenceElementInfo::MAX_ELEM_FACES = 6
static

Definition at line 41 of file element_reference.hpp.

◆ MAX_ELEM_VERTICES

BITPIT_PUBLIC_API const int bitpit::ReferenceElementInfo::MAX_ELEM_VERTICES = 8
static

Definition at line 40 of file element_reference.hpp.

◆ nEdges

int bitpit::ReferenceElementInfo::nEdges

Definition at line 52 of file element_reference.hpp.

◆ nFaces

int bitpit::ReferenceElementInfo::nFaces

Definition at line 51 of file element_reference.hpp.

◆ nVertices

int bitpit::ReferenceElementInfo::nVertices

Definition at line 50 of file element_reference.hpp.

◆ type

ElementType bitpit::ReferenceElementInfo::type

Definition at line 48 of file element_reference.hpp.


The documentation for this class was generated from the following files:
--- layout: doxygen_footer ---