dummyScotch.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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
19  for more details.
20 
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/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "scotch.H"
28 #include "Time.H"
29 
30 static const char* notImplementedMessage =
31 "You are trying to use scotch but do not have the scotch library loaded."
32 "\nThis message is from the dummy scotch stub library instead.\n"
33 "\n"
34 "Please install scotch and make sure that libscotch.so is in your "
35 "LD_LIBRARY_PATH.\n"
36 "The scotch library can then be built in "
37 "$FOAM_SRC/parallel/decompose/decompositionMethods/scotch\n";
38 
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 namespace Foam
43 {
44 namespace decompositionMethods
45 {
47 
49  (
51  scotch,
52  decomposer
53  );
54 
56  (
58  scotch,
59  distributor
60  );
61 }
62 }
63 
64 
65 // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
66 
67 void Foam::decompositionMethods::scotch::check
68 (
69  const int retVal,
70  const char* str
71 )
72 {}
73 
74 
76 (
77  const fileName& meshPath,
78  const List<label>& adjncy,
79  const List<label>& xadj,
80  const scalarField& cWeights,
81 
82  List<label>& finalDecomp
83 )
84 {
87 
88  return -1;
89 }
90 
91 
92 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
93 
95 (
96  const dictionary& decompositionDict,
97  const dictionary& methodDict
98 )
99 :
100  decompositionMethod(decompositionDict)
101 {}
102 
103 
104 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
105 
107 (
108  const polyMesh& mesh,
109  const pointField& points,
110  const scalarField& pointWeights
111 )
112 {
115 
116  return labelList::null();
117 }
118 
119 
121 (
122  const polyMesh& mesh,
123  const labelList& agglom,
124  const pointField& agglomPoints,
125  const scalarField& pointWeights
126 )
127 {
130 
131  return labelList::null();
132 }
133 
134 
136 (
137  const labelListList& globalCellCells,
138  const pointField& cellCentres,
139  const scalarField& cWeights
140 )
141 {
144 
145  return labelList::null();
146 }
147 
148 
149 // ************************************************************************* //
Macros for easy insertion into run-time selection tables.
static const List< label > & null()
Return a null List.
Definition: ListI.H:118
Abstract base class for decomposition.
Scotch domain decomposition. When run in parallel will collect the whole graph on to the master,...
Definition: scotch.H:228
virtual labelList decompose(const pointField &points, const scalarField &pointWeights)
Inherit decompose from decompositionMethod.
scotch(const dictionary &decompositionDict, const dictionary &methodDict)
Construct given the decomposition dictionary and mesh.
Definition: dummyScotch.C:95
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:80
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
static const char * notImplementedMessage
Definition: dummyScotch.C:30
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition: error.H:334
const pointField & points
addToRunTimeSelectionTable(decompositionMethod, metis, decomposer)
Namespace for OpenFOAM.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:124
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
error FatalError
word meshPath
Definition: setMeshPath.H:1