[MOAB-dev] get_adjacencies after exchange_ghost_cells

Ryan O'Kuinghttons ryan.okuinghttons at noaa.gov
Mon Nov 19 16:21:31 CST 2018


Hi Iulian,

After some more debugging, the issue seems to be an old one.. the 
elem_coords tag is not coming across on the ghost elements. I am using 
separate exchange_tags calls as you instructed:

   Range nodes;
   merr=mbmesh->mesh->get_entities_by_dimension(0, 0, nodes);

   merr = pcomm->exchange_tags(node_tags, node_tags, nodes);

   Range elems;
   merr=mbmesh->mesh->get_entities_by_dimension(0, mbmesh->pdim, elems);

   merr = pcomm->exchange_tags(elem_tags, elem_tags, elems);

Also, I resolved the issue with double call to resolve_shared_ents.. 
This version:

   pcomm->resolve_shared_ents(0, mbmp->pdim, mbmp->pdim-1);

is what was being used in MBMesh_addelements, and it doesn't seem to do 
the job. When I replaced it with this version it worked:

   mbmp->mesh->get_entities_by_dimension(0, mbmp->pdim, elems);
   pcomm->resolve_shared_ents(0, elems, mbmp->pdim, mbmp->pdim-1);

I pushed this change to the moab4 branch along with some other debugging 
code.

Ryan

On 11/19/18 12:53, Ryan O'Kuinghttons wrote:
> Hi Iulian, I'm seeing an issue with calling get_adjacencies after the 
> exchange_ghost_cells/tag_exchange call. For some reason, the Range of 
> adjacencies contains elements without tags. Is there something special 
> that needs to be done in this case?
>
> Also, I am still calling resolve_shared_ents twice, once in 
> MBMesh_addelements and then again in the ghost exchange routine, 
> because without that second call the adjacencies don't seem to include 
> ghosted elements at all..
>
> The reproducer is updated on the moab4 branch if you want to try it 
> again:
>
> esmf/src/Infrastructure/Mesh/tests/ESMC_MeshMOABGhostUTest.C
>


More information about the moab-dev mailing list