GraphOfGridWrappers.hpp
Go to the documentation of this file.
A class calculating and representing all connections of wells. Definition: WellConnections.hpp:51 EdgeWeightMethod enum for choosing Methods for weighting graph-edges correspoding to cell interfaces in Zoltan's or Me... Definition: GridEnums.hpp:34 void extendAndSortImportList(std::vector< std::tuple< int, int, char, int > > &importList, const std::vector< int > &extraCells) Add cells to the import list and sort it. std::vector< std::vector< int > > 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 ... std::vector< int > 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. int numCells(const Dune::CpGrid &grid) Get the number of cells of a grid. std::vector< int > getWellRanks(const std::vector< int > &gIDtoRank, const Dune::cpgrid::WellConnections &wellConnections) Find to which ranks wells were assigned. std::vector< std::vector< int > > makeExportListsFromGIDtoRank(const std::vector< int > &gIDtoRank, int ccsize) Make complete export lists from a vector holding destination rank for each global 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 > > > 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. void addWellConnections(GraphOfGrid< Dune::CpGrid > &gog, const Dune::cpgrid::WellConnections &wells, bool checkWellIntersections=true) Add WellConnections to the GraphOfGrid. 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::WellConnections > 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 > ¶ms, int level) Call Zoltan partitioner on GraphOfGrid. void 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. void addFutureConnectionWells(GraphOfGrid< Dune::CpGrid > &gog, const std::unordered_map< std::string, std::set< int > > &wells, bool checkWellIntersections=true) Adds well to the GraphOfGrid. 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::WellConnections > 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 > ¶ms) Call serial Zoltan partitioner on GraphOfGrid. void 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 void extendGIDtoRank(const GraphOfGrid< Dune::CpGrid > &gog, std::vector< int > &gIDtoRank, const int &root=-1) Correct gIDtoRank's data about well cells. void 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 void setGraphOfGridZoltanGraphFunctions(Zoltan_Struct *zz, GraphOfGrid< Dune::CpGrid > &gog, bool pretendNull) Register callback functions to Zoltan. void 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 int getGraphOfGridNumVertices(void *pGraph, int *err) callback function for ZOLTAN_NUM_OBJ_FN std::vector< std::pair< std::string, bool > > 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. Dune::Communication< MPICommunicator > Communication Definition: CpGridDataTraits.hpp:58 |