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.
More...
#include <FunctionSpace.h>
|
using | geometry_type = T |
| Geometry type of the Mesh that the FunctionSpace is defined on.
|
|
template<std::floating_point T>
class dolfinx::fem::FunctionSpace< T >
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.
- Template Parameters
-
T | The floating point (real) type of the mesh geometry and the finite element basis. |
◆ FunctionSpace()
template<std::floating_point T>
Create function space for given mesh, element and dofmap.
- Parameters
-
[in] | mesh | Mesh that the space is defined on. |
[in] | element | Finite element for the space. |
[in] | dofmap | Degree-of-freedom map for the space. |
[in] | value_shape | The shape of the value space on the physical cell |
◆ collapse()
template<std::floating_point T>
std::pair< FunctionSpace, std::vector< std::int32_t > > collapse |
( |
| ) |
const |
|
inline |
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()
template<std::floating_point T>
std::vector< int > component |
( |
| ) |
const |
|
inline |
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()
template<std::floating_point T>
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 is equal to this FunctionSpace
◆ sub()
template<std::floating_point T>
Create a subspace (view) for a specific component.
- Note
- If the subspace is re-used, for performance reasons the returned subspace should be stored by the caller to avoid repeated re-computation of the subspace.
- Parameters
-
[in] | component | Subspace component. |
- Returns
- A subspace.
◆ tabulate_dof_coordinates()
template<std::floating_point T>
std::vector< geometry_type > tabulate_dof_coordinates |
( |
bool | transpose | ) |
const |
|
inline |
Tabulate the physical coordinates of all dofs on this process.
- Todo
- Remove - see function in interpolate.h
- Parameters
-
[in] | transpose | If 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.
◆ value_size()
template<std::floating_point T>
The value size, e.g. 1 for a scalar-valued function, 2 for a 2D vector, 9 for a second-order tensor in 3D.
- Note
- The return value of this function is equivalent to
std::accumulate(value_shape().begin(), value_shape().end(), 1, / std::multiplies{})
.
The documentation for this class was generated from the following files: