36 #ifndef EXPRESSION_VECTORFROMNONCONSTANTMATRIX_HPP 37 #define EXPRESSION_VECTORFROMNONCONSTANTMATRIX_HPP 39 #include <lifev/core/LifeV.hpp> 41 #include <lifev/eta/expression/ExpressionBase.hpp> 48 namespace ExpressionAssembly
60 template <
typename ExpressionType,
UInt SpaceDim,
UInt FieldDim >
61 class ExpressionVectorFromNonConstantMatrix :
public ExpressionBase<ExpressionVectorFromNonConstantMatrix<ExpressionType, SpaceDim, FieldDim> >
68 typedef ExpressionBase<ExpressionVectorFromNonConstantMatrix<ExpressionType, SpaceDim, FieldDim> > base_Type;
77 ExpressionVectorFromNonConstantMatrix (
const ExpressionType& expression,
const UInt column)
78 : base_Type(), M_expr (expression), M_column(column) {}
81 ExpressionVectorFromNonConstantMatrix (
const ExpressionVectorFromNonConstantMatrix<ExpressionType, SpaceDim, FieldDim>& expr)
82 : base_Type(), M_expr (expr.M_expr), M_column(expr.M_column) {}
85 ~ExpressionVectorFromNonConstantMatrix() {}
94 static void display (std::ostream& out = std::cout)
96 out <<
"vector from non constant matrix ";
106 const ExpressionType& expr()
const 124 ExpressionVectorFromNonConstantMatrix();
128 ExpressionType M_expr;
141 template<
typename ExpressionType,
UInt SpaceDim,
UInt FieldDim >
142 ExpressionVectorFromNonConstantMatrix<ExpressionType, SpaceDim, FieldDim >
145 return ExpressionVectorFromNonConstantMatrix<ExpressionType, SpaceDim, FieldDim> (expr.cast(), column );
148 template<
typename ExpressionType >
149 ExpressionVectorFromNonConstantMatrix<ExpressionType, 3, 3 >
152 return ExpressionVectorFromNonConstantMatrix<ExpressionType, 3, 3> (expr.cast(), column );
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)