[Gmsh] Small cylinder in huge domain

jeremy theler jeremy at seamplex.com
Tue Feb 25 00:06:01 CET 2020


https://dev.opencascade.org/doc/overview/html/occt_user_guides__boolean_operations.html

--
jeremy theler
www.seamplex.com

On Mon, Feb 24, 2020, 19:01 tao song <songtao198801 at gmail.com> wrote:

> Dear Christophe,
> It's really solved my problem, and i'm looking forward to the new
> algorithm!
> Is there any introduction about bool function, like BooleanFragments,
> the introduction is vague in gmsh manual.
> Thank you very much.
>
> Best regards,
> Songt.
>
> Christophe Geuzaine <cgeuzaine at uliege.be> 于2020年2月24日周一 上午3:42写道:
>
> >
> >
> > Dear Songt,
> >
> > Very thin (or very long) cylinders have very anisotropic parametric
> representations in OpenCASCADE. When the ratio is sufficiently large you
> run into floating point tolerance issues in the mesh generation process.
> >
> > With OpenCASCADE cylinders, the workaround is to segment the cylinders
> in several parts. Attached is a modified version of your file that shows
> one way of doing it:
> >
> >
> >
> > Christophe
> >
> > PS: once the new hxt algorithm supports Fields (hopefully later this
> year), 3D meshing time for very refined meshes will be dramatically
> decreased.
> >
> >
> > > On 23 Feb 2020, at 17:52, tao song <songtao198801 at gmail.com> wrote:
> > >
> > > Dear all,
> > > While i meshing a model with small cylinder in a huge domain, if the
> > > filed is not given, it gives me an error "No elements in volume x",
> > > where x denote the small cylinder volume, and if the field is used,
> > > the gmsh blocked and finally crashed.
> > > How can i get the right mesh of this kind of model (small cylinder in
> > > a huge domain)? I want the whole domain and the small cylinder both
> > > are meshed.
> > >
> > > Kind regards,
> > > Songt.
> > >
> > > The code i used:
> > > ---------------------------
> > > SetFactory("OpenCASCADE");
> > >
> > > Point(1) = {0,0,0}; Point(2) = {0,0,-40};
> > > Line(1) = {1,2};
> > >
> > > Box(1)={-50,-50,-50,100,100,100};
> > > Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi};
> > > //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi};
> > > BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; };
> > > //Coherence;
> > > Physical Volume ( "c",11 ) = {1};
> > > Physical Volume ( "d",12 ) = {2};
> > >
> > > len = 0.001;
> > > Field[1] = Distance;
> > > Field[1].NNodesByEdge = 100;
> > > Field[1].EdgesList = {1};
> > >
> > > Field[2] = Threshold;
> > > Field[2].IField = 1;
> > > Field[2].LcMin = len*5;
> > > Field[2].LcMax = 20;
> > > Field[2].DistMin = 200*len;
> > > Field[2].DistMax = 30;
> > > Field[3] = Min;
> > > Field[3].FieldsList = {2};
> > > Background Field = 3;
> > > ---------------------------
> > >
> > > _______________________________________________
> > > 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://www.montefiore.ulg.ac.be/~geuzaine
> >
> >
> >
>
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20200224/9453249e/attachment-0001.html>


More information about the gmsh mailing list