From: David K. <dkn...@se...> - 2012-08-29 21:52:00
|
On 08/29/2012 05:43 PM, John Peterson wrote: > On Wed, Aug 29, 2012 at 2:47 PM, David Knezevic > <dkn...@se...> wrote: >> I've attached a slightly updated version of the patch. It's working well for >> me. I can go ahead and check it in if you think it's generally useful. > Looks good to me. Minor comments below... Those changes are all good by me. I'll make them. Some comments: > + void stitch_meshes (SerialMesh& other_mesh, > + boundary_id_type > this_mesh_boundary=BoundaryInfo::invalid_id, > + boundary_id_type > other_mesh_boundary=BoundaryInfo::invalid_id, > + Real tol=TOLERANCE, > + bool clear_stitched_boundary_ids=false); > > So, by default, the function generates disjoint grids? Yep. > I guess I'd prefer the default to be that the user explicitly has to > pass BoundaryInfo::invalid_id if he wants to skip the node matching > procedure. > > The idea being that this function would primarily be used with the > intent of producing a single, conforming grid with no overlapping > nodes; while some smaller percentage of power users would use it to > create overlapping domains and subsequently handle that in some > application-dependent way. > > So we should make the function harder to accidentally call the wrong > way in the majority of use cases... OK, no problem. > > + libMesh::out << "In SerialMesh::stitch_meshes:" << std::endl > + << "This mesh has " << this_boundary_node_ids.size() > << " nodes on specified boundary" << std::endl > + << "Other mesh has " << > other_boundary_node_ids.size() << " nodes on specified boundary" << > std::endl > + << "Found " << node_to_node_map.size() << " matching > nodes." << std::endl << std::endl; > > Maybe only print in debug mode? Or we could pass a verbosity flag... I prefer a verbosity flag since I've already found this output very useful for "big" meshes to make sure that it's properly merged the overlapping nodes. David |