OPM / opm-grid

DUNE module supporting grids in a corner-point format
http://www.opm-project.org
GNU General Public License v3.0
20 stars 78 forks source link

Parallel CpGrid test with aquifer cells is missing. #668

Open blattms opened 1 year ago

blattms commented 1 year ago

While looking at OPM/opm-simulators#740 I started wondering whether we actually distribute the information about aquifer cells when load balancing. I hope we do, but we should definitely add one test for that to the test suite. At least could not find one.

bska commented 1 year ago

While looking at OPM/opm-simulators#740

Do you mean OPM/opm-simulators#4740?

I started wondering whether we actually distribute the information about aquifer cells when load balancing.

Kind of. There's nothing in the load balancing step that uses or is aware of numerical aquifers, but once we're running in distributed mode every process/rank's collection of aquifers knows about all numerical aquifers in the model.

blattms commented 1 year ago

While looking at OPM/opm-simulators#740

Do you mean OPM/opm-simulators#4740?

Yes that is what I meant. In AquiferGridUtils.hpp#L52 we ask CpGrid about the aquifer cells, but I cannot find that this information is actually ever transferred to the load balanced grid. For the unbalanced grid the aquifer cells a added when processing the eclipse files it seems.

bska commented 1 year ago

While looking at OPM/opm-simulators#4740 I started wondering whether we actually distribute the information about aquifer cells when load balancing. In AquiferGridUtils.hpp#L52 we ask CpGrid about the aquifer cells, but I cannot find that this information is actually ever transferred to the load balanced grid. For the unbalanced grid the aquifer cells a added when processing the eclipse files it seems.

I didn't get a definite answer to this, but while working on a tangential issue I had a look at the AquiferConfig's serializeOp() member function. That function will distribute all knowledge of numerical aquifers to all processes provided there are no changes to the numerical aquifer parts of AquiferConfig structure after serializeOp() has been called. That may of course still not be enough to get the information into the CpGrid on all ranks, but at least the information ought to be available everywhere.