40 #define REFFESCALAR_H 1
43 #include <lifev/core/fem/ReferenceFE.hpp> 106 const function_Type* phi,
107 const function_Type* dPhi,
108 const function_Type* d2Phi,
112 const ValuesToValuesFunction_Type nodalToFE);
124 ASSERT ( nodalValues.size() == nbDof() ,
"Number of nodal values does not match with the number of degrees of freedom");
125 return M_nodalToFEValues (nodalValues);
ReferenceFEScalar(std::string name, FE_TYPE type, ReferenceShapes shape, Int nbDofPerVertex, Int nbDofPerEdge, Int nbDofPerFace, Int nbDofPerVolume, Int nbDof, Int nbLocalCoor, const function_Type *phi, const function_Type *dPhi, const function_Type *d2Phi, const Real *refCoor, DofPatternType patternType, const ReferenceFE *bdRefFE, const ValuesToValuesFunction_Type nodalToFE)
Constructor of a reference Lagrangian finite element.
const ReferenceFEScalar feHexaQ0("Lagrange Q0 on a hexaedra", FE_Q0_3D, HEXA, 0, 0, 0, 1, 1, 3, fct_Q0_3D, derfct_Q0_3D, der2fct_Q0_3D, refcoor_Q0_3D, STANDARD_PATTERN, &feQuadQ0, &lagrangianTransform)
const ReferenceFEScalar feSegP0("Lagrange P0 on a segment", FE_P0_1D, LINE, 0, 1, 0, 0, 1, 1, fct_P0_1D, derfct_P0_1D, der2fct_P0_1D, refcoor_P0_1D, STANDARD_PATTERN, &fePointP0, &lagrangianTransform)
const ReferenceFEScalar feTetraP2("Lagrange P2 on a tetraedra", FE_P2_3D, TETRA, 1, 1, 0, 0, 10, 3, fct_P2_3D, derfct_P2_3D, der2fct_P2_3D, refcoor_P2_3D, STANDARD_PATTERN, &feTriaP2, &lagrangianTransform)
const ReferenceFEScalar feTriaP1("Lagrange P1 on a triangle", FE_P1_2D, TRIANGLE, 1, 0, 0, 0, 3, 2, fct_P1_2D, derfct_P1_2D, der2fct_P1_2D, refcoor_P1_2D, STANDARD_PATTERN, &feSegP1, &lagrangianTransform)
DofPatternType
Local pattern type.
int32_type Int
Generic integer data.
void updateInverseJacobian(const UInt &iQuadPt)
std::vector< Real >(* ValuesToValuesFunction_Type)(const std::vector< Real > &)
const ReferenceFEScalar feTetraP0("Lagrange P0 on a tetraedra", FE_P0_3D, TETRA, 0, 0, 0, 1, 1, 3, fct_P0_3D, derfct_P0_3D, der2fct_P0_3D, refcoor_P0_3D, STANDARD_PATTERN, &feTriaP0, &lagrangianTransform)
std::vector< Real > nodalToFEValues(const std::vector< Real > &nodalValues) const
Method for transforming nodal values into FE values.
const ReferenceFEScalar feTriaP0("Lagrange P0 on a triangle", FE_P0_2D, TRIANGLE, 0, 0, 1, 0, 1, 2, fct_P0_2D, derfct_P0_2D, der2fct_P0_2D, refcoor_P0_2D, STANDARD_PATTERN, &feSegP0, &lagrangianTransform)
const ReferenceFEScalar feTetraP1bubble("Lagrange P1bubble on a tetraedra", FE_P1bubble_3D, TETRA, 1, 0, 0, 1, 5, 3, fct_P1bubble_3D, derfct_P1bubble_3D, der2fct_P1bubble_3D, refcoor_P1bubble_3D, STANDARD_PATTERN, &feTriaP1, &P1Bubble3DTransform)
const ReferenceFEScalar feSegP1("Lagrange P1 on a segment", FE_P1_1D, LINE, 1, 0, 0, 0, 2, 1, fct_P1_1D, derfct_P1_1D, der2fct_P1_1D, refcoor_P1_1D, STANDARD_PATTERN, &fePointP0, &lagrangianTransform)
const ReferenceFEScalar feSegP2("Lagrange P2 on a segment", FE_P2_1D, LINE, 1, 1, 0, 0, 3, 1, fct_P2_1D, derfct_P2_1D, der2fct_P2_1D, refcoor_P2_1D, STANDARD_PATTERN, &fePointP0, &lagrangianTransform)
const ReferenceFEScalar feTriaP2("Lagrange P2 on a triangle", FE_P2_2D, TRIANGLE, 1, 1, 0, 0, 6, 2, fct_P2_2D, derfct_P2_2D, der2fct_P2_2D, refcoor_P2_2D, STANDARD_PATTERN, &feSegP2, &lagrangianTransform)
const ValuesToValuesFunction_Type M_nodalToFEValues
double Real
Generic real data.
const ReferenceFEScalar feTetraP1("Lagrange P1 on a tetraedra", FE_P1_3D, TETRA, 1, 0, 0, 0, 4, 3, fct_P1_3D, derfct_P1_3D, der2fct_P1_3D, refcoor_P1_3D, STANDARD_PATTERN, &feTriaP1, &lagrangianTransform)
The class for a reference Lagrangian finite element.
const ReferenceFEScalar feQuadQ2("Lagrange Q2 on a quadrangle", FE_Q2_2D, QUAD, 1, 1, 1, 0, 9, 2, fct_Q2_2D, derfct_Q2_2D, der2fct_Q2_2D, refcoor_Q2_2D, STANDARD_PATTERN, &feSegP2, &lagrangianTransform)
const ReferenceFEScalar feQuadQ0("Lagrange Q0 on a quadrangle", FE_Q0_2D, QUAD, 0, 0, 1, 0, 1, 2, fct_Q0_2D, derfct_Q0_2D, der2fct_Q0_2D, refcoor_Q0_2D, STANDARD_PATTERN, &feSegP0, &lagrangianTransform)
const ReferenceFEScalar feHexaQ1("Lagrange Q1 on a hexaedra", FE_Q1_3D, HEXA, 1, 0, 0, 0, 8, 3, fct_Q1_3D, derfct_Q1_3D, der2fct_Q1_3D, refcoor_Q1_3D, STANDARD_PATTERN, &feQuadQ1, &lagrangianTransform)
const ReferenceFEScalar feTetraP2tilde("Lagrange P2tilde on a tetraedra", FE_P2tilde_3D, TETRA, 1, 1, 0, 1, 11, 3, fct_P2tilde_3D, derfct_P2tilde_3D, der2fct_P2tilde_3D, refcoor_P2tilde_3D, STANDARD_PATTERN, &feTriaP2, &lagrangianTransform)
const ReferenceFEScalar feQuadQ1("Lagrange Q1 on a quadrangle", FE_Q1_2D, QUAD, 1, 0, 0, 0, 4, 2, fct_Q1_2D, derfct_Q1_2D, der2fct_Q1_2D, refcoor_Q1_2D, STANDARD_PATTERN, &feSegP1, &lagrangianTransform)
const ReferenceFEScalar feTriaP1bubble("P1bubble on a triangle", FE_P1bubble_2D, TRIANGLE, 1, 0, 1, 0, 4, 2, fct_P1bubble_2D, derfct_P1bubble_2D, der2fct_P1bubble_2D, refcoor_P1bubble_2D, STANDARD_PATTERN, &feSegP1, &P1Bubble2DTransform)