[Gmsh] OpenCascase Wire

Christophe Geuzaine cgeuzaine at uliege.be
Mon Mar 5 21:07:16 CET 2018



> On 2 Mar 2018, at 11:45, Sathyanarayan Rao <sathyanarayan.rao at uclouvain.be> wrote:
> 
> Dear gmsh team,
> 
> I am using wire function to create surfaces but somehow it creates surface for downward lines (inclined dowward) but for upward line, it doesnt 
> work: A simple example below. I try to create two surfaces same way for two set of points: X1,Y1 and X2,Y2 but only for {X1,Y1} it works. 
> For X2,Y2, I see that no surface is created. Can you please let me know what is wrong with my code ? I thank you very much !
> 

See https://gitlab.onelab.info/gmsh/gmsh/issues/373 : for some reason BRepOffsetAPI_MakePipe failed on this. I changed the pipe creation mode to "GeomFill_IsDiscreteTrihedron", which seems to behave better.

If there are some OpenCASCADE gurus reading this, your guidance would be appreciated :-)

Christophe


> // mesh size description
> 
> cl_1   =  2.000000e-01;
> cl_2   =  1.000000e-01;
> 
> SetFactory("OpenCASCADE");
> Rectangle(1) = {-1.100000e+00,-1.100000e+00,0,2.200000e+00,1.200000e+00,0};
> // Mesh Parameters
> Mesh.CharacteristicLengthExtendFromBoundary = 1;
> Mesh.CharacteristicLengthMax = 1.000000e-01;
> 
> 
> Geometry.NumSubEdges = 100;
> // no. of spline surfaces = 11
> 
> X1 ={-0.12158,0,0.24363,0.48725,0.73088,0.9745};
> Y1 ={-0.315,-0.2636,-0.3558,-0.448,-0.5402,-0.6324};
> 
> 
> X[] = X1[];Y[] = Y1[];
> d = 1.319954e-01;
> //Printf("newp=", newp);
> P1     = newp; P2     = newp+1;P3     = newl; Point(P1) =  {X[0],Y[0],0,cl_2}; Point(P2) =  {X[1],Y[1],0,cl_2}; Line(P3) = {P1,P2};
> 
> nR = #X[ ];p0  =  newp;p   =  p0;
> For i In {1:nR-1}
> Point(newp)  =    {X[i], Y[i], 0, cl_2};
> EndFor
> 
> L1 = newl;L2 = newl+1; p2  =  newp-1;Spline(L1)   =  {p0 : p0 + nR - 2}; Wire(L2) = {L1};Extrude { Line{P3}; } Using Wire {L2}
> 
> X2 ={-0.7409,-0.676,-0.7078,-0.7396,-0.7714,-0.8032,-0.835,-0.8668,-0.8986,-0.9304,-0.9622,-0.994};
> Y2 ={-0.70368,-0.6213,-0.60282,-0.58434,-0.56586,-0.54738,-0.5289,-0.51042,-0.49194,-0.47346,-0.45498,-0.4365};
> 
> 
> X[] = X2[];Y[] = Y2[];
> d = 1.048680e-01;
> //Printf("newp=", newp);
> P1     = newp; P2     = newp+1;P3     = newl; Point(P1) =  {X[0],Y[0],0,cl_2}; Point(P2) =  {X[1],Y[1],0,cl_2}; Line(P3) = {P1,P2};
> 
> nR = #X[ ];p0  =  newp;p   =  p0;
> For i In {1:nR-1}
> Point(newp)  =    {X[i], Y[i], 0, cl_2};
> EndFor
> L1 = newl;L2 = newl+1; p2  =  newp-1;Spline(L1)   =  {p0 : p0 + nR - 2}; Wire(L2) = {L1};Extrude { Line{P3}; } Using Wire {L2}
> 
> 
> 
> 
> Best Regards,
> 
> Sathyanarayan Rao, PhD student
> Earth and Life Institute/Environmental Sciences (ELI-e)
> Université catholique de Louvain
> c.037, Croix du Sud 2, Louvain-la-Neuve, Belgium
> Phone: 010473827 ( intercom 73827)
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info <mailto:gmsh at onelab.info>
> http://onelab.info/mailman/listinfo/gmsh <http://onelab.info/mailman/listinfo/gmsh>
— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine

Free software: http://gmsh.info | http://getdp.info | http://onelab.info

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20180305/79f453e6/attachment-0001.html>


More information about the gmsh mailing list