ZoltanPartition.hpp
1 /*
2  Copyright 2015 Dr. Blatt - HPC-Simulation-Software & Services.
3  Copyright 2015 Statoil AS
4 
5  This file is part of The Open Porous Media project (OPM).
6 
7  OPM is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  OPM is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with OPM. If not, see <http://www.gnu.org/licenses/>.
19 */
20 #ifndef DUNE_CPGRID_ZOLTANPARTITION_HEADER
21 #define DUNE_CPGRID_ZOLTANPARTITION_HEADER
22 
23 #include <unordered_set>
24 
25 #include <dune/grid/CpGrid.hpp>
26 #include <dune/grid/common/ZoltanGraphFunctions.hpp>
27 
28 #if defined(HAVE_ZOLTAN) && defined(HAVE_MPI)
29 namespace Dune
30 {
31 namespace cpgrid
32 {
50 std::pair<std::vector<int>,std::unordered_set<std::string> >
51 zoltanGraphPartitionGridOnRoot(const CpGrid& grid,
52  const Opm::EclipseState* eclipseState,
53  const double* transmissibilities,
54  const CollectiveCommunication<MPI_Comm>& cc,
55  int root);
56 }
57 }
58 #endif // HAVE_ZOLTAN
59 #endif // header guard
Holds the implementation of the CpGrid as a pimple.
Definition: OpmParserIncludes.hpp:42