36 #ifndef ABSTRACTFEASSEMBLERCOMMON_HPP_
37 #define ABSTRACTFEASSEMBLERCOMMON_HPP_
39 #include "AbstractFeAssemblerInterface.hpp"
40 #include "ReplicatableVector.hpp"
41 #include "DistributedVector.hpp"
42 #include "HeartEventHandler.hpp"
43 #include "LinearBasisFunction.hpp"
45 #include "AbstractTetrahedralMesh.hpp"
56 typedef enum InterpolationLevel_
74 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
160 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
166 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
169 assert(currentSolution != NULL);
173 mCurrentSolutionOrGuessReplicated.ReplicatePetscVector(currentSolution);
179 assert(mCurrentSolutionOrGuessReplicated.GetSize() > 0);
virtual double GetCurrentSolutionOrGuessValue(unsigned nodeIndex, unsigned indexOfUnknown)
static void BeginEvent(unsigned event)
virtual void ResetInterpolatedQuantities()
virtual void IncrementInterpolatedGradientQuantities(const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode)
void SetCurrentSolution(Vec currentSolution)
virtual ~AbstractFeAssemblerCommon()
virtual void IncrementInterpolatedQuantities(double phiI, const Node< SPACE_DIM > *pNode)
static void EndEvent(unsigned event)
AbstractFeAssemblerCommon()
ReplicatableVector mCurrentSolutionOrGuessReplicated