FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
cuthill_mckee.hpp
1// FEAT3: Finite Element Analysis Toolbox, Version 3
2// Copyright (C) 2010 by Stefan Turek & the FEAT group
3// FEAT3 is released under the GNU General Public License version 3,
4// see the file 'copyright.txt' in the top level directory for details.
5
6#pragma once
7
8// includes, FEAT
9#include <kernel/adjacency/permutation.hpp>
10#include <kernel/adjacency/graph.hpp>
11
12// includes, system
13#include <vector>
14
15namespace FEAT
16{
17 namespace Adjacency
18 {
27 {
28 public:
29
35 enum class RootType
36 {
42 standard = 0,
43
50
57 };
58
64 enum class SortType
65 {
71 standard = 0,
72
78 asc = 1,
79
85 desc = 2
86 };
87
109 static Permutation compute(
110 std::vector<Index>& layers,
111 const Graph& graph,
112 bool reverse = false,
115
137 static Permutation compute(
138 const Graph& graph,
139 bool reverse = false,
142 }; // class CuthillMcKee
143 } // namespace Adjacency
144} // namespace FEAT
Cuthill McKee implementation.
RootType
Root type enumeration.
static Permutation compute(std::vector< Index > &layers, const Graph &graph, bool reverse=false, CuthillMcKee::RootType r_type=RootType::standard, CuthillMcKee::SortType t_type=SortType::standard)
Cuthill-McKee permutation computation function.
SortType
Sort type enumeration.
Adjacency Graph implementation.
Definition: graph.hpp:34
FEAT namespace.
Definition: adjactor.hpp:12