-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not preparing for use before exodus output can leave the mesh incompatible with Paraview #27668
Comments
When are you outputting the mesh? We should be always preparing for use after the final mesh generator has run |
Even in mesh-only mode? |
Yes, this code should still get called bool
MooseMesh::prepare(const MeshBase * const mesh_to_clone)
{
TIME_SECTION("prepare", 2, "Preparing Mesh", true);
bool called_prepare_for_use = false;
mooseAssert(_mesh, "The MeshBase has not been constructed");
if (!dynamic_cast<DistributedMesh *>(&getMesh()) || _is_nemesis)
// For whatever reason we do not want to allow renumbering here nor ever in the future?
getMesh().allow_renumbering(false);
if (mesh_to_clone)
{
mooseAssert(mesh_to_clone->is_prepared(),
"The mesh we wish to clone from must already be prepared");
_mesh = mesh_to_clone->clone();
_moose_mesh_prepared = false;
}
else if (!_mesh->is_prepared())
{
_mesh->prepare_for_use();
_moose_mesh_prepared = false;
called_prepare_for_use = true;
}
if (_moose_mesh_prepared)
return called_prepare_for_use; |
Weird. |
looking at #25345 this should have already been addressed. |
Bug Description
I was modifying the AdvancedExtruderGenerator to handle Quad8 and it left a lot of issues in the boundary_info that could have been handled by a prepare_for_use before outputting the mesh
the problem is that in the process of mesh generator, more nodes are added to the mesh and the boundary_info than necessary.
I could see element deletion generators facing the same issues. If we delete elements but leave their nodes in the boundary info
note that this would be an issue also for intermediate post-each mesh generator outputs
Paraview crashes on having nodes in nodesets that are not present in the mesh
Exodiff reports cryptic diffs with seemingly some OOB indexes
Steps to Reproduce
Use the AdvancedExtruded with QUAD8, dont prepare for use
Impact
Not much now that we are aware of the problem
Preparing for use could be potentially expensive which is why we dont do it
[Optional] Diagnostics
No response
The text was updated successfully, but these errors were encountered: