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"
56typedef enum InterpolationLevel_
72template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
158template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
164template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM,
unsigned PROBLEM_DIM,
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
167 assert(currentSolution !=
nullptr);
171 mCurrentSolutionOrGuessReplicated.ReplicatePetscVector(currentSolution);
177 assert(mCurrentSolutionOrGuessReplicated.GetSize() > 0);
void SetCurrentSolution(Vec currentSolution)
virtual void IncrementInterpolatedGradientQuantities(const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode)
virtual ~AbstractFeAssemblerCommon()
ReplicatableVector mCurrentSolutionOrGuessReplicated
virtual void IncrementInterpolatedQuantities(double phiI, const Node< SPACE_DIM > *pNode)
AbstractFeAssemblerCommon()
virtual double GetCurrentSolutionOrGuessValue(unsigned nodeIndex, unsigned indexOfUnknown)
virtual void ResetInterpolatedQuantities()
static void BeginEvent(unsigned event)
static void EndEvent(unsigned event)