1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::pairGAMGAgglomeration
28 Agglomerate using the pair algorithm.
31 pairGAMGAgglomeration.C
33 pairGAMGAgglomerationCombineLevels.C
35 \*---------------------------------------------------------------------------*/
37 #ifndef pairGAMGAgglomeration_H
38 #define pairGAMGAgglomeration_H
40 #include "GAMGAgglomeration.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 /*---------------------------------------------------------------------------*\
48 Class pairGAMGAgglomeration Declaration
49 \*---------------------------------------------------------------------------*/
51 class pairGAMGAgglomeration
53 public GAMGAgglomeration
57 //- Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.
63 // Protected Member Functions
65 //- Calculate and return agglomeration of given level
66 tmp<labelField> agglomerate
69 const lduAddressing& fineMatrixAddressing,
70 const scalarField& faceWeights
73 //- Agglomerate all levels starting from the given face weights
77 const scalarField& faceWeights
80 void combineLevels(const label curLevel);
82 //- Disallow default bitwise copy construct
83 pairGAMGAgglomeration(const pairGAMGAgglomeration&);
85 //- Disallow default bitwise assignment
86 void operator=(const pairGAMGAgglomeration&);
91 //- Runtime type information
97 //- Construct given mesh and controls
101 const dictionary& controlDict
106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 } // End namespace Foam
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 // ************************************************************************* //