lmr
lmr

Reputation: 174

Duplicate structured surface/mesh in gmsh

I'm trying to build a large structure from a simple geometric shape in gmsh and I'd like to use a structured (quadrilateral) grid. I start by creating that shape and then duplicating and translating it as often as needed to build my final structure.

The problem is that even if I define the lines and surfaces of the original shape to be transfinite, this property is lost once I duplicate and translate it. Check this sample code for a square:

Point(1) = {0, 0, 0, 1};
Point(2) = {0, 1, 0, 1};
Point(3) = {1, 1, 0, 1};
Point(4) = {1, 0, 0, 1};
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Line Loop(5) = {1, 2, 3, 4};
Plane Surface(6) = {5};

Transfinite Line {1, 2, 3, 4} = 10 Using Progression 1;
Transfinite Surface {6};
Recombine Surface {6};

Translate {0, 1, 0} {
  Duplicata { Surface{6}; }
}

I obtain the original square with a structured grid but the duplicated one does not have this property. Is there a possibility to retain the structured grid when I copy the surface?

EDIT: It seems that there is indeed no possibility to duplicate a structured volume or surface. The problem is that these properties are directly related to the mesh itself and not the geometry. And the mesh cannot be duplicated.

Upvotes: 2

Views: 3949

Answers (2)

Bojan Niceno
Bojan Niceno

Reputation: 163

This fix (using "Geometry.CopyMeshingMethod = 1;") works unless you use OpenCASCADE to define your geometry.

Try simply to include "SetFactory("OpenCASCADE");" in the beginning of your script and you will see it fails.

Upvotes: 0

Anton Menshov
Anton Menshov

Reputation: 2326

It is possible.

You can use the GMSH Geometry.CopyMeshingMethod property that is responsible for copying the meshing method for duplicated or translated geometric entities. By default, it is turned off. To turn it on, you can simply add the following line to the beginning of your GEO file.

Geometry.CopyMeshingMethod = 1;

Now, compare:

enter image description here

Tested on GMSH 3.0.5, but should work with any modern version.

Upvotes: 5

Related Questions