CepsCellType
Enum for different shapes of cells.
Eigen::Matrix< CepsScalar, Eigen::Dynamic, 1 > CepsMathDynamic1D
Dynamic 1D array, eigen format.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
float CepsReal
Need single precision floating point.
CepsArray3< CepsReal > CepsReal3D
Three real scalars, used like this for compatibility in polynomials.
int32_t CepsInt
Need 32 bit integer.
Eigen::Matrix< CepsScalar, Eigen::Dynamic, Eigen::Dynamic > CepsMathDynamic2D
Dynamic 2D array, eigen format.
std::pair< CepsCellType, CepsUInt > CepsFeLagrangeType
Typedef for descriptor of Lagrange finite elements type.
Abstract class for geometrical cell. On top of index and attributes managament, the cell has informat...
Base class for nodes used in meshes.
Base class for reference finite elements.
CepsReal3D computeBasisFunctionDerivative(CepsUInt iPhi, const CepsReal3D &point)
Get values of single basis function derivative at given point.
CepsUInt m_order
Order of Lagrangian base polynomial.
CepsUInt getNumberOfBasisFunctions() const
Get number of basis functions.
CepsUInt getNumberOfDofs() const
Number of degrees of freedom.
CepsUInt m_nGeomVertices
Nb of geom vertices the elem is made of.
CepsUInt m_dim
Geometrical dimension.
CepsUInt getDimension() const
Get dimension of geom object.
CepsReal3D getTransformedBasisVertex(CepsUInt i, GeomCell *cell) const
Get vertex 'i' used to create basis functions and transform it on GeomCell.
CepsUInt getPolynomialOrder() const
Order.
CepsInt getBasisVertexGeomCellIndex(CepsUInt i) const
Returns the index in geom cell of a basis vertex. -1 if basis vertex does not match a geom vertex.
ReferenceFE & operator=(const ReferenceFE &that)=default
Copy assignement.
void buildBasisFunction()
Build all basis function and Vertex used.
CepsVector< CepsInt > m_geomCellIndex
CepsVector< Polynomial< 3U > > m_basisFunctions
List of basis functions.
CepsMathDynamic1D computeBasisFunctions(const CepsReal3D &point)
Get values of basis functions at given point.
CepsVector< CepsSet< CepsUInt > > m_ownerDeductionRule
Dirty: map that contains rules used to attribute ownership of nodes that do not coincide with geometr...
CepsUInt getNumberOfBasisVertices() const
Get number of vertices used to create basis functions.
CepsVector< CepsReal3D > m_vertices
List of vertex used to build basis functions.
ReferenceFE()=delete
Deleted default constructor.
CepsCellType getCellType() const
CellType.
CepsFeLagrangeType m_type
CepsFeLagrangeType.
const CepsVector< CepsReal3D > & getBasisVertices() const
Get vertices used to create basis functions.
~ReferenceFE()
Destructor.
CepsFeLagrangeType getFEType() const
The type of Lagragian Finite Element return. May change in the future ?
CepsUInt getNumberOfGeomVertices() const
Get number of vertices of the geometric cell the element is based on.
GeomNode * getNodeOfOwnerForBasisVertex(CepsUInt i, GeomCell *cell) const
Returns a node that determines ownership of a basis vertex, especially for those that do not match a ...
CepsReal computeBasisFunction(CepsUInt iPhi, const CepsReal3D &point)
Get values of single basis function at given point.
ReferenceFE(const ReferenceFE &that)=default
Copy constructor.
const CepsReal3D & getBasisVertex(CepsUInt i) const
Get vertex 'i' used to create basis functions.
CepsMathDynamic2D computeBasisFunctionDerivatives(const CepsReal3D &point)
Get values of basis function derivatives at given point.
CepsUInt m_nbDofs
Number of degrees of freedom.