36 #ifndef EVALUTATION_EXTRACT1_HPP 37 #define EVALUTATION_EXTRACT1_HPP 40 #include <lifev/core/LifeV.hpp> 41 #include <lifev/core/array/MatrixSmall.hpp> 42 #include <lifev/eta/expression/ExpressionExtract1.hpp> 43 #include <lifev/eta/expression/EvaluationMatrix.hpp> 44 #include <lifev/eta/array/OperationSmallExtract.hpp> 47 #include <lifev/core/fem/QuadratureRule.hpp> 53 namespace ExpressionAssembly
71 template <
typename EvaluationType>
72 class EvaluationExtract1
104 EvaluationExtract1 (
const EvaluationExtract1< EvaluationType >& eval)
106 M_evaluation (eval.M_evaluation)
110 template<
typename ExpressionType >
111 explicit EvaluationExtract1 (
const ExpressionExtract1< ExpressionType >& expression)
112 : M_i (expression.indexI() ),
113 M_evaluation (expression.exprEx() )
118 ~EvaluationExtract1()
128 void update (
const UInt& iElement)
130 M_evaluation.update (iElement);
134 static void display (std::ostream& out = std::cout)
136 out <<
"Extraction from ";
137 EvaluationType::display (out);
147 template<
typename CFEType >
148 void setGlobalCFE (
const CFEType* globalCFE)
150 M_evaluation.setGlobalCFE (globalCFE);
154 template<
typename CFEType >
155 void setTestCFE (
const CFEType* testCFE)
157 M_evaluation.setTestCFE (testCFE);
161 template<
typename CFEType >
162 void setSolutionCFE (
const CFEType* solutionCFE)
164 M_evaluation.setSolutionCFE (solutionCFE);
170 M_evaluation.setQuadrature (qr);
180 return_Type value_q (
const UInt& q)
const 182 return M_evaluation.value_q (q).extract (M_i);;
186 return_Type value_qi (
const UInt& q,
const UInt& i)
const 188 return M_evaluation.value_qi (q, i).extract (M_i);
192 return_Type value_qij (
const UInt& q,
const UInt& i,
const UInt& j)
const 194 return M_evaluation.value_qij (q, i, j).extract (M_i);
205 EvaluationExtract1();
211 EvaluationType M_evaluation;
216 template<
typename EvaluationType>
217 const flag_Type EvaluationExtract1<EvaluationType>::S_globalUpdateFlag
218 = EvaluationType::S_globalUpdateFlag;
220 template<
typename EvaluationType>
221 const flag_Type EvaluationExtract1<EvaluationType>::S_testUpdateFlag
222 = EvaluationType::S_testUpdateFlag;
224 template<
typename EvaluationType>
225 const flag_Type EvaluationExtract1<EvaluationType>::S_solutionUpdateFlag
226 = EvaluationType::S_solutionUpdateFlag;
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)