optimad / bitpit

Open source library for scientific HPC
http://optimad.github.io/bitpit/
GNU Lesser General Public License v3.0
117 stars 33 forks source link

patchkernel: allow to build more than one layer of ghost cells #310

Closed andrea-iob closed 2 years ago

andrea-iob commented 2 years ago

It is now possible to build more than one layer of ghost cells.

Draft because it needs more testing.

andrea-iob commented 2 years ago

@edoardolombardi @roccoarpa This pull request make mandatory specifying the ghost layer when adding new ghost cells. Old methods still exists, but they are marked as deprecated. However, I've just realized that the signature of the new methods may confuse the compiler (calls to the old method can replaced with calls to the new one). Can you check if this changes work fine in your applications?

edoardolombardi commented 2 years ago

@andrea-iob just as update: we didn't check yet this modifications. Sorry, for the delay; I think that we have mainly to check if we can force the single layer of ghosts easily and in a clean way for the user. In this moment the whole mimic project works and is based on the assumption that a single layer of ghosts is allowed; some methods and algorithms are developed on this hypothesis.

As soon as possible we'll try the branch and test mimic considering that the deprecated methods cannot longer be used.

marcocisternino commented 2 years ago

I tested by writing an example building a volunstructured in parallel directly and checking the goodness of the source and target lists. I confirm that it is possible to build a patch providing rank sub-domains with ghosts in more than a halo layer. I tested 2 layers.