LifeV
ReferenceFEHybrid Class Reference

#include <ReferenceFEHybrid.hpp>

+ Inheritance diagram for ReferenceFEHybrid:
+ Collaboration diagram for ReferenceFEHybrid:

Public Types

typedef ReferenceFE::function_Type function_Type
 
- Public Types inherited from ReferenceFE
typedef ReferenceElement::function_Type function_Type
 
- Public Types inherited from ReferenceElement
typedef Real(* function_Type) (const GeoVector &)
 

Private Member Functions

 ReferenceFEHybrid ()
 No empty constructor. More...
 
 ReferenceFEHybrid (const ReferenceFEHybrid &)
 No copy constructor. More...
 

Private Attributes

const UInt M_numberBoundaryFE
 Number of boundary elements to be stored. More...
 
const CurrentFEManifold ** M_boundaryFEList
 

Constructor & Destructor

 ReferenceFEHybrid (std::string name, FE_TYPE type, ReferenceShapes shape, UInt nbDofPerVertex, UInt nbDofPerEdge, UInt nbDofPerFace, UInt nbDofPerVolume, UInt nbDof, UInt nbLocalCoor, const UInt &numberBoundaryFE, const CurrentFEManifold **boundaryFEList, const Real *refCoor, DofPatternType patternType=STANDARD_PATTERN)
 
 ~ReferenceFEHybrid ()
 Destructor. More...
 

Operators

const CurrentFEManifoldoperator[] (const ID &i) const
 Extracting a CurrentFEManifold from the faces list. More...
 

Get Methods

const UIntnumberBoundaryFE () const
 Return the number of boundary elements of the reference element. More...
 

Additional Inherited Members

- Public Member Functions inherited from ReferenceFE
 ReferenceFE (std::string name, FE_TYPE type, ReferenceShapes shape, Int nbDofPerVertex, Int nbDofPerEdge, Int nbDofPerFace, Int nbDofPerVolume, Int nbDof, Int nbLocalCoor, Int FEDim, const function_Type *phi, const function_Type *dPhi, const function_Type *d2Phi, const function_Type *divPhi, const Real *refCoor, DofPatternType patternType, const ReferenceFE *bdRefFE)
 Constructor of a reference Lagrangian finite element. More...
 
virtual ~ReferenceFE ()
 Destructor. More...
 
bool hasBoundaryFE () const
 Check if the reference element has boundary elements. More...
 
const ReferenceFEboundaryFE () const
 Getter for the boundary finite element. More...
 
const FE_TYPEtype () const
 Getter for the type of the finite element. More...
 
- Public Member Functions inherited from ReferenceElement
 ReferenceElement (std::string name, ReferenceShapes shape, UInt nbDof, UInt nbLocalCoor, UInt feDim, const function_Type *phi, const function_Type *dPhi, const function_Type *d2Phi, const function_Type *divPhi, const Real *refCoor)
 Full constructor. More...
 
virtual ~ReferenceElement ()
 Destructor. More...
 
Real xi (UInt i) const
 return the first local coordinate of the i-th node of the reference element More...
 
Real eta (UInt i) const
 return the second local coordinate of the i-th node of the reference element More...
 
Real zeta (UInt i) const
 return the third local coordinate of the i-th node of the reference element More...
 
Real refCoor (UInt i, UInt icoor) const
 return the icoor-th local coordinate of the i-th node of the reference element More...
 
std::vector< GeoVectorrefCoor () const
 return the coordinates of the reference element More...
 
Real phi (UInt i, const GeoVector &v) const
 Return the value of the i-th basis function in the point v. More...
 
Real phi (UInt i, UInt icoor, const GeoVector &v) const
 return the value of the component icoor-th of the i-th basis function on point v. More...
 
Real dPhi (UInt i, UInt icoor, const GeoVector &v) const
 return the value of the icoor-th derivative of the i-th basis function on point v More...
 
Real d2Phi (UInt i, UInt icoor, UInt jcoor, const GeoVector &v) const
 return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point v More...
 
Real divPhi (UInt i, const GeoVector &v) const
 return the value of the divergence of the i-th basis function on point v. More...
 
bool hasPhi () const
 Check if the refEle has phi functions. More...
 
bool hasDPhi () const
 Check if the refEle has dPhi functions. More...
 
bool hasD2Phi () const
 Check if the refEle has d2Phi functions. More...
 
bool hasDivPhi () const
 Check if the refEle has divPhi functions. More...
 
virtual std::vector< RealnodalToFEValues (const std::vector< Real > &) const
 Method for transforming nodal values into FE values. More...
 
const std::string & name () const
 Return the name of the reference element. More...
 
const UIntnbDof () const
 Return the number of degrees of freedom for this reference element. More...
 
const LIFEV_DEPRECATED (UInt &) nbCoor() const
 OLD: Return the number of local coordinates. More...
 
const UIntnbLocalCoor () const
 Return the number of local coordinates. More...
 
const UIntfeDim () const
 Return the dimension of the FE (scalar vs vectorial FE) More...
 
const ReferenceShapesshape () const
 Return the shape of the element. More...
 
Real phi (UInt i, const Real &x, const Real &y, const Real &z) const
 return the value of the i-th basis function on point (x,y,z) More...
 
Real phi (UInt i, UInt icoor, const Real &x, const Real &y, const Real &z) const
 return the value of the component icoor-th of the i-th basis function on point (x,y,z). More...
 
Real dPhi (UInt i, UInt icoor, const Real &x, const Real &y, const Real &z) const
 return the value of the icoor-th derivative of the i-th basis function on point (x,y,z) More...
 
Real d2Phi (UInt i, UInt icoor, UInt jcoor, const Real &x, const Real &y, const Real &z) const
 return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point (x,y,z) More...
 
Real divPhi (UInt i, const Real &x, const Real &y, const Real &z) const
 return the value of the divergence of the i-th basis function on point (x,y,z). More...
 
- Public Member Functions inherited from DOFLocalPattern
 DOFLocalPattern (const UInt &nbLocalDof, const UInt &nbDofPerVertex, const UInt &nbDofPerEdge, const UInt &nbDofPerFace, const UInt &nbDofPerVolume, const DofPatternType &patternType, UInt nbLocalCoor)
 Full constructor. More...
 
 DOFLocalPattern (const DOFLocalPattern &localDofPattern)
 Simple copy constructor. More...
 
virtual ~DOFLocalPattern ()
 Empty destructor. More...
 
const UIntpatternFirst (const UInt &i) const
 patternFirst(i): row index in the element matrix of the i-th term of the pattern (the index starts from 0, not from 1 !). More...
 
const UIntpatternSecond (const UInt &i) const
 patternSecond(i): column index in the element matrix of the i-th term of the pattern (the index starts from 0, not from 1 !). More...
 
void showMe (std::ostream &output=std::cout) const
 The showMe method for the pattern. More...
 
const UIntnbPattern () const
 Number of non-zero terms in the element matrix. More...
 
const UIntnbDiag () const
 Number of diagonal terms in the element matrix. More...
 
const UIntnbUpper () const
 Number of upper terms in the element matrix. More...
 
const UIntnbLocalDof () const
 Return the number of local degrees of freedom. More...
 
const UIntnbDofPerVertex () const
 Return the number of degrees of freedom located on the vertices (0D structures) More...
 
const UIntnbDofPerEdge () const
 Return the number of degrees of freedom located on the edges (1D structures) More...
 
UInt nbDofPerPeak () const
 Return the number of degrees of freedom located on the peak (vertex in 3D). More...
 
UInt nbDofPerRidge () const
 Return the number of degrees of freedom located on the ridge. (edge in 3D) More...
 
UInt nbDofPerFacet () const
 Return the number of degrees of freedom located on the facet. (face in 3D) More...
 
const UIntnbDofPerElement () const
 Return the number of degrees of freedom located on the element. (volume in 3D) More...
 
const UIntnbDofPerFace () const
 Return the number of degrees of freedom located on the faces (2D structures). More...
 
const UIntnbDofPerVolume () const
 Return the number of degrees of freedom located in the volume (3D structures). More...
 
const UIntnbDofPerDimStrut (const UInt &structDim) const
 Return the number of degrees of freedom located per structDim object. More...
 
const UIntnbDofPerCodimStrut (const UInt &structCodim) const
 Return the number of degrees of freedom located per structCodim object. More...
 

Detailed Description

Definition at line 110 of file ReferenceFEHybrid.hpp.

Member Typedef Documentation

◆ function_Type

Constructor & Destructor Documentation

◆ ReferenceFEHybrid() [1/3]

ReferenceFEHybrid ( std::string  name,
FE_TYPE  type,
ReferenceShapes  shape,
UInt  nbDofPerVertex,
UInt  nbDofPerEdge,
UInt  nbDofPerFace,
UInt  nbDofPerVolume,
UInt  nbDof,
UInt  nbLocalCoor,
const UInt numberBoundaryFE,
const CurrentFEManifold **  boundaryFEList,
const Real refCoor,
DofPatternType  patternType = STANDARD_PATTERN 
)

Constructor of a reference hybrid finite element. The arguments are:

Parameters
nameName of the finite element
typeType of the finite element (FE_P1_2D,... see the #define at the begining of refFE.h)
shapeGeometry belongs to enum ReferenceShapes {NONE, POINT, LINE, TRIANGLE, QUAD, HEXA, PRISM, TETRA}; (see ElementShapes.h)
nbDofPerVertexNumber of degrees of freedom per vertex
nbDofPerEdgeNumber of degrees of freedom per edge
nbDofPerFaceNumber of degrees of freedom per face
nbDofPerVolumeNumber of degrees of freedom per volume
nbDofTotal number of degrees of freedom ( = nbDofPerVertex * nb vertex + nbDofPerEdge * nb edges + etc...)
nbLocalCoorNumber of local coordinates
refCoorStatic array containing the coordinates of the nodes on the reference element
numBoundaryFENumber of static boundary elements
boundaryFEListList of static boundary elements
refCoorStatic array containing the coordinates of the nodes on the reference element (defined in refEle.h)
patternTypeIn most of cases is STANDARD_PATTERN, except for elements like P1isoP2 (to define a new pattern, add a new #define in refFE.h and code it in refFE.cc following the example of P1ISOP2_TRIA_PATTERN)

Definition at line 49 of file ReferenceFEHybrid.cpp.

◆ ~ReferenceFEHybrid()

Destructor.

Definition at line 60 of file ReferenceFEHybrid.cpp.

◆ ReferenceFEHybrid() [2/3]

ReferenceFEHybrid ( )
private

No empty constructor.

◆ ReferenceFEHybrid() [3/3]

ReferenceFEHybrid ( const ReferenceFEHybrid )
private

No copy constructor.

Member Function Documentation

◆ operator[]()

const CurrentFEManifold& operator[] ( const ID i) const
inline

Extracting a CurrentFEManifold from the faces list.

Definition at line 164 of file ReferenceFEHybrid.hpp.

+ Here is the caller graph for this function:

◆ numberBoundaryFE()

const UInt& numberBoundaryFE ( ) const
inline

Return the number of boundary elements of the reference element.

Definition at line 177 of file ReferenceFEHybrid.hpp.

+ Here is the caller graph for this function:

Field Documentation

◆ M_numberBoundaryFE

const UInt M_numberBoundaryFE
private

Number of boundary elements to be stored.

Definition at line 194 of file ReferenceFEHybrid.hpp.

◆ M_boundaryFEList

const CurrentFEManifold** M_boundaryFEList
private

List holding the stored boundary elements that live on the boundary faces (3D), or edges (2D), of the RefHybridFE element. The boundary elements of a reference element are not in general reference elements themselves, that is why we use here the CurrentFEManifold rather that ReferenceFE.

Definition at line 200 of file ReferenceFEHybrid.hpp.


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