DOLFINx 0.9.0
DOLFINx C++ interface
|
#include <ElementDofLayout.h>
Public Member Functions | |
ElementDofLayout (int block_size, const std::vector< std::vector< std::vector< int > > > &entity_dofs, const std::vector< std::vector< std::vector< int > > > &entity_closure_dofs, const std::vector< int > &parent_map, const std::vector< ElementDofLayout > &sub_layouts) | |
ElementDofLayout | copy () const |
Copy the DOF layout, discarding any parent information. | |
ElementDofLayout (const ElementDofLayout &dofmap)=default | |
Copy constructor. | |
ElementDofLayout (ElementDofLayout &&dofmap)=default | |
Move constructor. | |
~ElementDofLayout ()=default | |
Destructor. | |
ElementDofLayout & | operator= (const ElementDofLayout &dofmap)=default |
Copy assignment. | |
ElementDofLayout & | operator= (ElementDofLayout &&dofmap)=default |
Move assignment. | |
bool | operator== (const ElementDofLayout &layout) const |
int | num_dofs () const |
int | num_entity_dofs (int dim) const |
int | num_entity_closure_dofs (int dim) const |
const std::vector< int > & | entity_dofs (int dim, int entity_index) const |
const std::vector< int > & | entity_closure_dofs (int dim, int entity_index) const |
const std::vector< std::vector< std::vector< int > > > & | entity_dofs_all () const |
Direct access to all entity dofs (dof = _entity_dofs[dim][entity][i]) | |
const std::vector< std::vector< std::vector< int > > > & | entity_closure_dofs_all () const |
int | num_sub_dofmaps () const |
Get number of sub-dofmaps. | |
const ElementDofLayout & | sub_layout (std::span< const int > component) const |
Get sub-dofmap given by list of components, one for each level. | |
std::vector< int > | sub_view (std::span< const int > component) const |
int | block_size () const |
Block size. | |
bool | is_view () const |
The class represents the degree-of-freedom (dofs) for an element. Dofs are associated with a mesh entity. This class also handles sub-space dofs, which are views into the parent dofs.
ElementDofLayout | ( | int | block_size, |
const std::vector< std::vector< std::vector< int > > > & | entity_dofs, | ||
const std::vector< std::vector< std::vector< int > > > & | entity_closure_dofs, | ||
const std::vector< int > & | parent_map, | ||
const std::vector< ElementDofLayout > & | sub_layouts ) |
Constructor
[in] | block_size | The number of dofs co-located at each point. |
[in] | entity_dofs | The dofs on each entity, in the format: entity_dofs[entity_dim][entity_number] = [dof0, dof1, ...] |
[in] | entity_closure_dofs | The dofs on the closure of each entity, in the format: entity_closure_dofs[entity_dim][entity_number] = [dof0, dof1, ...] |
[in] | parent_map | TODO |
[in] | sub_layouts | (std::vector<ElementDofLayout> )TODO |
const std::vector< int > & entity_closure_dofs | ( | int | dim, |
int | entity_index ) const |
Local-local closure dofs on entity of cell
[in] | dim | The entity dimension |
[in] | entity_index | The local entity index on the cell |
const std::vector< std::vector< std::vector< int > > > & entity_closure_dofs_all | ( | ) | const |
Direct access to all entity closure dofs (dof = _entity_dofs[dim][entity][i])
const std::vector< int > & entity_dofs | ( | int | dim, |
int | entity_index ) const |
Local-local mapping of dofs on entity of cell
[in] | dim | The entity dimension |
[in] | entity_index | The local entity index on the cell |
bool is_view | ( | ) | const |
True iff dof map is a view into another map
int num_dofs | ( | ) | const |
Return the dimension of the local finite element function space on a cell (number of dofs on element)
int num_entity_closure_dofs | ( | int | dim | ) | const |
Return the number of closure dofs for a given entity dimension
[in] | dim | Entity dimension |
int num_entity_dofs | ( | int | dim | ) | const |
Return the number of dofs for a given entity dimension
[in] | dim | Entity dimension |
bool operator== | ( | const ElementDofLayout & | layout | ) | const |
Equality operator
std::vector< int > sub_view | ( | std::span< const int > | component | ) | const |
Get view for a sub-layout, defined by the component list (as for sub_layour()), into this dofmap. I.e., the dofs in this dofmap that are the sub-dofs.