Full support for ghosted/unghosted distributed triangulations #100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In
GridapDistributed
, we generally allow the creation of ghosted/unghosted versions of objects. Although generally we require unghosted triangulations for integration, having both is usually required for more complex stuff.The original version of the distributed code does not allow this. In fact, the code avoids doing cuts on ghosted cells. This was probably done to avoid repeating work, but it limits the potential of the distributed code. One example where the current implementation is not flexible enough is taking Skeleton/Boundary triangulations of a distributed
SubFacetTriangulation
, where we require access to the cuts on ghost cells in order to properly distinguish between interior and boundary faces.In terms of performance, I would argue that creating model views to create the cuts and then mapping the cuts back to the original model is a lot more costly than doing the cuts on the ghost cells then masking out the result.
This also results is quite a lot less code, and better one-to-one comparison with what we do in
GridapDistributed
.All in all, I propose changes to address all the above.