44 template<
typename _OriginalAssembler>
51 using _OriginalAssembler::_OriginalAssembler;
float CepsReal
Need single precision floating point.
std::shared_ptr< DistributedHaloVector > DHVecPtr
Typedef for pointer on Distributed Halo CepsVector.
std::shared_ptr< DistributedMatrix > DMatPtr
Short typedef for pointer on dist matrix.
A degree of freedom for any kind of problem The dof can be associated to a geometrical element or not...
Computes the integral of a quantity on the whole domain or subdomains, using a FE matrix.
CepsReal integrateInternal(DMatPtr mat)
Internal routine to integrate, assemble and reduce computed value on each procs.
void addZeroDMatBlockContribution(CepsReal value, DegreeOfFreedom *a, DegreeOfFreedom *b) override
Adds the content of the block matrices to the integral to compute (zeroD unknowns only)
CepsReal m_integralValue
Integral value, partially computed on this proc.
DHVecPtr m_integralU
Left quantity to integrate in (u,v)
void addMatrixBlockContribution() override
Adds the content of the block matrices to the integral to compute.
CepsReal integrate(DHVecPtr u, DHVecPtr v, DMatPtr mat=nullptr)
Returns the value of the product u dot Mv.
~FEIntegrator() override
Destructor.
DHVecPtr m_integralV
Right quantity to integrate in (u,v)
CepsReal integrate(DHVecPtr u, DMatPtr mat=nullptr)
Returns the value of the integral by computing ones dot Mu.