[Gmsh] Question on creating meshes with layered elements

Christophe Geuzaine cgeuzaine at uliege.be
Wed Nov 4 09:14:50 CET 2020



> On 22 Oct 2020, at 12:56, Marco Antolovic <marco_antolovic at yahoo.it> wrote:
> 
> Hi all,
> 
> I'm trying to find the best way to approach the following problem:
> 
> I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example, 
> for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along z
> edge.
> 
> If I build the structure in gmsh this is quite simple to obtain by saying:
> 
> SetFactory("OpenCASCADE");
> thickness = 140e-6;
> nr_layers = 4;
> surf=newreg;
> Rectangle(surf)={.001,0,0,.001,.001,0};
> Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;};
> 
> But how can I apply this in case the parallelepiped is coming from a step file? The command above
> (Extrude{...}{... Layers{}}) can't be used.

Indeed, we would need to "reverse engineer" the fact that the volume has indeed been created by extrusion. See

https://gitlab.onelab.info/gmsh/gmsh/-/issues/929

for the issue tracking this feature request.

Christophe


> 
> I was thinking about slicing the Volume with some planes (see example below)
> 
> SetFactory("OpenCASCADE");
> thickness = 140e-6;
> nr_layers = 4;
> surf=newreg;
> Rectangle(surf)={.001,0,0,.001,.001,0};
> Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};};
> vol() = Extruded_surf(1);
> For i In {1:nr_layers-1}
> surf1(i-1)=newreg;
> Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001};
> EndFor
> results() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;};
> 
> but when trying to recombine the triangles in the layers I get the following error:
> 
> Error   : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supported
> yet
> 
> Any suggestion on how to address the issue is much appreciated.
> 
> Regards,
> 
> Marco
> 
> _______________________________________________
> 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://people.montefiore.ulg.ac.be/geuzaine







More information about the gmsh mailing list