37 #ifndef EVALUATION_SCALAR_HPP 38 #define EVALUATION_SCALAR_HPP 40 #include <lifev/core/LifeV.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/ExpressionScalar.hpp> 52 namespace ExpressionAssembly
64 class EvaluationScalar
81 const static flag_Type S_globalUpdateFlag = ET_UPDATE_NONE;
84 const static flag_Type S_testUpdateFlag = ET_UPDATE_NONE;
87 const static flag_Type S_solutionUpdateFlag = ET_UPDATE_NONE;
100 EvaluationScalar (
const EvaluationScalar& evaluation)
101 : M_value (evaluation.M_value)
105 explicit EvaluationScalar (
const ExpressionScalar& expression)
106 : M_value (expression.value() )
124 static void display (std::ostream& out = std::cout)
136 template<
typename CFEType >
137 void setGlobalCFE (
const CFEType* )
141 template<
typename CFEType >
142 void setTestCFE (
const CFEType* )
146 template<
typename CFEType >
147 void setSolutionCFE (
const CFEType* )
161 return_Type value_q (
const UInt& )
const 167 return_Type value_qi (
const UInt& ,
const UInt& )
const 187 template <
typename VectorType>
188 class EvaluationExtractScalar
197 typedef std::shared_ptr<VectorType> containerPtr_Type;
205 const static flag_Type S_globalUpdateFlag = ET_UPDATE_NONE;
208 const static flag_Type S_testUpdateFlag = ET_UPDATE_NONE;
211 const static flag_Type S_solutionUpdateFlag = ET_UPDATE_NONE;
220 EvaluationExtractScalar()
224 EvaluationExtractScalar (
const EvaluationExtractScalar& evaluation)
225 : M_vector (evaluation.M_vector)
229 template<
typename Vector>
230 explicit EvaluationExtractScalar (
const ExpressionExtractScalar<Vector>& expression)
231 : M_vector ( expression.vector() )
235 ~EvaluationExtractScalar()
245 void update (
const UInt& iElement)
248 M_value = (*M_vector) [ iElement ];
252 static void display (std::ostream& out = std::cout)
254 out <<
"scalar from a vector";
264 template<
typename CFEType >
265 void setGlobalCFE (
const CFEType* )
269 template<
typename CFEType >
270 void setTestCFE (
const CFEType* )
274 template<
typename CFEType >
275 void setSolutionCFE (
const CFEType* )
289 return_Type value_q (
const UInt& )
const 295 return_Type value_qi (
const UInt& ,
const UInt& )
const 314 containerPtr_Type M_vector;
uint32_type flag_Type
bit-flag with up to 32 different flags
void updateInverseJacobian(const UInt &iQuadPt)
double Real
Generic real data.
QuadratureRule - The basis class for storing and accessing quadrature rules.
uint32_type UInt
generic unsigned integer (used mainly for addressing)