36 #ifndef EXPRESSION_INTERPOLATE_GRADIENT_HPP 37 #define EXPRESSION_INTERPOLATE_GRADIENT_HPP 39 #include <lifev/core/LifeV.hpp> 41 #include <lifev/core/array/VectorEpetra.hpp> 43 #include <lifev/eta/expression/ExpressionBase.hpp> 45 #include <lifev/eta/fem/ETFESpace.hpp> 47 #include <boost/shared_ptr.hpp> 54 namespace ExpressionAssembly
81 template<
typename MeshType,
typename MapType,
UInt SpaceDim,
UInt FieldDim>
82 class ExpressionInterpolateGradient
83 :
public ExpressionBase<ExpressionInterpolateGradient < MeshType, MapType, SpaceDim, FieldDim > >
91 typedef ExpressionBase<ExpressionInterpolateGradient < MeshType, MapType, SpaceDim, FieldDim > > base_Type;
94 typedef ETFESpace<MeshType, MapType, SpaceDim, FieldDim> fespace_Type;
97 typedef std::shared_ptr<fespace_Type> fespacePtr_Type;
109 ExpressionInterpolateGradient (fespacePtr_Type fespace,
const vector_Type& vector,
const UInt& offset)
110 : base_Type(), M_fespace (fespace), M_vector (vector), M_offset (offset) {}
113 ExpressionInterpolateGradient (
const ExpressionInterpolateGradient<MeshType, MapType, SpaceDim, FieldDim>& expr)
114 : base_Type(), M_fespace (expr.M_fespace), M_vector (expr.M_vector), M_offset (expr.M_offset) {}
117 ~ExpressionInterpolateGradient() {}
126 static void display (std::ostream& out = std::cout)
128 out <<
"interpolated_grad[" << FieldDim <<
"] ";
138 fespacePtr_Type fespace()
const 144 const vector_Type vector()
const 163 ExpressionInterpolateGradient();
168 fespacePtr_Type M_fespace;
171 vector_Type M_vector;
198 template<
typename MeshType,
typename MapType, UInt SpaceDim, UInt FieldDim>
199 inline ExpressionInterpolateGradient<MeshType, MapType, SpaceDim, FieldDim>
201 std::shared_ptr< ETFESpace<MeshType, MapType, SpaceDim, FieldDim> > fespace,
202 const VectorEpetra& vector,
203 const UInt& offset = 0
206 return ExpressionInterpolateGradient<MeshType, MapType, SpaceDim, FieldDim> (fespace, vector, offset);
VectorEpetra - The Epetra Vector format Wrapper.
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)