36 #ifndef EVALUTATION_LOGARITHM_HPP 37 #define EVALUTATION_LOGARITHM_HPP 39 #include <lifev/core/LifeV.hpp> 41 #include <lifev/eta/array/OperationSmallLogarithm.hpp> 43 #include <lifev/eta/expression/ExpressionLogarithm.hpp> 45 #include <lifev/core/fem/QuadratureRule.hpp> 50 namespace ExpressionAssembly
62 template <
typename EvaluationBaseType>
63 class EvaluationLogarithm
71 typedef typename EvaluationBaseType::return_Type BaseReturn_Type;
99 EvaluationLogarithm (
const EvaluationLogarithm& eval)
100 : M_evaluationBase (eval.M_evaluationBase)
104 template <
typename BaseExpressionType>
105 explicit EvaluationLogarithm (
const ExpressionLogarithm<BaseExpressionType>& expression)
106 : M_evaluationBase (expression.base() )
110 ~EvaluationLogarithm() {}
119 void update (
const UInt& iElement)
121 M_evaluationBase.update (iElement);
125 static void display (std::ostream& out = std::cout )
127 out <<
"Logarithm (";
128 EvaluationBaseType::display (out);
139 template<
typename CFEType >
140 void setGlobalCFE (
const CFEType* globalCFE)
142 M_evaluationBase.setGlobalCFE (globalCFE);
146 template<
typename CFEType >
147 void setTestCFE (
const CFEType* testCFE)
149 M_evaluationBase.setTestCFE (testCFE);
153 template<
typename CFEType >
154 void setSolutionCFE (
const CFEType* solutionCFE)
156 M_evaluationBase.setSolutionCFE (solutionCFE);
162 M_evaluationBase.setQuadrature (qr);
172 return_Type value_q (
const UInt& q)
const 174 return std::log (M_evaluationBase.value_q (q) );
178 return_Type value_qi (
const UInt& q,
const UInt& i)
const 180 return std::log (M_evaluationBase.value_qi (q, i) );
184 return_Type value_qij (
const UInt& q,
const UInt& i,
const UInt& j)
const 186 return std::log (M_evaluationBase.value_qij (q, i, j) );
197 EvaluationLogarithm();
202 EvaluationBaseType M_evaluationBase;
205 template<
typename EvaluationBaseType>
206 const flag_Type EvaluationLogarithm<EvaluationBaseType>::S_globalUpdateFlag
207 = EvaluationBaseType::S_globalUpdateFlag;
209 template<
typename EvaluationBaseType>
210 const flag_Type EvaluationLogarithm<EvaluationBaseType>::S_testUpdateFlag
211 = EvaluationBaseType::S_testUpdateFlag;
213 template<
typename EvaluationBaseType>
214 const flag_Type EvaluationLogarithm<EvaluationBaseType>::S_solutionUpdateFlag
215 = EvaluationBaseType::S_solutionUpdateFlag;
uint32_type flag_Type
bit-flag with up to 32 different flags
void updateInverseJacobian(const UInt &iQuadPt)
class OperationSmallAddition Class containing information about the power operation between the *Smal...
QuadratureRule - The basis class for storing and accessing quadrature rules.
uint32_type UInt
generic unsigned integer (used mainly for addressing)