37 #ifndef EVALUATION_DIV_J_HPP 38 #define EVALUATION_DIV_J_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/ExpressionDivJ.hpp> 52 namespace ExpressionAssembly
55 template <
UInt fieldDim,
UInt spaceDim>
68 EvaluationDivJ (
const EvaluationDivJ& provider);
86 template <
UInt spaceDim>
87 class EvaluationDivJ<3, spaceDim>
122 EvaluationDivJ (
const EvaluationDivJ& provider)
123 : M_valuesPtr (provider.M_valuesPtr)
127 explicit EvaluationDivJ (
const ExpressionDivJ& ) {}
142 static void display ( std::ostream& out = std::cout)
154 template<
typename CFEType >
155 void setGlobalCFE (
const CFEType* ) {}
158 template<
typename CFEType >
159 void setTestCFE (
const CFEType* ) {}
162 template<
typename CFEType >
163 void setSolutionCFE (
const CFEType* solutionCFE)
165 M_valuesPtr = & (solutionCFE->M_divergence);
178 const return_Type& value_qij (
const UInt& q,
const UInt& ,
const UInt& j)
const 180 return (*M_valuesPtr) [q][j];
188 std::vector< std::vector < return_Type > >
const* M_valuesPtr;
193 template<
UInt spaceDim>
194 const flag_Type EvaluationDivJ<3, spaceDim>::S_globalUpdateFlag = ET_UPDATE_NONE;
196 template<
UInt spaceDim>
197 const flag_Type EvaluationDivJ<3, spaceDim>::S_testUpdateFlag = ET_UPDATE_NONE;
199 template<
UInt spaceDim>
200 const flag_Type EvaluationDivJ<3, spaceDim>::S_solutionUpdateFlag = ET_UPDATE_DIVERGENCE;
212 template <
UInt spaceDim>
213 class EvaluationDivJ<2, spaceDim>
248 EvaluationDivJ (
const EvaluationDivJ& provider)
249 : M_valuesPtr (provider.M_valuesPtr)
253 explicit EvaluationDivJ (
const ExpressionDivJ& ) {}
268 static void display ( std::ostream& out = std::cout)
280 template<
typename CFEType >
281 void setGlobalCFE (
const CFEType* ) {}
284 template<
typename CFEType >
285 void setTestCFE (
const CFEType* ) {}
288 template<
typename CFEType >
289 void setSolutionCFE (
const CFEType* solutionCFE)
291 M_valuesPtr = & (solutionCFE->M_divergence);
304 const return_Type& value_qij (
const UInt& q,
const UInt& ,
const UInt& j)
const 306 return (*M_valuesPtr) [q][j];
314 std::vector< std::vector < return_Type > >
const* M_valuesPtr;
319 template<
UInt spaceDim>
320 const flag_Type EvaluationDivJ<2, spaceDim>::S_globalUpdateFlag = ET_UPDATE_NONE;
322 template<
UInt spaceDim>
323 const flag_Type EvaluationDivJ<2, spaceDim>::S_testUpdateFlag = ET_UPDATE_NONE;
325 template<
UInt spaceDim>
326 const flag_Type EvaluationDivJ<2, spaceDim>::S_solutionUpdateFlag = ET_UPDATE_DIVERGENCE;
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)