Typically you need to treat conforming geometry before you treat mesh. Try 
adding Coherence; in the script prior to meshing. If you could send the geo and 
log file I can check. My email is [email protected]


__

Best Regards
Sudipta Saha, MS, EIT
Spent Fuel Modeling Intern, Idaho National Laboratory

PhD Candidate in Mechanical Engineering
Reacting System and Advanced Energy Research Lab
Graduate Council Representative, Graduate Student Association
LinkedIn<https://www.linkedin.com/in/sudipta-saha-usc/> | 
ResearchGate<https://www.researchgate.net/profile/Sudipta_Saha13> | 
GoogleScholar<https://scholar.google.com/citations?user=xDVKlBcAAAAJ&hl=en> | 
Website<https://sudiptasaha.weebly.com/>
[cid:500b8551-0821-42f0-8b09-bb908bc10418]



________________________________
From: gmsh <[email protected]> on behalf of Patrick Tsui 
<[email protected]>
Sent: Monday, August 3, 2020 12:13 PM
To: [email protected] <[email protected]>
Subject: [Gmsh] Problem of Conformal Meshing at Volume boundaries

Dear All,

I am having trouble getting conformal meshing at boundaries of volumes. I tried 
a good number of suggestions found online but failed. For the simple codes 
tested (listed below and attached), 104 errors appeared. Gmsh 4.7.0 on Ubuntu 
19.10 were used. Any help would be highly appreciated.


// Code begins 
------------------------------------------------------------------------
SetFactory("OpenCASCADE");

mm2m = 0.001;
i2m = 0.0254;
Geometry.AutoCoherence = 1;
Mesh.CharacteristicLengthMin = 0.125*i2m;
Mesh.CharacteristicLengthMax = 0.250*i2m;
Geometry.Tolerance = 0.01*mm2m;
lc  = 0.125*i2m;

a  = 2.0 * i2m;
p1=newp; Point(p1) = { a, 0.0,  a, lc};
p2=newp; Point(p2) = {-a, 0.0,  a, lc};
p3=newp; Point(p3) = {-a, 0.0, -a, lc};
p4=newp; Point(p4) = { a, 0.0, -a, lc};
l1=newl; Line(l1) = {p1, p2};
l2=newl; Line(l2) = {p2, p3};
l3=newl; Line(l3) = {p3, p4};
l4=newl; Line(l4) = {p4, p1};
ll1=newll; Curve Loop(ll1) = {l1, l2, l3, l4};
s1=news; Plane Surface(s1)={ll1};
hh = 0.5*i2m;
id[] = Extrude {0,hh,0} { Surface{s1}; Layers{ 1 }; Recombine; };
v1 = id[1];

p5=newp; Point(p5) = { a/2, 0.0,  a/2, lc};
p6=newp; Point(p6) = {-a/2, 0.0,  a/2, lc};
p7=newp; Point(p7) = {-a/2, 0.0, -a/2, lc};
p8=newp; Point(p8) = { a/2, 0.0, -a/2, lc};
l5=newl; Line(l5) = {p5, p6};
l6=newl; Line(l6) = {p6, p7};
l7=newl; Line(l7) = {p7, p8};
l8=newl; Line(l8) = {p8, p5};
Point {p5,p6,p7,p8} In Surface{s1};
Line {l5,l6,l7,l8} In Surface{s1};

ll2=newll; Curve Loop(ll2) = {l5, l6, l7, l8};
s2=news; Plane Surface(s2)={ll2};
id[] = Extrude {0,-hh,0} { Surface{s2}; Layers{ 1 }; Recombine; };
v2 = id[1];

Surface {s2} In Volume{v1};

v() = BooleanFragments{ Volume{v1}; Delete;}{ Volume{v2}; Delete;};
n=#v();
For i In {0:n-1}
Printf("v(%g) = %g",i,v(i));
EndFor

Mesh 3;
Coherence Mesh;

// Code ends 
------------------------------------------------------------------------

Sincerely,

PT
_______________________________________________
gmsh mailing list
[email protected]
http://onelab.info/mailman/listinfo/gmsh

Reply via email to