i) Which refinement routine is used for local (adaptive) mesh refinements? I haven’t found anything in the documentation.
ii) Is there a simple way to include an alternative routine like the one of Maubach in “Local Bisection Refinement for N-Simplicial Grids Generated by Reflection”?
iii) Are there already different refinement routines included?
regarding (i), the doc-string of the Mesh class states
| Refine(…)
| Refine(self: ngsolve.comp.Mesh, mark_surface_elements: bool = False, onlyonce: bool = False) → None
|
| Local mesh refinement based on marked elements, uses element-bisection algorithm
regarding (iii) In the Navier-Stokes workshop materials from the third NGSolve User Meeting, there is a script wich implements barycentric mesh refinement in python. This may be a good starting point to implement your own mesh refinement routine.
Hi, thanks for your answer. Is the bisection routine somewhere specified, that is, does the program use longest-edge bisection or the bisection routine of Maubach/Traxler?
Hi, can I access the code mentioned in point (iii) somehow? The website for the code material from NGSolve user meeting 3 is not working. I would love to see how one can implement a barycentric mesh refinement.
Hi,
the bisection is based on
Douglas N. Arnold, Arup Mukherjee, and Luc Pouly. Locally adapted tetrahedral meshes using bisection . SIAM J. Sci. Comput. , 22(2):431-448, 2000
I see. I am interested in the barycentric refinement, also sometimes called Clough-Tocher split (used in e.g. “A CutFEM Divergence-Free Discretization for the Stokes Problem” by Haoran Liu, Michael Neilan, and Maxim Olshanskii.