[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