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>
|
| FunctionSpace (std::shared_ptr< const mesh::Mesh > mesh, std::shared_ptr< const fem::FiniteElement > element, std::shared_ptr< const fem::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.
|
|
FunctionSpace & | operator= (const FunctionSpace &V)=delete |
|
FunctionSpace & | operator= (FunctionSpace &&V)=default |
| Move assignment operator.
|
|
bool | operator== (const FunctionSpace &V) const |
| Equality operator. More...
|
|
bool | operator!= (const FunctionSpace &V) const |
| Inequality operator. More...
|
|
std::int64_t | dim () const |
| Return global dimension of the function space. More...
|
|
std::shared_ptr< FunctionSpace > | sub (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< std::shared_ptr< 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...
|
|
bool | has_element (const fem::FiniteElement &element) const |
| Check if function space has given element. More...
|
|
std::vector< int > | component () const |
| Get the component with respect to the root superspace. More...
|
|
Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor > | tabulate_dof_coordinates () const |
| Tabulate the physical coordinates of all dofs on this process. More...
|
|
Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor > | tabulate_scalar_subspace_dof_coordinates () const |
| Tabulate the physical coordinates of all dofs of scalar subspace on this process. For a VectorFunctionSpace or TensorFunctionSpace, the scalar subspace is the space used for each componenet. Otherwise the scalar subspace is the space itself. More...
|
|
std::size_t | id () const |
| Unique identifier.
|
|
std::shared_ptr< const mesh::Mesh > | mesh () const |
| The mesh.
|
|
std::shared_ptr< const fem::FiniteElement > | element () const |
| The finite element.
|
|
std::shared_ptr< const fem::DofMap > | dofmap () const |
| The dofmap.
|
|
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).
◆ FunctionSpace()
Create function space for given mesh, element and dofmap.
- Parameters
-
[in] | mesh | The mesh |
[in] | element | The element |
[in] | dofmap | The dofmap |
◆ collapse()
std::pair< std::shared_ptr< FunctionSpace >, std::vector< std::int32_t > > FunctionSpace::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 rom new to old dofs
◆ component()
std::vector< int > FunctionSpace::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()
Check whether V is subspace of this, or this itself.
- Parameters
-
[in] | V | The space to be tested for inclusion |
- Returns
- True if V is contained in or equal to this FunctionSpace
◆ dim()
std::int64_t FunctionSpace::dim |
( |
| ) |
const |
Return global dimension of the function space.
- Returns
- The dimension of the function space
◆ has_element()
Check if function space has given element.
- Parameters
-
[in] | element | The finite element |
- Returns
- True if the function space has the given element
◆ operator!=()
Inequality operator.
- Parameters
-
[in] | V | Another function space. |
◆ operator==()
Equality operator.
- Parameters
-
[in] | V | Another function space |
◆ sub()
std::shared_ptr< FunctionSpace > FunctionSpace::sub |
( |
const std::vector< int > & |
component | ) |
const |
Extract subspace for component.
- Parameters
-
[in] | component | The subspace component |
- Returns
- The subspace
◆ tabulate_dof_coordinates()
Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor > FunctionSpace::tabulate_dof_coordinates |
( |
| ) |
const |
Tabulate the physical coordinates of all dofs on this process.
- Returns
- The dof coordinates [([x0, y0, z0], [x1, y1, z1], ...)
◆ tabulate_scalar_subspace_dof_coordinates()
Eigen::Array< double, Eigen::Dynamic, 3, Eigen::RowMajor > FunctionSpace::tabulate_scalar_subspace_dof_coordinates |
( |
| ) |
const |
Tabulate the physical coordinates of all dofs of scalar subspace on this process. For a VectorFunctionSpace or TensorFunctionSpace, the scalar subspace is the space used for each componenet. Otherwise the scalar subspace is the space itself.
- Returns
- The dof coordinates [([x0, y0, z0], [x1, y1, z1], ...)
The documentation for this class was generated from the following files:
- /build/dolfinx-ijwVAz/dolfinx-2019.2.0~git20201109.17bda9f/cpp/dolfinx/function/FunctionSpace.h
- /build/dolfinx-ijwVAz/dolfinx-2019.2.0~git20201109.17bda9f/cpp/dolfinx/function/FunctionSpace.cpp