36 #ifndef EXPRESSION_SYMMETRICTENSOR_HPP 37 #define EXPRESSION_SYMMETRICTENSOR_HPP 39 #include <lifev/core/LifeV.hpp> 41 #include <lifev/eta/expression/ExpressionBase.hpp> 42 #include <lifev/eta/expression/ExpressionMatrix.hpp> 47 namespace ExpressionAssembly
66 template <
typename ExpressionType>
67 class ExpressionSymmetricTensor :
public ExpressionBase< ExpressionSymmetricTensor<ExpressionType> >
75 typedef ExpressionBase< ExpressionSymmetricTensor <ExpressionType> > base_Type;
84 ExpressionSymmetricTensor (
const ExpressionType& expr)
85 : base_Type(), M_expr (expr) {}
88 ExpressionSymmetricTensor (
const ExpressionSymmetricTensor<ExpressionType>& expression)
89 : base_Type(), M_expr (expression.M_expr) {}
92 ~ExpressionSymmetricTensor() {}
101 static void display (std::ostream& out = std::cout)
103 out <<
" transpose ";
104 ExpressionType::display (out);
114 const ExpressionType& exprEx()
const 128 ExpressionSymmetricTensor();
133 ExpressionType M_expr;
155 template<
typename ExpressionType >
156 ExpressionSymmetricTensor<ExpressionType>
159 return ExpressionSymmetricTensor<ExpressionType> (expr.cast() );
165 ExpressionSymmetricTensor<ExpressionMatrix<Dim1, Dim2> >
166 sym (
const MatrixSmall<Dim1, Dim2>& m)
168 return ExpressionSymmetricTensor<ExpressionMatrix<Dim1, Dim2> > (ExpressionMatrix<Dim1, Dim2> (m) );
void updateInverseJacobian(const UInt &iQuadPt)
class ExpressionBase Base class (static polymorphism, CRTP sense) for all the expressions used in ass...
uint32_type UInt
generic unsigned integer (used mainly for addressing)