On Tue, 20 Mar 2018, Salazar De Troya, Miguel wrote:

this->make_node_proc_ids_parallel_consistent(mesh) did not work. I get the 
exact same error. Is this strange?

From the outside view, "Is it strange that extremely complicated
parallel code isn't working perfectly" is sad but not strange at all.

From the inside view, it seems exceptionally strange to me.  We sync
all nodes' processor ids (albeit by element id with local node id,
since we don't yet have consistent global node ids at this point in
the code), and then when we check to see if all nodes' processor ids
are in sync, they aren't?

At this point I'd be thrilled if you could send me code with which to
try and replicate the problem, or even if you could just output a
CheckpointIO file set right before the
make_node_proc_ids_parallel_consistent() call and send me that.

But for now, let's see what I can figure out at arms' length.  I only
know of situations where a sync by element id with local node id
wouldn't be sufficient.  Let me know if either apply to you?

1.  If you have a node N which isn't connected to any elements.  (This
can be fixed by using a NodeElem in your Mesh)

2.  If you have a node N which is connected to two elements, let's
call them E1 and E5, such that no chain of neighbor links like
"E1->E2->E3->E4->E5" (with any number of intermediate elements) exists
for which all intermediate elements are connected to N.  Imagine two
squares connected only at one corner - we don't support such a domain
with DistributedMesh unless you add a complicated GhostingFunctor to
handle the one-point-only connection.
---
Roy

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to