Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions include/base/dof_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -716,19 +716,41 @@ class DofMap : public ReferenceCountedObject<DofMap>,

/**
* Fills the vector \p di with the global degree of freedom indices
* for the node.
* for the \p node.
*/
void dof_indices (const Node * const node,
std::vector<dof_id_type> & di) const;

/**
* Fills the vector \p di with the global degree of freedom indices
* for the node. For one variable \p vn.
* for the \p node, for one variable \p vn.
*/
void dof_indices (const Node * const node,
std::vector<dof_id_type> & di,
const unsigned int vn) const;

/**
* Appends to the vector \p di the global degree of freedom indices
* for \p elem.node_ref(n), for one variable \p vn. On hanging
* nodes with both vertex and non-vertex DoFs, only those indices
* which are directly supported on \p elem are included.
*/
void dof_indices (const Elem & elem,
unsigned int n,
std::vector<dof_id_type> & di,
const unsigned int vn) const;

/**
* Appends to the vector \p di the old global degree of freedom
* indices for \p elem.node_ref(n), for one variable \p vn. On
* hanging nodes with both vertex and non-vertex DoFs, only those
* indices which are directly supported on \p elem are included.
*/
void old_dof_indices (const Elem & elem,
unsigned int n,
std::vector<dof_id_type> & di,
const unsigned int vn) const;

/**
* Fills the vector \p di with the global degree of freedom indices
* corresponding to the SCALAR variable vn. If old_dofs=true,
Expand Down Expand Up @@ -1411,6 +1433,16 @@ class DofMap : public ReferenceCountedObject<DofMap>,
#endif
) const;

/**
* Helper function that implements the element-nodal versions of
* dof_indices and old_dof_indices
*/
void _node_dof_indices (const Elem & elem,
unsigned int n,
const DofObject & obj,
std::vector<dof_id_type> & di,
const unsigned int vn) const;

/**
* Builds a sparsity pattern
*/
Expand Down
Loading