[Gmsh] Question on creating meshes with layered elements
Marco Antolovic
marco_antolovic at yahoo.it
Tue Nov 10 17:33:49 CET 2020
Just a quick update, I have noticed that in some cases translated and bottom curves require a boolean union operation.
I have updated the script and the txt file accordingly (see attachment).
Marco
Il lunedì 9 novembre 2020, 09:31:58 CET, Marco Antolovic <marco_antolovic at yahoo.it> ha scritto:
Hello Christophe,
there appear to be problems with my email formatting.
To avoid that I re-send the previous message as a file (hopefully this should work)
Regards,
Marco
Il mercoledì 4 novembre 2020, 09:14:51 CET, Christophe Geuzaine <cgeuzaine at uliege.be> ha scritto:
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20201110/0bde7efa/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: structured_grids_with_step_files_test_V06.geo
Type: application/octet-stream
Size: 1491 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20201110/0bde7efa/attachment.geo>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: message_V02.txt
URL: <http://onelab.info/pipermail/gmsh/attachments/20201110/0bde7efa/attachment.txt>
More information about the gmsh
mailing list