LifeV
ETFESpace< MeshType, MapType, SpaceDim, FieldDim > Class Template Reference

class ETFESpace A light, templated version of the FESpace More...

#include <ETFESpace.hpp>

+ Collaboration diagram for ETFESpace< MeshType, MapType, SpaceDim, FieldDim >:

Private Attributes

meshPtr_Type M_mesh
 
const ReferenceFEM_referenceFE
 
const GeometricMapM_geometricMap
 
DOFM_dof
 
MapType * M_map
 

Public Types

typedef MeshType mesh_Type
 Typedef for the mesh. More...
 
typedef MapType map_Type
 Typedef for the map (algebraic) More...
 
typedef std::shared_ptr< mesh_TypemeshPtr_Type
 Typedef for a pointer on the mesh. More...
 
typedef map_Type::commPtr_Type commPtr_Type
 Typedef for a pointer on the communicator. More...
 

Static constants

enum  { space_dim = SpaceDim }
 Dimension of the space. More...
 
enum  { field_dim = FieldDim }
 Dimension of the field of the FE space. More...
 

Constructors, destructor

 ETFESpace (const meshPtr_Type &mesh, const ReferenceFE *refFE, const GeometricMap *geoMap, commPtr_Type &commptr)
 Full constructor using the mesh, the referenceFE, the mapping and the communicator. More...
 
 ETFESpace (const meshPtr_Type &mesh, const ReferenceFE *refFE, commPtr_Type &commptr)
 Constructor where the geometric mapping is guessed. More...
 
 ETFESpace (const MeshPartitioner< MeshType > &meshPartitioner, const ReferenceFE *refFE, const GeometricMap *geoMap, commPtr_Type &commptr)
 Full constructor using the partitioner of the mesh. More...
 
 ETFESpace (const MeshPartitioner< MeshType > &meshPartitioner, const ReferenceFE *refFE, commPtr_Type &commptr)
 Full constructor using the partitioner of the mesh and a guessed geometric map. More...
 
 ETFESpace (const ETFESpace< MeshType, MapType, SpaceDim, FieldDim > &otherSpace)
 Copy constructor. More...
 
virtual ~ETFESpace ()
 Destructor. More...
 

Get Methods

meshPtr_Type mesh () const
 Getter for the mesh pointer. More...
 
const ReferenceFErefFE () const
 Getter for the reference FE. More...
 
const GeometricMapgeoMap () const
 Getter for the geometric mapping. More...
 
const DOFdof () const
 Getter for the dof manager. More...
 
const MapType & map () const
 Getter for the algebraic map. More...
 
MapType & map ()
 Getter for the algebraic map. More...
 
const UInt spaceDim () const
 Getter for the dimension of the space (geometric, ambiant space) More...
 
const UInt fieldDim () const
 Getter for the dimension of the field (scalar vs vectorial FE) More...
 

Private Methods

 ETFESpace ()
 No empty constructor. More...
 
void createMap (const commPtr_Type &commptr)
 Creates the map from the input. More...
 

Detailed Description

template<typename MeshType, typename MapType, UInt SpaceDim, UInt FieldDim>
class LifeV::ETFESpace< MeshType, MapType, SpaceDim, FieldDim >

class ETFESpace A light, templated version of the FESpace

Author
Samuel Quinodoz samue.nosp@m.l.qu.nosp@m.inodo.nosp@m.z@ep.nosp@m.fl.ch

This class represents a data structure for everything a finite element space requires to be defined:

  • The mesh
  • The reference element
  • The geometric map (between the reference element and mesh elements)
  • The degree of freedom numbering
  • The repartition of the degrees of freedom across the processors (algebraic map)

It does not contain any information about the quadrature (unlike LifeV::FESpace), as this is not strictly needed for the definition of the space.

This class is supposed to be constant during a simulation, so that it can be shared across the different structures using it.

Template parameters

MeshType The type of the mesh used. MapType The type of the algebraic map (for distributed computations, e.g. MapEpetra). SpaceDim The space of the domain definition FieldDim The dimension of the field (1 for a scalar FE, more for a vectorial one)

Template requirements

MeshType Same as for std::shared_ptr MapType empty constructor; copy constructor; constructor using the reference FE, the mesh and a communicator; concatenation operator +=

Definition at line 93 of file ETFESpace.hpp.

Member Typedef Documentation

◆ mesh_Type

Typedef for the mesh.

Definition at line 101 of file ETFESpace.hpp.

◆ map_Type

typedef MapType map_Type

Typedef for the map (algebraic)

Definition at line 104 of file ETFESpace.hpp.

◆ meshPtr_Type

typedef std::shared_ptr<mesh_Type> meshPtr_Type

Typedef for a pointer on the mesh.

Definition at line 107 of file ETFESpace.hpp.

◆ commPtr_Type

typedef map_Type::commPtr_Type commPtr_Type

Typedef for a pointer on the communicator.

Definition at line 110 of file ETFESpace.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Dimension of the space.

Enumerator
space_dim 

Definition at line 119 of file ETFESpace.hpp.

◆ anonymous enum

anonymous enum

Dimension of the field of the FE space.

Enumerator
field_dim 

Definition at line 122 of file ETFESpace.hpp.

Constructor & Destructor Documentation

◆ ETFESpace() [1/6]

ETFESpace ( const meshPtr_Type mesh,
const ReferenceFE refFE,
const GeometricMap geoMap,
commPtr_Type commptr 
)

Full constructor using the mesh, the referenceFE, the mapping and the communicator.

Parameters
meshPointer on the mesh
refFEThe reference element for the finite element
geoMapThe geometric mapping
commptrPointer on the communicator to be used

Definition at line 311 of file ETFESpace.hpp.

◆ ETFESpace() [2/6]

ETFESpace ( const meshPtr_Type mesh,
const ReferenceFE refFE,
commPtr_Type commptr 
)

Constructor where the geometric mapping is guessed.

In this constructor, the geometric map is guessed using the shape of the elements of the mesh.

Parameters
meshPointer on the mesh
refFEThe reference element for the finite element
commptrPointer on the communicator to be used

Definition at line 324 of file ETFESpace.hpp.

◆ ETFESpace() [3/6]

ETFESpace ( const MeshPartitioner< MeshType > &  meshPartitioner,
const ReferenceFE refFE,
const GeometricMap geoMap,
commPtr_Type commptr 
)

Full constructor using the partitioner of the mesh.

Parameters
meshPartitionerThe partition of the mesh
refFEThe reference element for the finite element
geoMapThe geometric mapping
commptrPointer on the communicator to be used

Definition at line 338 of file ETFESpace.hpp.

◆ ETFESpace() [4/6]

ETFESpace ( const MeshPartitioner< MeshType > &  meshPartitioner,
const ReferenceFE refFE,
commPtr_Type commptr 
)

Full constructor using the partitioner of the mesh and a guessed geometric map.

In this constructor, the geometric map is guessed using the shape of the elements of the mesh.

Parameters
meshPartitionerThe partition of the mesh
refFEThe reference element for the finite element
commptrPointer on the communicator to be used

Definition at line 353 of file ETFESpace.hpp.

◆ ETFESpace() [5/6]

ETFESpace ( const ETFESpace< MeshType, MapType, SpaceDim, FieldDim > &  otherSpace)

Copy constructor.

Parameters
otherSpaceThe finite element space to be copied

Definition at line 367 of file ETFESpace.hpp.

◆ ~ETFESpace()

virtual ~ETFESpace ( )
inlinevirtual

Destructor.

Definition at line 188 of file ETFESpace.hpp.

◆ ETFESpace() [6/6]

ETFESpace ( )
private

No empty constructor.

Member Function Documentation

◆ mesh()

meshPtr_Type mesh ( ) const
inline

Getter for the mesh pointer.

Returns
The pointer (shared) on the mesh

Definition at line 201 of file ETFESpace.hpp.

◆ refFE()

const ReferenceFE& refFE ( ) const
inline

Getter for the reference FE.

Returns
The reference FE of this space

Definition at line 210 of file ETFESpace.hpp.

◆ geoMap()

const GeometricMap& geoMap ( ) const
inline

Getter for the geometric mapping.

Returns
The geometric mapping used for this space

Definition at line 219 of file ETFESpace.hpp.

◆ dof()

const DOF& dof ( ) const
inline

Getter for the dof manager.

Returns
The structure retaining the dof numbering

Definition at line 228 of file ETFESpace.hpp.

◆ map() [1/2]

const MapType& map ( ) const
inline

Getter for the algebraic map.

Returns
The algebraic map

Definition at line 237 of file ETFESpace.hpp.

◆ map() [2/2]

MapType& map ( )
inline

Getter for the algebraic map.

Returns
The algebraic map

Definition at line 246 of file ETFESpace.hpp.

◆ spaceDim()

const UInt spaceDim ( ) const
inline

Getter for the dimension of the space (geometric, ambiant space)

Returns
The dimension of the space in which this FE space is defined

Definition at line 255 of file ETFESpace.hpp.

◆ fieldDim()

const UInt fieldDim ( ) const
inline

Getter for the dimension of the field (scalar vs vectorial FE)

Returns
The dimension of the field represented.

Definition at line 264 of file ETFESpace.hpp.

◆ createMap()

void createMap ( const commPtr_Type commptr)
private

Creates the map from the input.

Definition at line 379 of file ETFESpace.hpp.

Field Documentation

◆ M_mesh

meshPtr_Type M_mesh
private

Definition at line 285 of file ETFESpace.hpp.

◆ M_referenceFE

const ReferenceFE* M_referenceFE
private

Definition at line 288 of file ETFESpace.hpp.

◆ M_geometricMap

const GeometricMap* M_geometricMap
private

Definition at line 291 of file ETFESpace.hpp.

◆ M_dof

DOF* M_dof
private

Definition at line 294 of file ETFESpace.hpp.

◆ M_map

MapType* M_map
private

Definition at line 297 of file ETFESpace.hpp.


The documentation for this class was generated from the following file: