[Gmsh] Subdividing high-order tetrahedral mesh into hexahedron robustly

Christophe Geuzaine cgeuzaine at uliege.be
Fri Jun 5 10:19:48 CEST 2020

Dear Bruno,

I didn't know people used this subdivision scheme to do actual calculations ;-)

I've modified the meshing pipeline so that we now apply high-order optimization before the subdivision (since the subdivision itself is based on first generating a second order mesh).

Can you give the latest development snapshot a try and let us know if it improves things? I would first try with "Mesh.ElementOrder = 1", as the optimizer is still very slow for optimizing high-order elements other than simplices.

If this still doesn't work, you could set "Mesh.SecondOrderLinear = 1". This way the hexes will always be valid if the initial simplices are valid - but the boundary points might now be on the geometry if the boundaries are curved.


> On 5 Jun 2020, at 07:33, Bruno Blais <bruno.blais at polymtl.ca> wrote:
> Dear all,
> I hope you are well.
> I am trying to generate a pure hexahedral mesh to be used with deal.II (where tets are not supported).
> However, I regularly encounter negative jacobians in a very limited number of elements (<5), which prevents me from simulating my geometry.
> I have tried to force the jacobian from being positive by adding the following parameters:
> Mesh.ElementOrder = 2;
> Mesh.HighOrderOptimize = 1;
> This works very well for tet mesh and I can generate my mesh in a few seconds. However, as soon as I add the decomposition into hexes:
> Mesh.SubdivisionAlgorithm = 2
> GMSH slows down to a crawl and the mesh is unable to be generated even after 24h of meshing
> I was wondering if there was a solution to my problem, since deal.II only support hex meshes. Is it possible to first fully generate the tet mesh and then subdivide it into hexahedron within GMSH? I would like to keep the mapping in order to ensure that the added points are correctly mapped to the geometry. I know there are tools outside (such as tethex) that can achieve this, but I would prefer not to go down this route.
> Thanks!
> Bruno
> -- 
> Bruno Blais
> Ing., Ph.D.
> Professeur Adjoint / Assistant Professor
> Génie chimique / Chemical engineering
> Bureau/Room: A-684.2.3
> T: +1-514-340-4711, 4533
> C.P. 6079, succ. Centre-ville
> Montréal, QC
> E-mail: bruno.blais at polymtl.ca
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh

Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 

More information about the gmsh mailing list