class
#include <atlas/mesh/actions/Reorder.h>
ReorderImpl Base class for reordering the mesh nodes and elements.
Derived classes
- class NoReorder
- Dummy implemenation of ReorderImpl which does nothing.
- class ReorderHilbert
- class ReorderReverseCuthillMckee
Public static functions
-
static void reorderNodes(Mesh& mesh,
const std::
vector<idx_ t>& order) - static void reorderCellsUsingNodes(Mesh& mesh)
- Reorder the cells by lowest node local index within each cell.
- static void reorderEdgesUsingNodes(Mesh& mesh)
- Reorder the edges by lowest node local index within each edge.
Constructors, destructors, conversion operators
- ReorderImpl() defaulted
Public functions
- void operator()(Mesh&) virtual
-
auto computeNodesOrder(Mesh&) -> std::
vector<idx_ t> pure virtual
Function documentation
static void atlas:: mesh:: actions:: ReorderImpl:: reorderNodes(Mesh& mesh,
const std:: vector<idx_ t>& order)
Reorder the nodes in the given mesh using a given order
- All fields in mesh.nodes() are reordered.
- mesh.cells().node_connectivity() gets updated
- mesh.edges().node_connectivity() gets updated
void atlas:: mesh:: actions:: ReorderImpl:: operator()(Mesh&) virtual
Reorder the nodes in the given mesh using the order computed with the computeNodesOrder function Then apply reorderCellsUsingNodes and reorderEdgesUsingNodes