@@ -78,6 +78,7 @@ MeshBase::MeshBase (const Parallel::Communicator & comm_in,
7878 _skip_all_partitioning (libMesh ::on_command_line ("-- skip - partitioning ")),
7979 _skip_renumber_nodes_and_elements (false),
8080 _skip_find_neighbors (false),
81+ _skip_detect_interior_parents (false),
8182 _allow_remote_element_removal (true),
8283 _allow_node_and_elem_unique_id_overlap (false),
8384 _spatial_dimension (d ),
@@ -114,6 +115,7 @@ MeshBase::MeshBase (const MeshBase & other_mesh) :
114115 _skip_all_partitioning (other_mesh ._skip_all_partitioning ),
115116 _skip_renumber_nodes_and_elements (other_mesh ._skip_renumber_nodes_and_elements ),
116117 _skip_find_neighbors (other_mesh ._skip_find_neighbors ),
118+ _skip_detect_interior_parents (other_mesh ._skip_detect_interior_parents ),
117119 _allow_remote_element_removal (other_mesh ._allow_remote_element_removal ),
118120 _allow_node_and_elem_unique_id_overlap (other_mesh ._allow_node_and_elem_unique_id_overlap ),
119121 _elem_dims (other_mesh ._elem_dims ),
@@ -201,6 +203,7 @@ MeshBase& MeshBase::operator= (MeshBase && other_mesh)
201203 _skip_all_partitioning = other_mesh .skip_partitioning ();
202204 _skip_renumber_nodes_and_elements = !(other_mesh .allow_renumbering ());
203205 _skip_find_neighbors = !(other_mesh .allow_find_neighbors ());
206+ _skip_detect_interior_parents = !(other_mesh .allow_detect_interior_parents ());
204207 _allow_remote_element_removal = other_mesh .allow_remote_element_removal ();
205208 _allow_node_and_elem_unique_id_overlap = other_mesh .allow_node_and_elem_unique_id_overlap ();
206209 _block_id_to_name = std ::move (other_mesh ._block_id_to_name );
@@ -305,6 +308,8 @@ bool MeshBase::locally_equals (const MeshBase & other_mesh) const
305308 return false;
306309 if (_skip_find_neighbors != other_mesh ._skip_find_neighbors )
307310 return false;
311+ if (_skip_detect_interior_parents != other_mesh ._skip_detect_interior_parents )
312+ return false;
308313 if (_allow_remote_element_removal != other_mesh ._allow_remote_element_removal )
309314 return false;
310315 if (_allow_node_and_elem_unique_id_overlap != other_mesh ._allow_node_and_elem_unique_id_overlap )
@@ -896,7 +901,8 @@ void MeshBase::prepare_for_use ()
896901
897902 // Search the mesh for elements that have a neighboring element
898903 // of dim+1 and set that element as the interior parent
899- this -> detect_interior_parents ();
904+ if (!_skip_detect_interior_parents )
905+ this -> detect_interior_parents ();
900906
901907 // Fix up node unique ids in case mesh generation code didn't take
902908 // exceptional care to do so.
0 commit comments