Eigen::Matrix< CepsScalar, Eigen::Dynamic, 1 > CepsMathDynamic1D
Dynamic 1D array, eigen format.
std::set< _Type, _Compare, _Alloc > CepsSet
C++ set.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
float CepsReal
Need single precision floating point.
CepsArray3< CepsReal > CepsReal3D
Three real scalars, used like this for compatibility in polynomials.
constexpr CepsAttribute CepsUniversal
This attribute means "everywhere".
Eigen::Matrix< CepsScalar, Eigen::Dynamic, Eigen::Dynamic > CepsMathDynamic2D
Dynamic 2D array, eigen format.
A degree of freedom for any kind of problem The dof can be associated to a geometrical element or not...
A base class made for Finite Element assembler.
Abstract class for finite elements.
Assembles the mass matrix for a given k-simplexes geometry.
friend class TestMassAssembler
to grant direct access to testing methods
~FEMassAssembler() override
Destructor.
CepsBool isUsingMassLumping() const
tell whether we should use massLumping or not
FEMassAssembler()
Default constructor than only sets m_massLumping.
void assembleForZeroDDof(DegreeOfFreedom *dof, CepsReal t=0.) override
Assembly routine for zeroD dofs. Puts 1 in diagonal (times scale factor)
virtual void computeBlocksOnElementAtQuadPoint(FEBase *element, CepsReal3D xQ, CepsReal t, const CepsMathDynamic1D &phi, const CepsMathDynamic2D &gradPhi) override
The function that is called to get the coefficients of the submatrix on a given finite element....
void setUsingMassLumping(CepsBool flag)
set whether we should use massLumping or not
CepsBool m_useMassLumping
If true, sum of all terms of row added to diagonal.
Holds all finite elements corresponding to each geometrical element.