[MOAB-dev] Help for migration of cells between MPI subdomains with moab

Olivier Jamond olivier.jamond at cea.fr
Thu Jun 10 07:32:48 CDT 2021


Dear Moab developers,

I am working for the french CEA 
(https://en.wikipedia.org/wiki/French_Alternative_Energies_and_Atomic_Energy_Commission) 
on the development of a new software dedicated to HPC simulations of 
various mechanical scenarii (structures, fluid, FSI, other couplings, 
...) using mesh-based methods (finite-elements, finite-volumes, 
hybrid-discontinuous-galerkin, ...).

This new code uses moab to manage the topological connections between 
geometrical entities in a distributed memory context.

For several reasons, especially for dynamic load balancing, we will need 
to be able to migrate cells between MPI processes during calculations. 
But at this time I am quite stuck with this with moab... So I wonder if 
maybe you could help me with that...

I struggled for some time with the moab::ParallelComm class to try to 
migrate a cell from a process to another one, but without success. I 
attached to this email a very simple toy piece of code which illustrates 
that. In this simple program, I construct a basic mesh with 2 quads on 
the proc0, and I would like to migrate one of these quads to proc1, and 
then migrate it back to proc0. As I wrote in some comments in this code, 
I tried using different functions ('high-level' send/recv_entities, 
send_recv_entities, 'low-level' pack/unpack_entities), but without 
success yet...

I would really appreciate if you could help me with that and maybe take 
a look at the attached simple code.

Best regards,
Olivier Jamond




More information about the moab-dev mailing list