The open source CFD toolbox
bandCompression.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2013 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26 InNamespace
27  Foam
28
29 Description
30  The bandCompression function renumbers the addressing such that the
31  band of the matrix is reduced. The algorithm uses a simple search
32  through the neighbour list in order of connectivity.
33  (CutHill-McKee algorithm)
34
35 SourceFiles
36  bandCompression.C
37
38 \*---------------------------------------------------------------------------*/
39
40 #ifndef bandCompression_H
41 #define bandCompression_H
42
43 #include "labelList.H"
44
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47 namespace Foam
48 {
49
50 //- Renumbers the addressing to reduce the band of the matrix.
51 // The algorithm uses a simple search through the neighbour list
52 // Returns the order in which the cells need to be visited (i.e. ordered to
53 // original)
54 labelList bandCompression(const labelListList& addressing);
55
56 //- Renumber with addressing in losort form (neighbour + start in neighbour)
57 labelList bandCompression(const labelList& cellCells, const labelList& offsets);
58
59 } // End namespace Foam
60
61 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62
63 #endif
64
65 // ************************************************************************* //
Foam::labelList
List< label > labelList
A List of labels.
Definition: List.H:71
Foam::bandCompression
labelList bandCompression(const labelListList &addressing)
Renumbers the addressing to reduce the band of the matrix.
Definition: bandCompression.C:44
labelList.H
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::labelListList
List< labelList > labelListList
A List of labelList.
Definition: labelList.H:56