GraphOfGridWrappers.hpp File Reference
#include <opm/common/OpmLog/OpmLog.hpp>
#include <opm/grid/GraphOfGrid.hpp>
#include <opm/grid/common/WellConnections.hpp>
#include <opm/grid/common/ZoltanGraphFunctions.hpp>
Include dependency graph for GraphOfGridWrappers.hpp:

Go to the source code of this file.

Namespaces

namespace  Opm
 Holds the implementation of the CpGrid as a pimple.
 
namespace  Opm::Impl
 

Functions

int Opm::getGraphOfGridNumVertices (void *pGraph, int *err)
 callback function for ZOLTAN_NUM_OBJ_FN More...
 
void Opm::getGraphOfGridVerticesList (void *pGraph, int dimGlobalID, int dimLocalID, ZOLTAN_ID_PTR gIDs, ZOLTAN_ID_PTR lIDs, int weightDim, float *objWeights, int *err)
 callback function for ZOLTAN_OBJ_LIST_FN More...
 
void Opm::getGraphOfGridNumEdges (void *pGraph, int dimGlobalID, int dimLocalID, int numCells, ZOLTAN_ID_PTR gIDs, ZOLTAN_ID_PTR lIDs, int *numEdges, int *err)
 callback function for ZOLTAN_NUM_EDGES_MULTI_FN More...
 
void Opm::getGraphOfGridEdgeList (void *pGraph, int dimGlobalID, int dimLocalID, int numCells, ZOLTAN_ID_PTR gIDs, ZOLTAN_ID_PTR lIDs, int *numEdges, ZOLTAN_ID_PTR nborGIDs, int *nborProc, int weightDim, float *edgeWeights, int *err)
 callback function for ZOLTAN_EDGE_LIST_MULTI_FN More...
 
template<typename Zoltan_Struct >
void Opm::setGraphOfGridZoltanGraphFunctions (Zoltan_Struct *zz, GraphOfGrid< Dune::CpGrid > &gog, bool pretendNull)
 Register callback functions to Zoltan. More...
 
void Opm::addFutureConnectionWells (GraphOfGrid< Dune::CpGrid > &gog, const std::unordered_map< std::string, std::set< int > > &wells, bool checkWellIntersections=true)
 Adds well to the GraphOfGrid. More...
 
void Opm::addWellConnections (GraphOfGrid< Dune::CpGrid > &gog, const Dune::cpgrid::WellConnections &wells, bool checkWellIntersections=true)
 Add WellConnections to the GraphOfGrid. More...
 
void Opm::extendGIDtoRank (const GraphOfGrid< Dune::CpGrid > &gog, std::vector< int > &gIDtoRank, const int &root=-1)
 Correct gIDtoRank's data about well cells. More...
 
void Opm::Impl::extendAndSortImportList (std::vector< std::tuple< int, int, char, int > > &importList, const std::vector< int > &extraCells)
 Add cells to the import list and sort it. More...
 
std::vector< std::vector< int > > Opm::Impl::extendRootExportList (const GraphOfGrid< Dune::CpGrid > &gog, std::vector< std::tuple< int, int, char > > &exportList, int root, const std::vector< int > &gIDtoRank)
 Add well cells' global IDs to the root's export list and output cells missing in other rank's import lists. More...
 
std::vector< int > Opm::Impl::communicateExportedCells (const std::vector< std::vector< int > > &exportedCells, const Dune::cpgrid::CpGridDataTraits::Communication &cc, int root)
 Communicate cells exported from root, needed for extending other rank's import lists. More...
 
void Opm::extendAndSortExportAndImportLists (const GraphOfGrid< Dune::CpGrid > &gog, const Dune::cpgrid::CpGridDataTraits::Communication &cc, int root, std::vector< std::tuple< int, int, char > > &exportList, std::vector< std::tuple< int, int, char, int > > &importList, const std::vector< int > &gIDtoRank={})
 Add well cells' global IDs to the root's export and others' import list. More...
 
std::vector< int > Opm::getWellRanks (const std::vector< int > &gIDtoRank, const Dune::cpgrid::WellConnections &wellConnections)
 Find to which ranks wells were assigned. More...
 
std::vector< std::pair< std::string, bool > > Opm::wellsOnThisRank (const std::vector< Dune::cpgrid::OpmWellType > &wells, const std::vector< int > &wellRanks, const Dune::cpgrid::CpGridDataTraits::Communication &cc, int root)
 Get rank-specific information about which wells are present. More...
 
template<class Id >
std::tuple< std::vector< int >, std::vector< std::pair< std::string, bool > >, std::vector< std::tuple< int, int, char > >, std::vector< std::tuple< int, int, char, int > > > Opm::makeImportAndExportLists (const GraphOfGrid< Dune::CpGrid > &gog, const Dune::Communication< MPI_Comm > &cc, const std::vector< Dune::cpgrid::OpmWellType > *wells, const Dune::cpgrid::WellConnections &wellConnections, int root, int numExport, int numImport, const Id *exportLocalGids, const Id *exportGlobalGids, const int *exportToPart, const Id *importGlobalGids, int level)
 Transform Zoltan output into tuples. More...
 
std::tuple< std::vector< int >, std::vector< std::pair< std::string, bool > >, std::vector< std::tuple< int, int, char > >, std::vector< std::tuple< int, int, char, int > >, Dune::cpgrid::WellConnectionsOpm::zoltanPartitioningWithGraphOfGrid (const Dune::CpGrid &grid, const std::vector< Dune::cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, const double *transmissibilities, const Dune::cpgrid::CpGridDataTraits::Communication &cc, Dune::EdgeWeightMethod edgeWeightMethod, int root, const double zoltanImbalanceTol, bool allowDistributedWells, const std::map< std::string, std::string > &params, int level)
 Call Zoltan partitioner on GraphOfGrid. More...
 
std::vector< std::vector< int > > Opm::makeExportListsFromGIDtoRank (const std::vector< int > &gIDtoRank, int ccsize)
 Make complete export lists from a vector holding destination rank for each global ID. More...
 
std::tuple< std::vector< int >, std::vector< std::pair< std::string, bool > >, std::vector< std::tuple< int, int, char > >, std::vector< std::tuple< int, int, char, int > >, Dune::cpgrid::WellConnectionsOpm::zoltanSerialPartitioningWithGraphOfGrid (const Dune::CpGrid &grid, const std::vector< Dune::cpgrid::OpmWellType > *wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, const double *transmissibilities, const Dune::cpgrid::CpGridDataTraits::Communication &cc, Dune::EdgeWeightMethod edgeWeightMethod, int root, const double zoltanImbalanceTol, bool allowDistributedWells, const std::map< std::string, std::string > &params)
 Call serial Zoltan partitioner on GraphOfGrid. More...