36 #ifndef ABSTRACTFEASSEMBLERINTERFACE_HPP_ 37 #define ABSTRACTFEASSEMBLERINTERFACE_HPP_ 50 template <
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX>
121 mAssembleMatrix = CAN_ASSEMBLE_MATRIX;
122 mAssembleVector = CAN_ASSEMBLE_VECTOR;
131 assert(CAN_ASSEMBLE_MATRIX);
132 mAssembleMatrix =
true;
133 mAssembleVector =
false;
142 assert(CAN_ASSEMBLE_VECTOR);
143 mAssembleMatrix =
false;
144 mAssembleVector =
true;
156 template <
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX>
163 assert(CAN_ASSEMBLE_VECTOR || CAN_ASSEMBLE_MATRIX);
166 template <
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX>
169 assert(rMatToAssemble);
176 template <
bool CAN_ASSEMBLE_VECTOR,
bool CAN_ASSEMBLE_MATRIX>
179 assert(rVecToAssemble);
186 #endif // ABSTRACTFEASSEMBLERINTERFACE_HPP_
bool mZeroVectorBeforeAssembly
bool mZeroMatrixBeforeAssembly
virtual void DoAssemble()=0
PetscInt mOwnershipRangeLo
virtual ~AbstractFeAssemblerInterface()
PetscInt mOwnershipRangeHi
AbstractFeAssemblerInterface()
void SetMatrixToAssemble(Mat &rMatToAssemble, bool zeroMatrixBeforeAssembly=true)
void SetVectorToAssemble(Vec &rVecToAssemble, bool zeroVectorBeforeAssembly)