[Gmsh] BooleanFragments on tiny scale

Mathias Scheunert ms79vary at mailserver.tu-freiberg.de
Tue Apr 28 17:49:38 CEST 2020


Dear developers and users,

is there a way, to apply BooleanFragments (and others?) also on a very 
tiny scale?

-> Please find attached a MWE, illustrating that this operation fails on 
a small scale even with reducing BooleanTolerance (ln 17/18).

Best regards,
Mathias

-- 
Dr. Mathias Scheunert
Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg
Gustav-Zeuner-Str. 12, D-09596 Freiberg
Tel.: +493731393630

-------------- next part --------------
SetFactory("OpenCASCADE");

// Create line from points.
pt_id = newp;
Point(pt_id+0) = {-1e-05, 0, 0};
Point(pt_id+1) = {1e-05, 0, 0};
ln_id = newl;
Line(ln_id) = {pt_id+0, pt_id+1};

// Create surfaces.
fc_id = news;
domain_r = 3e-07;
Disk(fc_id+0) = {-5e-06, 0, 0,    domain_r};
Disk(fc_id+1) = { 5e-06, 0, 0, 10*domain_r};

// Intersect surfaces with line.
tol = 1e-6;  // no cuts at all
//tol = 1e-13; // only large disc is halfed
Geometry.ToleranceBoolean = tol;
frag_ents() = BooleanFragments{Curve{ln_id}; Delete;}{Surface{fc_id+0, fc_id+1}; Delete;};


More information about the gmsh mailing list