|
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. More...
|
|
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 lists. More...
|
|
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. More...
|
|
◆ communicateExportedCells()
Communicate cells exported from root, needed for extending other rank's import lists.
Helper function for extendAndSortExportAndImportLists. Only the root rank has access to the grid and wells. Partitioning with GraphOfGrid hides some well cells from the partitioner and the importLists are incomplete. This function serves to communicate the missing (well) cells to non-root ranks. Input (the prepared container with cell IDs) is thus relevant only on the root rank, whereas output (cells received by communication) only on the non-root ranks. Sending is nonblocking to quicken the root, receiving is blocking - non-root ranks have nothing else to do anyway. - Parameters
-
exportedCells | Contains for each rank the cells that are exported there, empty on non-root ranks |
cc | Communication object |
root | The root's rank |
- Returns
- Vector of cells necessary to extend this rank's import lists, empty on the root rank
◆ extendAndSortImportList()
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.
Helper function for extendAndSortExportAndImportLists.
◆ extendRootExportList()
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.
Helper function for extendAndSortExportAndImportLists. On non-root ranks, it does nothing and returns an empty vector. On root, exportList is extended by well cells that are hidden from the partitioner. These cells are also collected and returned so they can be communicated to other ranks. - Returns
- vector[rank][cell] Each entry contains vector of cells exported to that rank.
|