This is an issue that has been raised on the list before: libMesh writes
out solutions to disk using an indexing scheme based on a Hilbert curve, in
order to provide a partition independent numbering. As far as I understand,
this uses the locations of nodes to generate the numbering and as a result
it produces incorrect results on a "slit" mesh.

I believe the only fix for this is to introduce a small gap in the mesh so
that we don't have any coincident nodes, is that right? I was wondering if
anyone can provide guidance about how big that gap has to be? Is a machine
precision gap sufficient, or does it have to be significantly larger? (I've
generally used a gap of 1.e-5 which works fine, but I was wondering what
the tolerance for the Hilbert indexing is, and if it can be changed.)

Another question: It would be helpful if we could trigger an error if a
slit mesh is detected when writing out or reading in, since otherwise we
can get "silent failures". Would this error detection be feasible? I'd be
happy to work on it, if there is a clear path on how it could be
implemented.

Thanks!
David
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to