[Gmsh] Geometry from an order 2 surface mesh

Jerome Robert jeromerobert at gmx.com
Fri Jun 1 14:56:55 CEST 2018


Hi all,

I am trying to fill an existing order 2 3D triangular mesh with order 2 tetrahedron. In the result mesh, the order 2 vertices of my input mesh are all moved so they were linearly interpolated. So everything is as if my input mesh was used by gmsh as an order 1 surface.

Here is my .geo:

// Various options I tryed with no luck
//Mesh.SecondOrderExperimental=1;
//Mesh.ElementOrder = 2;
//Mesh.SecondOrderLinear = 0;
//Mesh.Algorithm3D = 1;

// surf.unv contains only order 2 triangles
Merge "surf.unv";
Surface Loop(2) = {1};
Volume(3) = {2};
Characteristic Length {3} = 1000;

Which I run with gmsh 3.0.6:

$ gmsh -3 my.geo -o my.msh

My understanding is that my input mesh is converted to order 1 by this SetOrder1 call:

https://gitlab.onelab.info/gmsh/gmsh/blob/a4306e50a3916dd52f72edce56c05f36954f3f0a/Mesh/Generator.cpp#L979

Interpolation on GEntity::DiscreteSurface or GEntity::DiscreteCurve is also always linear.

So there seems to be no way to use an order 2 mesh as a gmsh GModel. 

Is that correct ? If not what would be the way to do it ?

Regards,

Jerome



More information about the gmsh mailing list