Class GooseFEM::Mesh::Renumber#

class Renumber#

Renumber indices to lowest possible index.

For example:

\( \begin{bmatrix} 0 & 1 \\ 5 & 4 \end{bmatrix} \)

is renumbered to

\( \begin{bmatrix} 0 & 1 \\ 3 & 2 \end{bmatrix} \)

Or, in pseudo-code, the result of this function is that:

 dofs = renumber(dofs)
 sort(unique(dofs[:])) == range(max(dofs+1))

Note

One can use the wrapper function renumber(). This class gives more advanced features.

Public Functions

template<class T>
inline Renumber(const T &dofs)#
Parameters

dofs – DOF-numbers.

template<class T>
inline T apply(const T &list) const#

Apply renumbering to other set.

Parameters

list – List of (DOF-)numbers.

Returns

Renumbered list of (DOF-)numbers.

inline const array_type::tensor<size_t, 1> &index() const#

Get the list needed to renumber, e.g.:

 dofs_renumbered(i, j) = index(dofs(i, j))

Returns

Renumber-index.