36 #ifndef EXPRESSION_DETERMINANT_HPP 37 #define EXPRESSION_DETERMINANT_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 ExpressionDeterminant :
public ExpressionBase< ExpressionDeterminant<ExpressionType> >
84 ExpressionDeterminant (
const ExpressionType& expr)
85 : base_Type(), M_expr (expr) {}
88 ExpressionDeterminant (
const ExpressionDeterminant<ExpressionType>& expression)
89 : base_Type(), M_expr (expression.M_expr) {}
92 ~ExpressionDeterminant() {}
101 static void display (std::ostream& out = std::cout)
103 out <<
" transpose ";
104 ExpressionType::display (out);
114 const ExpressionType& exprEx()
const 128 ExpressionDeterminant();
133 ExpressionType M_expr;
155 template<
typename ExpressionType >
156 ExpressionDeterminant<ExpressionType>
159 return ExpressionDeterminant<ExpressionType> (expr.cast() );
165 ExpressionDeterminant<ExpressionMatrix<Dim1, Dim2> >
166 det (
const MatrixSmall<Dim1, Dim2>& m)
168 return ExpressionDeterminant<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)