[Gmsh] Error : Self intersecting surface mesh, computing intersections & Error : Impossible to extrude entity 3 (of type 303)

Vadivelan C vc at tetrahedrix.com
Sun Jun 28 09:21:37 CEST 2009


Hi All,

I have found two mysterious  problem. Let me explain what i have done.
I have found one gmsh example in cfd-online and try to replicate it.

http://www.cfd-online.com/Forums/openfoam-meshing-gmsh/61876-default-faces-boundary-layer.html

It works fine.

Then i Import the stl file and create the external domain{bounding box}.

Now created the prism layer using extrusion command upto certain height.
Then try to create the volume from extrusion height to external domain.

But i'm facing a problem

nfo    : Meshing volume 1 (extruded)
You are trying to generate a mixed structured/unstructured grid using
the 3D Delaunay algorithm. This algorithm cannot garantee that the
final mesh will be conforming. You should probably use the Frontal
Netgen algorithm instead. Do you really want to continue?

(To disable this warning in the future, select `Enable expert mode'
in the option dialog.)

[Continue] or [Cancel]? (default=Continue)
Info    : Meshing volume 31 (Tetgen+Delaunay)
Constructing Delaunay tetrahedralization.
Delaunay seconds:  0.45
Creating surface mesh.
Perturbing vertices.
Delaunizing segments.
Constraining facets.
*Error:  Invalid PLC.*
  Two subfaces (4676, 2508, 2788) and (2507, 2508, 3905)
  are found intersecting each other.
  Hint:  Use -d switch to find all intersecting facets.
*Error   : Self intersecting surface mesh, computing intersections (this
could take a while)*
Constructing Delaunay tetrahedralization.
  Creating initial tetrahedralization.
  Incrementally inserting points.
  87097 Flips (T23 51371, T32 32804, T22 211, T44 2711)
Delaunay seconds:  0.44


When i visualize those mesh, i found that volume was created from the
surface of stl file not from surface of extrusion layer.

When i try to mesh using *netgen* algorithm,

Info    : Region 31 Face 4, 1 intersect
Info    : CalcLocalH: 4672 Points 0 Elements 9336 Surface Elements
Info    : WARNING: Intersecting elements 2429 and 8321
el1 = np = 3 3904 3905 4036
el2 = np = 3 2508 2788 3275
layer1 = 1
layer2 = 1
Info    : WARNING: Intersecting elements 4954 and 8321
el1 = np = 3 2507 4036 3905
el2 = np = 3 2508 2788 3275


Without prism layer, meshing was perfect. But i need to add some prism layer
near the surface.

*Is it possible to add prism layer and volume mesh from the latest surface
of prism layer ?*

Second problem was,

Imported the stl file. Created extrusion layer and try to create again
extrusion layer from the latest surface of previous extrusion layer. But i
am getting error of

*Error   : Impossible to extrude entity 3 (of type 303)*

So, we *cant* extrude layer from the lastest surface of the extrusion using
stl file ?




lc=50;
length=1500;
dec=1000;

Coherence;
Merge "combine.stl";
Coherence;

s1 = news ;
s2 = s1 -1 ;
sl1 = newsl ; Surface Loop (sl1) = {s2} ;

Transfinite Surface {s2}; Recombine Surface {s2};

v2[] = Extrude{Surface{s2};Layers{8,1};Recombine;};


sl2 = newsl ; Surface Loop (sl2) = {-v2[0]} ;

// External Domain
xmin = -length + dec;
xmax =  length ;
ymin = -length + dec;
ymax =  length - dec;
zmin = -length + dec;
zmax =  length - dec;

p1 = newp ; Point (p1) = { xmin, ymin, zmin ,lc }; p2 = newp ; Point (p2) =
{ xmax, ymin, zmin ,lc };
p3 = newp ; Point (p3) = { xmax, ymax, zmin ,lc }; p4 = newp ; Point (p4) =
{ xmin, ymax, zmin ,lc };
p5 = newp ; Point (p5) = { xmin, ymin, zmax ,lc }; p6 = newp ; Point (p6) =
{ xmax, ymin, zmax ,lc };
p7 = newp ; Point (p7) = { xmax, ymax, zmax ,lc }; p8 = newp ; Point (p8) =
{ xmin, ymax, zmax ,lc };

l1 = newl ; Line(l1)   = {p1, p4}; l2 = newl ; Line(l2)   = {p4, p8}; l3 =
newl ; Line(l3)   = {p8, p5}; l4 = newl ; Line(l4)   = {p5, p1};
l5 = newl ; Line(l5)   = {p2, p3}; l6 = newl ; Line(l6)   = {p3, p7}; l7 =
newl ; Line(l7)   = {p7, p6}; l8 = newl ; Line(l8)   = {p6, p2};
l9 = newl ; Line(l9)   = {p1, p2}; l10 = newl ; Line(l10) = {p4, p3}; l11 =
newl ; Line(l11) = {p5, p6}; l12 = newl ; Line(l12) = {p8, p7};
ll1 = newll ; Line Loop (ll1) = { l1,l2,l3,l4};     s3 = news ; Plane
Surface (s3) ={ll1} ;
ll2 = newll ; Line Loop (ll2) = { l5,l6,l7,l8};     s4 = news ; Plane
Surface (s4) ={ll2} ;
ll3 = newll ; Line Loop (ll3) = { -l3,l12,l7,-l11}; s5 = news ; Plane
Surface (s5) ={ll3} ;
ll4 = newll ; Line Loop (ll4) = { l1,l10,-l5,-l9};  s6 = news ; Plane
Surface (s6) ={ll4} ;
ll5 = newll ; Line Loop (ll5) = { l4,l9,-l8,-l11};  s7 = news ; Plane
Surface (s7) ={ll5} ;
ll6 = newll ; Line Loop (ll6) = { -l2,l10,l6,-l12}; s8 = news ; Plane
Surface (s8) ={ll6} ;
sl3 = newsl ; Surface Loop (sl3) = {s3,s4,s5,s6,s7,s8} ;

ps1=newreg ; Physical Surface("body") = {s2};
ps2=newreg ; Physical Surface("xmin") = {s3};
ps3=newreg ; Physical Surface("xmax") = {s4};
ps4=newreg ; Physical Surface("ymin") = {s5};
ps5=newreg ; Physical Surface("ymax") = {s6};
ps6=newreg ; Physical Surface("zmin") = {s7};
ps7=newreg ; Physical Surface("zmax") = {s8};

v3=newv ; Volume(v3) = {sl3,sl2};
v4=newv ; Physical Volume (v4) = { v3, v2[1]} ;


Thanks
 - Ranjith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20090628/82c8d6a4/attachment.html>