libMesh / libmesh

libMesh github repository
http://libmesh.github.io
GNU Lesser General Public License v2.1
659 stars 286 forks source link

Exodus output: Write node/element ID map when available #3966

Open jessecarterMOOSE opened 1 month ago

jessecarterMOOSE commented 1 month ago

User-defined node and element ids are being renumbered when writing data, because we're renumbering in write_equation_systems.

FWIW my use case is MOOSE where mesh data are being read from a file (Abaqus format in this case) with non-contiguous node IDs. Also note the user-defined node ID map is preserved in Exodus file when running MOOSE with --mesh-only.

tagging @roystgnr based on Slack conversation.

bwspenc commented 1 month ago

This is definitely a problem that we have been dealing with for a long time that affects many users. I usually tell people to use the numbering in the output mesh when this comes up, but based on what @jessecarterMOOSE says, that isn't a completely foolproof solution. We generally try to avoid referencing nodes or elements by ID, but sometimes it's necessary, and it probably most often comes up when someone is trying to debug code.

If we could somehow always get the node or element numbering map output to the exodus file if it existed in the input mesh, that would be ideal. Even if adaptivity were used, it would be good to keep the base numbering if possible.