LifeV
|
FEField - This class gives an abstract implementation of a finite element field. More...
#include <FEField.hpp>
Protected Attributes | |
FESpacePtr_Type | M_FESpace |
Reference of the finite element space. More... | |
vectorPtr_Type | M_vector |
Pointer of a vector where the value are stored. More... | |
Public Types | |
typedef MeshType | mesh_Type |
typedef MapType | map_Type |
typedef ReturnType | return_Type |
typedef FESpace< mesh_Type, map_Type > | FESpace_Type |
typedef std::shared_ptr< FESpace_Type > | FESpacePtr_Type |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
typedef Vector3D | point_Type |
Constructors and destructor | |
FEField () | |
Empty constructor for the class. More... | |
FEField (const FESpacePtr_Type &fESpace, const vectorPtr_Type &vector) | |
Full constructor for the class. More... | |
FEField (const FESpacePtr_Type &fESpace, const MapEpetraType &mapType=Repeated) | |
Constructor for the class without the vector. More... | |
FEField (const FEField &field) | |
Copy constructor. More... | |
virtual | ~FEField () |
Virtual destructor. More... | |
Operators | |
FEField & | operator= (const FEField &field) |
Methods | |
virtual return_Type | eval (const UInt &iElem, const point_Type &point, const Real &time=0.) const =0 |
Abstract virtual eval function. More... | |
Set Methods | |
void | setFESpacePtr (const FESpacePtr_Type &fESpace, const bool createVector=false, const MapEpetraType &mapType=Repeated) |
Set the FESpace. More... | |
void | setVectorPtr (const vectorPtr_Type &vector) |
Set the epetra vector. More... | |
void | setVector (const vector_Type &vector) |
Set the epetra vector. More... | |
void | setUp (const FESpacePtr_Type &fESpace, const vectorPtr_Type &vector) |
Set both FESpace and vector. More... | |
void | cleanField () |
Clean the field. More... | |
Get Methods | |
const FESpace_Type & | getFESpace () const |
Return the finite element space. More... | |
const FESpacePtr_Type & | getFESpacePtr () const |
Return the pointer to the finite element space. More... | |
FESpace_Type & | getFESpace () |
Return the finite element space. More... | |
const vectorPtr_Type & | getVectorPtr () const |
Return the vector where the value are stored. More... | |
vector_Type & | getVector () |
Return the vector where the value are stored. More... | |
const vector_Type & | getVector () const |
Return the vector where the value are stored. More... | |
FEField - This class gives an abstract implementation of a finite element field.
This class represents the concept of a field associated to a finite element space.
This class is implemented as a simple container which stores a reference to a finite element space and a pointer to a vector. The vector represents the value of the field at each degree of freedom. The type of the value, e.g. scalar, is a template parameter which is specialized in the derived classes for the case of scalar fields and vector fields.
The evaluation of the field in a given point is given in the access operator (). The implementation of this method requires also the id of the geometrical element in the mesh, which is less general but more efficient compared to the case where the id of the geometrical element is not given.
Definition at line 75 of file FEField.hpp.
Definition at line 83 of file FEField.hpp.
typedef MapType map_Type |
Definition at line 84 of file FEField.hpp.
typedef ReturnType return_Type |
Definition at line 85 of file FEField.hpp.
typedef FESpace< mesh_Type, map_Type > FESpace_Type |
Definition at line 87 of file FEField.hpp.
typedef std::shared_ptr< FESpace_Type > FESpacePtr_Type |
Definition at line 88 of file FEField.hpp.
typedef VectorEpetra vector_Type |
Definition at line 90 of file FEField.hpp.
typedef std::shared_ptr< vector_Type > vectorPtr_Type |
Definition at line 91 of file FEField.hpp.
typedef Vector3D point_Type |
Definition at line 93 of file FEField.hpp.
|
inline |
Empty constructor for the class.
Definition at line 101 of file FEField.hpp.
|
inline |
Full constructor for the class.
fESpace | Finite element space where the field is defined. |
vector | vector witch represent the solution. |
Definition at line 109 of file FEField.hpp.
|
inline |
Constructor for the class without the vector.
Create the field with the input finite element space and a new vector. The type of the map of the vector is Repeated (default value) or Unique.
fESpace | Finite element space where the field is defined. |
mapType | Specify wether the map is Unique or Repeated. Default value: Repeated. |
Definition at line 121 of file FEField.hpp.
Copy constructor.
field | Finite element field to be copied. |
Definition at line 130 of file FEField.hpp.
|
inlinevirtual |
Virtual destructor.
Definition at line 136 of file FEField.hpp.
Definition at line 143 of file FEField.hpp.
|
pure virtual |
Abstract virtual eval function.
Evaluate the field on a given point in a given element.
iElem | Element id in the mesh. |
point | Point where the field is evaluated, vector format. |
Implemented in FEVectorField< MeshType, MapType >, and FEScalarField< MeshType, MapType >.
|
inline |
Set the FESpace.
fESpace | Pointer of a FESpace. |
createVector | True if the vector is created, false otherwise. Default value: false. |
mapType | Specify wether the map is Unique or Repeated. Default value: Repeated. |
Definition at line 180 of file FEField.hpp.
|
inline |
Set the epetra vector.
vector | Pointer of an epetra vector. |
Definition at line 196 of file FEField.hpp.
|
inline |
Set the epetra vector.
vector | The epetra vector. |
Definition at line 205 of file FEField.hpp.
|
inline |
Set both FESpace and vector.
fESpace | Pointer of a FESpace. |
vector | Pointer of a vector. |
Definition at line 215 of file FEField.hpp.
|
inline |
Clean the field.
Definition at line 222 of file FEField.hpp.
|
inline |
Return the finite element space.
Definition at line 236 of file FEField.hpp.
|
inline |
Return the pointer to the finite element space.
Definition at line 245 of file FEField.hpp.
|
inline |
Return the finite element space.
Definition at line 254 of file FEField.hpp.
|
inline |
Return the vector where the value are stored.
Definition at line 263 of file FEField.hpp.
|
inline |
Return the vector where the value are stored.
Definition at line 272 of file FEField.hpp.
|
inline |
Return the vector where the value are stored.
Definition at line 281 of file FEField.hpp.
|
protected |
Reference of the finite element space.
Definition at line 291 of file FEField.hpp.
|
protected |
Pointer of a vector where the value are stored.
Definition at line 294 of file FEField.hpp.