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 )
98 :
99  decompositionMethod(decompositionDict)
100 {}
101 
102 
103 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
104 
106 (
107  const polyMesh& mesh,
108  const pointField& points,
109  const scalarField& pointWeights
110 )
111 {
114 
115  return labelList::null();
116 }
117 
118 
120 (
121  const polyMesh& mesh,
122  const labelList& agglom,
123  const pointField& agglomPoints,
124  const scalarField& pointWeights
125 )
126 {
129 
130  return labelList::null();
131 }
132 
133 
135 (
136  const labelListList& globalCellCells,
137  const pointField& cellCentres,
138  const scalarField& cWeights
139 )
140 {
143 
144  return labelList::null();
145 }
146 
147 
148 // ************************************************************************* //
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)
Construct given the decomposition dictionary and mesh.
Definition: dummyScotch.C:95
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:80
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