Christophe, you are reading my mind! I was looking at this solution using fields but I couldn't find an example. Thanks
Le mer. 3 juil. 2019 20:16, Christophe Geuzaine <[email protected]> a écrit : > > Hi guys, > > All 3 cases work for me with Gmsh 4.4... (Some earlier versions had indeed > an issue with preseance of mesh size specs on points with OCC.) > > Here is a 4th method, which IMHO gives an even nicer result: > > // ************** > SetFactory("OpenCASCADE"); > Rectangle(1) = {-0.7, -0.2, 0, 1, 0.5, 0.1}; > > Point(9) = {-0.39, 0.21, 0, 1.0}; > Point(10) = {-0.25, 0.14, 0, 1.0}; > Point(11) = {-0.12, -0.05, 0, 1.0}; > Point(12) = {-0.03, 0.12, 0, 1.0}; > Point(13) = {0.14, 0.12, 0, 1.0}; > Spline(9) = {9, 10, 11, 12, 13}; > > BooleanFragments{ Surface{1}; Delete; }{ Curve{9}; Delete; } > > Field[1] = Distance; > Field[1].NNodesByEdge = 200; > Field[1].EdgesList = {9}; > > Field[2] = Threshold; > Field[2].IField = 1; > Field[2].LcMin = 0.005; > Field[2].LcMax = 0.05; > Field[2].DistMin = 0.01; > Field[2].DistMax = 0.1; > > Background Field = 2; > > Mesh.Algorithm = 6; > Mesh.CharacteristicLengthExtendFromBoundary = 0; > // ************** > > Christophe > > > On 3 Jul 2019, at 19:41, Max Orok <[email protected]> wrote: > > > > Hi there, > > > > I was able to get your script to work using the PointsOf function with > the curve to specify the characteristic length. I also was able to directly > list the tags in the characteristic length call, but only after removing > the 1.0 characteristic length parameter that was the fourth argument to the > Point initialization calls. In contrast, PointsOf seems to work even when > the length is specified earlier. Perhaps there is a subtle difference > somewhere between PointsOf and directly listing tags for this command? I've > named the two working cases A (using PointsOf) and B (directly specifying > the tags without setting the characteristic length earlier). > > > > Here is the modified script with the other cases commented out in case > you'd like to try them: > > > > // -- > > > > SetFactory("OpenCASCADE"); > > Rectangle(1) = {-0.7, -0.2, 0, 1, 0.5, 0.1}; > > > > > //------------------------------------------------------------------------------ > > > > > > // case A: specify a value, only to be changed later > > Point(9) = {-0.39, 0.21, 0, 1.0}; > > Point(10) = {-0.25, 0.14, 0, 1.0}; > > Point(11) = {-0.12, -0.05, 0, 1.0}; > > Point(12) = {-0.03, 0.12, 0, 1.0}; > > Point(13) = {0.14, 0.12, 0, 1.0}; > > > > Spline(9) = {9, 10, 11, 12, 13}; > > > > // works even if the characteristic length was set initialization ^ > > Characteristic Length { PointsOf{ Curve{9}; } } = 0.01; > > > > > > > //------------------------------------------------------------------------------ > > > > /* > > // case B: don't specify the characteristic lengths > > Point(9) = {-0.39, 0.21, 0}; > > Point(10) = {-0.25, 0.14, 0}; > > Point(11) = {-0.12, -0.05, 0}; > > Point(12) = {-0.03, 0.12, 0}; > > Point(13) = {0.14, 0.12, 0}; > > > > Spline(9) = {9, 10, 11, 12, 13}; > > > > // only works if the characteristic length wasn't set on initialization > > Characteristic Length { 9,10,11,12,13 } = 0.01; > > */ > > > > // maybe a subtle difference between PointsOf and directly specifying > tags? > > > > > //------------------------------------------------------------------------------ > > > > /* > > // case C: specify the characteristic lengths then use the tags directly > > // DOESN'T WORK > > Point(9) = {-0.39, 0.21, 0, 1.0}; > > Point(10) = {-0.25, 0.14, 0, 1.0}; > > Point(11) = {-0.12, -0.05, 0, 1.0}; > > Point(12) = {-0.03, 0.12, 0, 1.0}; > > Point(13) = {0.14, 0.12, 0, 1.0}; > > > > Spline(9) = {9, 10, 11, 12, 13}; > > > > // only works if the characteristic length wasn't set on initialization > > Characteristic Length { 9,10,11,12,13 } = 0.01; > > */ > > > > > //------------------------------------------------------------------------------ > > > > BooleanFragments{ Surface{1}; Delete; }{ Curve{9}; Delete; } > > > > // -- > > > > This probably wasn't your issue, but I had also forgotten about setting > a minimum characteristic length option, which stopped me from manually > setting the characteristic lengths at first. > > > > Sincerely, > > Max > > > > p.s. here are pictures of each case: > > > > Case A: > > <image.png> > > > > Case B (looks the same as Case A to me): > > <image.png> > > > > Case C (broken): > > <image.png> > > > > > > On Wed, Jul 3, 2019 at 12:30 PM Karin&NiKo <[email protected]> wrote: > > Dear Gmsh Gurus, > > > > I would like to define a 1D crack in a planar surface. To this end, I > use the attached script. > > 1. When I specify the mesh size at the curve point *in the script* and > then load the script, it does not work aka the mesh haven't the right size > > 2. When I load the script and then specify the mesh size at the curve > point *in the GUI*, it works (and it is beautiful!) > > > > Am I missing something? Is it a bug (NO????)? > > > > Thanks in advance, > > Your oldest fan > > _______________________________________________ > > gmsh mailing list > > [email protected] > > http://onelab.info/mailman/listinfo/gmsh > > > > > > -- > > Max Orok > > Contractor > > www.mevex.com > > > > > > <myCrack-fixed.geo>_______________________________________________ > > gmsh mailing list > > [email protected] > > 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 [email protected] http://onelab.info/mailman/listinfo/gmsh
