Yes, I saw algorithms in mesh_refinement_smoothing.C. It looks these algorithms will flag some unflagged elements by limiting mismatches. But I feel it is not enough. For example, in 2D, if only one neighbor of a triangle is refined, a point will be added on the shared edge. I think the triangle itself should be refined into two children, instead of four. However, I find Elem::refine() always generates n_children(), which is four in this case. How and where does libmesh handle this case?
Thank you. --Junchao Zhang On Tue, Jul 28, 2015 at 9:07 AM, John Peterson <[email protected]> wrote: > > > On Mon, Jul 27, 2015 at 9:49 PM, Junchao Zhang <[email protected]> > wrote: > >> Hello, >> I am new to libmesh and I want to know some of its implementation >> details. After I flag some elements for refinement, and call >> MeshRefinement::refine_elements (), how does libmesh handle elements that >> are not flagged, but some of their neighbors are refined? I guess they >> should be refined too, since new nodes are introduced on their sides. >> Can someone point me to code doing that? >> > > There is an extensive set of algorithms for handling different refinement > patterns/situations. > > See e.g. the diagrams in include/mesh/mesh_refinement.h for more > information. > > -- > John > ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
