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_
72 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
90 return mCurrentSolutionOrGuessReplicated[ PROBLEM_DIM*nodeIndex + indexOfUnknown];
158 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
164 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
167 assert(currentSolution !=
nullptr);
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()
void ReplicatePetscVector(Vec vec)
virtual void IncrementInterpolatedQuantities(double phiI, const Node< SPACE_DIM > *pNode)
static void EndEvent(unsigned event)
AbstractFeAssemblerCommon()
ReplicatableVector mCurrentSolutionOrGuessReplicated