[MOAB-dev] get_adjacencies after exchange_ghost_cells

Grindeanu, Iulian R. iulian at mcs.anl.gov
Mon Nov 19 16:25:51 CST 2018


sorry,
I just got to it;
do I have to recompile everything?
I had a small compile error, probably you fixed it in the new version
     Range elems;
-    merr=mb->get_entities_by_dimension(0, mbmp->pdim, elems);
+    merr=moab_mesh->get_entities_by_dimension(0, mbmp->pdim, elems);
     MBMESH_CHECK_ERR(merr, localrc);

so can I recompile just moab part?
Iulian

________________________________________
From: Ryan O'Kuinghttons <ryan.okuinghttons at noaa.gov>
Sent: Monday, November 19, 2018 4:21:31 PM
To: Grindeanu, Iulian R.; moab-dev at mcs.anl.gov
Subject: Re: get_adjacencies after exchange_ghost_cells

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