Added factory to construct the global representation of perf data.

Some of our computations are heavily serial and need a complete
representation of the data attached to all perforation no matter
whether a perforation lives on the local partition or not. This commit
adds a factory that allows to easily create such a representaion and
helps writing data back to the local representation.
This commit is contained in:
Markus Blatt
2020-12-14 16:35:30 +01:00
parent 53b51eeba7
commit 69fd6495c0
4 changed files with 414 additions and 21 deletions

View File

@@ -467,7 +467,7 @@ namespace Opm {
// Clear the communication data structures for above values.
for(auto&& pinfo : local_parallel_well_info_)
{
pinfo->clearCommunicateAboveBelow();
pinfo->clear();
}
}
@@ -650,6 +650,9 @@ namespace Opm {
completion_index);
}
firstOpenCompletion = false;
// Next time this index is the one above as each open completion is
// is stored somehwere.
completion_index_above = completion_index;
} else {
checker.connectionFound(completion_index);
if (completion.state() != Connection::State::SHUT) {
@@ -660,7 +663,6 @@ namespace Opm {
// Note: we rely on the connections being filtered! I.e. there are only connections
// to active cells in the global grid.
++completion_index;
++completion_index_above;
}
parallelWellInfo.endReset();
checker.checkAllConnectionsFound();