[Gmsh] A suggested improvement to Field::Distance!

Christophe Geuzaine cgeuzaine at uliege.be
Mon Apr 22 20:58:51 CEST 2019


Hi Gavin,

Indeed, this part needs to be improved. There's ongoing work on a "real" boundary mesh generator, which will overhaul the whole thing.

Christophe

> On 17 Apr 2019, at 21:15, Gavin Ridley <gavin.keith.ridley at gmail.com> wrote:
> 
> Hi,
> 
> Seems like the compute distance function in Field.cpp could be quite improved when using OpenCASCADE surfaces by using GeomAPI_ProjectPointOnSurf, which is provided by OpenCASCADE. I recently needed to get a good Distance calculation to make a 3D mesh with a boundary layer. It seems that the current implementation puts several points on the surface (20, hardcoded), which leads to very oscillatory values of the Distance field on slightly long surfaces. I managed to get a satisfactory mesh by cranking this number up to 400, then recompiling.
> 
> Another idea would be adaptively adding more points on long surfaces, so that meshes like the attached picture don't happen. This could probably be done by drawing a bounding box for the whole geometry, and then computing the number of points on the surface so that the error in calculating distance to a surface is bounded by some (maybe) user-adjustable threshold.
> 
> Thanks for gmsh! It's a great tool!
> 
> Gavin Ridley
> <stripey_boi.png>_______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine






More information about the gmsh mailing list