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

Reply via email to