Commit Graph

20 Commits

Author SHA1 Message Date
Arne Morten Kvarving
2c0ff6f81e consistently use ParallelCommunication.hpp for communication definition 2022-09-01 12:26:11 +02:00
Elyes Ahmed
0202b00d59 clean up after review 2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90 Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
Joakim Hove
7bb3dba310 Special case wells with no open connections in ParallelWellInfo 2021-08-31 17:31:45 +02:00
Arne Morten Kvarving
d4a0d2962f ParallelWellInfo: use forwarding 2021-04-30 13:24:06 +02:00
Markus Blatt
ef6c953e0f [bugfix] Fix partial sum
the total number of entries gathered was computed wrong, and we wrote
out ouf memory.
2020-12-18 14:48:19 +01:00
Markus Blatt
69fd6495c0 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.
2020-12-18 14:48:19 +01:00
Markus Blatt
53b51eeba7 Use int as global index type in IndexSet
That is what seems to be used by ECL schedule, too.
2020-12-18 14:48:19 +01:00
Markus Blatt
fa83ed2fdc use random access to simplify code at second occasion 2020-12-11 14:25:56 +01:00
Markus Blatt
b4ed86313e use random access to simplify code during partial_sum of dist wells 2020-12-11 11:24:51 +01:00
Markus Blatt
c0c1897ea9 Fix computeConnectionPressureDelta for distributed wells.
As this is as sequential (ordering matters!) as it can get we need to
communicate all perforations, do the partial sum with them and save
result back to the local perforations.
2020-12-10 11:32:52 +01:00
Markus Blatt
35218bf042 Added possibility to communicate values from perforations below. 2020-12-10 11:06:28 +01:00
Markus Blatt
3c66b729e1 Fixes perf rate initialization for distributed wells. 2020-12-10 11:06:28 +01:00
Markus Blatt
6f4fa114c1 barrier before and after MPI_Broadcast in non-production runs.
This helps with debugging as for some OpenMPI versions communication
might interfere with other communications if there are bugs.
2020-12-07 16:32:33 +01:00
Markus Blatt
575120d4f0 Improce documentation a bit. 2020-12-03 15:24:05 +01:00
Markus Blatt
c5dd4f4533 Make CommunicateAbove constructor explicit. 2020-12-03 15:12:35 +01:00
Markus Blatt
0126243f02 Utility to communicate above value of a perf of distributed well
This adds an utility that creates a vector of all above values for
the local perforations. For distributed wells this is needed as the
perforation above might live on another processor. We use the parallel
index sets together with the global index of the cells that are
perforated.
2020-12-03 11:10:36 +01:00
Markus Blatt
73919d6136 Support broadcasting value of first perforation for distributed well
This needed to e.g. determine bottom hole pressure, pvt region, etc.
2020-12-03 11:10:36 +01:00
Markus Blatt
317e29d15a Utility for checking connections of distributed well. 2020-12-03 11:10:36 +01:00
Markus Blatt
3996967344 Added a class with information and comunicator for parallel wells.
BlackoilWellModel now stores an instance of this class for each
well. Inside that class there is a custom communicator that only
contains ranks that will have local cells perforated by the well.
This will be used in the application of the distributed well operator.

This is another small step in the direction of distributed wells,
but it should be safe to merge this (note creation of the custom
communicators is a collective operation in MPI but done only once).
2020-12-03 09:29:43 +01:00