I am working on adaptive techniques for solving some elliptic equations.
The technique is based on residual on elements. My problem is that when I use a predefined tolerance for refining elements, the number of elements that refined are too much, even for a tolerance around $10^{-2}$.

I also, tried refining those elements where the error is bigger than half of the worst error, but now the number of elements that refined are too few.
In both method, the locations are true locations but I need a strategy for refine elements in the middle of these, not too much and not too few. If I try by refine a fixed percentage of elements, how can I choose this percentage perfectly? Is it dependent on the problem? Is there any better way for that?
Also, I have another question, each element is refined to children (each triangle is divided to four triangles), is there any better way for adding new elements? It should be noted that the result obtained by this approach are better than bisection.
If there is good reference about this, please let me know.

1 Answer
1

This is not a complete answer but based on my own experience with mesh refinement I felt compelled to write of few ideas/thoughts which would be too long for a comment.

One idea that I don't think you mentioned would be too refine the top percentage of the elements with greatest error and then also coarsen the bottom percentage of elements with lowest error. This might help with too many elements being coarsened.

As far as the advantages of using the 1:4 refinement:

The angles of the child elements are maximized. In fact the quality of the mesh will be no worse then the original starting mesh because the child elements are congruent to the parent element (you may have to bisect some neighboring triangles to satisfy conformity of the mesh which may produce poor angles).

Because each triangle is split into 4 new ones (instead of 2 for bisection) you will get a refined mesh faster (i.e. fewer iterative steps in your solver) then you would for bisection. Thus if you were say solving the Poisson equation you would need fewer successive grids to get to your most refined grid level.

Some good resources that I have used include fea8, Hannoun, and the video series by Wolfgang Bangerth video tutorials (see lectures 15-17). In particular, pay attention to the introduction text for lecture 17. It explains why he refines 30% percent of his elements and how that is optimal in terms of computational time over successive refinement levels.