Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gmsh gmsh
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 308
    • Issues 308
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gmsh
  • gmshgmsh
  • Issues
  • #1339
Closed
Open
Created Apr 30, 2021 by Thijs Egelmeers@thijsegelmeers

How to disable vertex snapping with the booleanDifference option

Hello, I am trying to make a cube with fibers in the cube. The fibers consist of a cylinder + 2 spheres at the heads of the cylinder. These are made with booleanUnion. Then the fibers are subtracted (booleanDifference) from the cube. It should be possible for the fibers to be only partly in the cube. See the figure Fig1 in the attachement. I have a feeling that at random this booleanDifference fails. What happens is shown in Fig2. In my output file I can see the following: " Info : Snapping geometry vertex 16 to curve control point (dist = 0.14277) " That control point is exactly a point on that cylinder. This ensures that some elements stick out on the cube surface. So I want to disable the snapping of this geometry vertex... I just want the part of the sphere to be correctly in the cube.

I have tried exploring many options, see below but non seem to solve the problem: RefineMesh;
Mesh.SecondOrderLinear=1; Geometry.OCCBoundsUseStl = 1; Geometry.ToleranceBoolean = 1e-20; Geometry.MatchGeomAndMesh = 1;
Geometry.Tolerance = 1e-4; Geometry.OCCAutoFix = 0; Geometry.OCCFixSmallEdges = 1; Geometry.OCCFixSmallFaces = 1;

Appart from that I want make it more robust by decreasing the mesh size to a very low number, but I try to avoid that.

Fig1

Fig2

See below for my outputfile, and meshfiles. Note that in these debug files I have commented out the periodic boundary conditions.

debug.geo

mesh_debug.msh

openCASCADE_SpheroCylinders_in_cube_debug.igo

outputmesh_debug.out

I really hope, you can help me

cheers,

Thijs

Assignee
Assign to
Time tracking