Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow empty partitions #4308

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from
Draft

Conversation

akva2
Copy link
Member

@akva2 akva2 commented Dec 6, 2022

For testing purposes (zoltan acting up), it was requested that flow can run with empty grid partitions. This is the start of that work.

Downstream of OPM/opm-grid#606

@akva2 akva2 marked this pull request as draft December 6, 2022 10:09
@blattms
Copy link
Member

blattms commented Dec 6, 2022

Great, then we will get a fix for #2770 if that still applies.

all processes need to participate in the summation, even if they
own no cells in the region.
if a process owns no cells, the pvt_region_idx_ vector is empty.
in that case we use a dummy -1 value
this is not true if a process has zero cells -> not a logic error.
if matrix is empty, dividing by N() is not a good idea.
this happens if a process owns zero cells
not entries to calculate. in particular zero'ing an empty matrix
causes dune to throw
calling compress() on an empty matrix causes a nullptr dereference.
use random build mode to avoid the call to compress() if matrix is
empty.
we are using the local size to flag whether or not to store a field.
this does not work if the process owns zero cells. we have to
broadcast the enabled fields names from the first process owning
cells to get this in sync on zero-cell processes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants