DOLFIN-X
DOLFIN-X C++ interface
|
11 #include <dolfinx/common/types.h>
61 const std::vector<std::vector<std::set<int>>>&
entity_dofs,
62 const std::vector<int>& parent_map,
63 const std::vector<std::shared_ptr<const ElementDofLayout>>& sub_dofmaps,
65 const Eigen::Array<int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>&
106 Eigen::Array<int, Eigen::Dynamic, 1>
entity_dofs(
int entity_dim,
107 int cell_entity_index)
const;
113 Eigen::Array<int, Eigen::Dynamic, 1>
117 const std::vector<std::vector<std::set<int>>>&
entity_dofs_all()
const;
121 const std::vector<std::vector<std::set<int>>>&
128 std::shared_ptr<const ElementDofLayout>
129 sub_dofmap(
const std::vector<int>& component)
const;
134 std::vector<int>
sub_view(
const std::vector<int>& component)
const;
146 Eigen::Array<int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
149 return _base_permutations;
157 std::vector<int> _parent_map;
163 std::array<int, 4> _num_entity_dofs;
167 std::array<int, 4> _num_entity_closure_dofs;
171 std::vector<std::vector<std::set<int>>> _entity_dofs;
174 std::vector<std::vector<std::set<int>>> _entity_closure_dofs;
177 std::vector<std::shared_ptr<const ElementDofLayout>> _sub_dofmaps;
180 Eigen::Array<int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
int num_entity_closure_dofs(int dim) const
Return the number of closure dofs for a given entity dimension.
Definition: ElementDofLayout.cpp:115
int num_dofs() const
Return the dimension of the local finite element function space on a cell (number of dofs on element)
Definition: ElementDofLayout.cpp:108
Eigen::Array< int, Eigen::Dynamic, 1 > entity_dofs(int entity_dim, int cell_entity_index) const
Local-local mapping of dofs on entity of cell.
Definition: ElementDofLayout.cpp:121
int block_size() const
Block size.
Definition: ElementDofLayout.cpp:195
~ElementDofLayout()=default
Destructor.
int num_entity_dofs(int dim) const
Return the number of dofs for a given entity dimension.
Definition: ElementDofLayout.cpp:110
ElementDofLayout & operator=(const ElementDofLayout &dofmap)=default
Copy assignment.
CellType
Cell type identifier.
Definition: cell_types.h:23
ElementDofLayout(ElementDofLayout &&dofmap)=default
Move constructor.
std::vector< int > sub_view(const std::vector< int > &component) const
Get view for a sub dofmap, defined by the component list (as for sub_dofmap()), into this dofmap....
Definition: ElementDofLayout.cpp:171
int num_sub_dofmaps() const
Get number of sub-dofmaps.
Definition: ElementDofLayout.cpp:153
const std::vector< std::vector< std::set< int > > > & entity_dofs_all() const
Direct access to all entity dofs (dof = _entity_dofs[dim][entity][i])
Definition: ElementDofLayout.cpp:142
ElementDofLayout copy() const
Copy the DOF layout, discarding any parent information.
Definition: ElementDofLayout.cpp:101
ElementDofLayout(int block_size, const std::vector< std::vector< std::set< int >>> &entity_dofs, const std::vector< int > &parent_map, const std::vector< std::shared_ptr< const ElementDofLayout >> &sub_dofmaps, const mesh::CellType cell_type, const Eigen::Array< int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &base_permutations)
Constructor.
Definition: ElementDofLayout.cpp:19
Eigen::Array< int, Eigen::Dynamic, 1 > entity_closure_dofs(int entity_dim, int cell_entity_index) const
Local-local closure dofs on entity of cell.
Definition: ElementDofLayout.cpp:131
Eigen::Array< int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > base_permutations() const
Returns the base permutations of the DoFs, as computed by FFCx.
Definition: ElementDofLayout.h:147
The class represents the degree-of-freedom (dofs) for an element. Dofs are associated with a mesh ent...
Definition: ElementDofLayout.h:37
ElementDofLayout & operator=(ElementDofLayout &&dofmap)=default
Move assignment.
ElementDofLayout(const ElementDofLayout &dofmap)=default
Copy constructor.
std::shared_ptr< const ElementDofLayout > sub_dofmap(const std::vector< int > &component) const
Get sub-dofmap given by list of components, one for each level.
Definition: ElementDofLayout.cpp:156
bool is_view() const
True iff dof map is a view into another map.
Definition: ElementDofLayout.cpp:197
const std::vector< std::vector< std::set< int > > > & entity_closure_dofs_all() const
Direct access to all entity closure dofs (dof = _entity_dofs[dim][entity][i])
Definition: ElementDofLayout.cpp:148