39 #include <lifev/core/fem/FEField.hpp> 79 template <
typename MeshType,
typename MapType,
typename ReturnType >
131 const Real& time = 0. )
const = 0;
141 const Real& time = 0. )
const 143 interpolatedFct.getFESpace().interpolate (
this, interpolatedFct.getVector(), time );
152 M_scalarFields.push_back ( fieldPtr );
161 M_vectorFields.push_back ( fieldPtr );
176 ASSERT ( i < M_scalarFields.size() ,
"Index out of range.");
177 return M_scalarFields[ i ];
187 ASSERT ( i < M_scalarFields.size() ,
"Index out of range.");
188 return * ( M_scalarFields[ i ] );
198 ASSERT ( i < M_vectorFields.size() ,
"Index out of range.");
199 return M_vectorFields[ i ];
209 ASSERT ( i < M_vectorFields.size() ,
"Index out of range.");
210 return * ( M_vectorFields[ i ] );
FEField - This class gives an abstract implementation of a finite element field.
FEScalarFieldPtrContainer_Type M_scalarFields
Vector of pointers of scalar fields.
const FEScalarFieldPtr_Type & scalarFieldPtr(const UInt &i) const
Return the i-th scalar field.
const FEScalarField_Type & scalarField(const UInt &i) const
Return the i-th scalar field.
FEScalarField - This class gives an abstract implementation of a finite element scalar field...
const FEVectorFieldPtr_Type & vectorFieldPtr(const UInt &i) const
Return the i-th vector field.
FEScalarField< mesh_Type, map_Type > FEScalarField_Type
virtual ~FEFunction()
Virtual destructor.
const FEVectorField_Type & vectorField(const UInt &i) const
Return the i-th vector field.
void addVectorField(const FEVectorFieldPtr_Type &fieldPtr)
Add an external vector field to the function.
std::vector< FEVectorFieldPtr_Type > FEVectorFieldPtrContainer_Type
double Real
Generic real data.
FEVectorField< mesh_Type, map_Type > FEVectorField_Type
FEVectorField - This class gives an abstract implementation of a finite element vector field...
FEVectorFieldPtrContainer_Type M_vectorFields
Vector of pointers of vector fields.
void interpolate(FEField_Type &interpolatedFct, const Real &time=0.) const
Interpolate to a field.
void addScalarField(const FEScalarFieldPtr_Type &fieldPtr)
Add an external scalar field to the function.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
virtual return_Type eval(const UInt &iElem, const point_Type &P, const Real &time=0.) const =0
Abstract virtual eval function.
FEField< mesh_Type, map_Type, return_Type > FEField_Type
FEFunction()
Empty constructor for the class.
FEField_Type::point_Type point_Type