diff --git a/benchmarks/boolean/neuron.geo b/benchmarks/boolean/neuron.geo index 23e349f1185d4f85ca60915a7ee8f5777727dacf..12b8a44e666f7c50815f70928cb7de6028742e4f 100644 --- a/benchmarks/boolean/neuron.geo +++ b/benchmarks/boolean/neuron.geo @@ -6,8 +6,8 @@ Mesh.CharacteristicLengthMax = 1; Macro dendrite For i In {1:5} - z = -2+7*i; - r = 0.4 + 0.2*Sin(2*Pi*i/5.); + z = -2 + 5*i; + r = 0.35 + 0.25*Sin(2*Pi*i/5.); Point(nump+1) = {x,y,z}; Point(nump+2) = {x+r,y,z}; Point(nump+3) = {x,y+r,z}; @@ -26,23 +26,27 @@ Macro dendrite reg() += numr; Return -Sphere(1) = {0, 0, 0, 7}; +Sphere(1) = {0, 0, 0, 8}; + +DefineConstant[ + N = {2, Min 0, Max 10, Step 1, + Name "Parameters/Number of dendrites long x and y"} + op = {0, Choices{0="None", 1="Union", 2="Intersection", 3="Difference", 4="Fragments"}, + Name "Parameters/Boolean operation" } + sph = {0, Choices{0,1}, Visible op == 4, + Name "Fuse sphere fragments?" } +]; reg() = {}; nump = 0; numc = 0; numr = 100; -For x In{-2:2:2} - For y In{-2:2:2} +For ii In{0:N-1} + x = -(N-1)/2*1.5 + ii*1.5; + For jj In{0:N-1} + y = -(N-1)/2*1.5 + jj*1.5; Call dendrite; EndFor EndFor -DefineConstant[ - op = {0, Choices{0="None", 1="Union", 2="Intersection", 3="Difference", 4="Fragments"}, - Name "Boolean operation" } - sph = {0, Choices{0,1}, Visible op == 4, - Name "Fuse sphere fragments?" } -]; - // boolean operations can explicitly create an entity tag with the form // "op(tag)={}{};", or let Gmsh decide with the form "op{}{}". The first form // can only be used if the result of the boolean operation is a single