35 #ifndef EVALUATION_MATRIX_HPP 36 #define EVALUATION_MATRIX_HPP 38 #include <lifev/core/LifeV.hpp> 40 #include <lifev/core/array/MatrixSmall.hpp> 42 #include <lifev/eta/fem/ETCurrentFE.hpp> 43 #include <lifev/eta/fem/ETCurrentFlag.hpp> 44 #include <lifev/core/fem/QuadratureRule.hpp> 46 #include <lifev/eta/expression/ExpressionMatrix.hpp> 52 namespace ExpressionAssembly
64 template <
UInt MatrixDim1,
UInt MatrixDim2>
65 class EvaluationMatrix
73 typedef MatrixSmall<MatrixDim1, MatrixDim2> return_Type;
101 EvaluationMatrix (
const EvaluationMatrix<MatrixDim1, MatrixDim2>& evaluation)
102 : M_value (evaluation.M_value)
106 explicit EvaluationMatrix (
const ExpressionMatrix<MatrixDim1, MatrixDim2>& expression)
107 : M_value (expression.value() )
125 static void display (std::ostream& out = std::cout)
127 out <<
"matrix[" << MatrixDim1 <<
"][" << MatrixDim2 <<
"]";
137 template<
typename CFEType >
138 void setGlobalCFE (
const CFEType* )
142 template<
typename CFEType >
143 void setTestCFE (
const CFEType* )
147 template<
typename CFEType >
148 void setSolutionCFE (
const CFEType* )
162 return_Type value_q (
const UInt& )
const 168 return_Type value_qi (
const UInt& ,
const UInt& )
const 184 MatrixSmall<MatrixDim1, MatrixDim2> M_value;
188 template<
UInt MatrixDim1,
UInt MatrixDim2>
189 const flag_Type EvaluationMatrix<MatrixDim1, MatrixDim2>::S_globalUpdateFlag = ET_UPDATE_NONE;
191 template<
UInt MatrixDim1,
UInt MatrixDim2>
192 const flag_Type EvaluationMatrix<MatrixDim1, MatrixDim2>::S_testUpdateFlag = ET_UPDATE_NONE;
194 template<
UInt MatrixDim1,
UInt MatrixDim2>
195 const flag_Type EvaluationMatrix<MatrixDim1, MatrixDim2>::S_solutionUpdateFlag = ET_UPDATE_NONE;
uint32_type flag_Type
bit-flag with up to 32 different flags
void updateInverseJacobian(const UInt &iQuadPt)
QuadratureRule - The basis class for storing and accessing quadrature rules.
uint32_type UInt
generic unsigned integer (used mainly for addressing)