Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/dolfinx/v0.9.0/cpp/doxygen/d9/d69/classdolfinx_1_1fem_1_1FunctionSpace.html
DOLFINx  0.5.1
DOLFINx C++ interface
Public Member Functions | List of all members
FunctionSpace Class Reference

This class represents a finite element function space defined by a mesh, a finite element, and a local-to-global map of the degrees of freedom (dofmap). More...

#include <FunctionSpace.h>

Public Member Functions

 FunctionSpace (std::shared_ptr< const mesh::Mesh > mesh, std::shared_ptr< const FiniteElement > element, std::shared_ptr< const DofMap > dofmap)
 Create function space for given mesh, element and dofmap. More...
 
 FunctionSpace (const FunctionSpace &V)=delete
 
 FunctionSpace (FunctionSpace &&V)=default
 Move constructor.
 
virtual ~FunctionSpace ()=default
 Destructor.
 
FunctionSpaceoperator= (const FunctionSpace &V)=delete
 
FunctionSpaceoperator= (FunctionSpace &&V)=default
 Move assignment operator.
 
std::shared_ptr< FunctionSpacesub (const std::vector< int > &component) const
 Extract subspace for component. More...
 
bool contains (const FunctionSpace &V) const
 Check whether V is subspace of this, or this itself. More...
 
std::pair< FunctionSpace, std::vector< std::int32_t > > collapse () const
 Collapse a subspace and return a new function space and a map from new to old dofs. More...
 
std::vector< int > component () const
 Get the component with respect to the root superspace. More...
 
std::vector< double > tabulate_dof_coordinates (bool transpose) const
 Tabulate the physical coordinates of all dofs on this process. More...
 
std::shared_ptr< const mesh::Meshmesh () const
 The mesh.
 
std::shared_ptr< const FiniteElementelement () const
 The finite element.
 
std::shared_ptr< const DofMapdofmap () const
 The dofmap.
 

Detailed Description

This class represents a finite element function space defined by a mesh, a finite element, and a local-to-global map of the degrees of freedom (dofmap).

Constructor & Destructor Documentation

◆ FunctionSpace()

FunctionSpace ( std::shared_ptr< const mesh::Mesh mesh,
std::shared_ptr< const FiniteElement element,
std::shared_ptr< const DofMap dofmap 
)

Create function space for given mesh, element and dofmap.

Parameters
[in]meshThe mesh
[in]elementThe element
[in]dofmapThe dofmap

Member Function Documentation

◆ collapse()

std::pair< FunctionSpace, std::vector< std::int32_t > > collapse ( ) const

Collapse a subspace and return a new function space and a map from new to old dofs.

Returns
The new function space and a map from new to old dofs

◆ component()

std::vector< int > component ( ) const

Get the component with respect to the root superspace.

Returns
The component with respect to the root superspace , i.e. W.sub(1).sub(0) == [1, 0]

◆ contains()

bool contains ( const FunctionSpace V) const

Check whether V is subspace of this, or this itself.

Parameters
[in]VThe space to be tested for inclusion
Returns
True if V is contained in or is equal to this FunctionSpace

◆ sub()

std::shared_ptr< FunctionSpace > sub ( const std::vector< int > &  component) const

Extract subspace for component.

Parameters
[in]componentThe subspace component
Returns
The subspace

◆ tabulate_dof_coordinates()

std::vector< double > tabulate_dof_coordinates ( bool  transpose) const

Tabulate the physical coordinates of all dofs on this process.

Todo:
Remove - see function in interpolate.h
Parameters
[in]transposeIf false the returned data has shape (num_points, 3), otherwise it is transposed and has shape (3, num_points).
Returns
The dof coordinates [([x0, y0, z0], [x1, y1, z1], ...) if transpose is false, and otherwise the returned data is transposed. Storage is row-major.

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