CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [Gmsh] Error : Self intersecting surface mesh, computing intersections & Error : Impossible (https://www.cfd-online.com/Forums/openfoam-meshing/65847-error-self-intersecting-surface-mesh-computing-intersections-error-impossible.html)

velan June 29, 2009 00:48

Error : Self intersecting surface mesh, computing intersections & Error : Impossible
 
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/ope...ary-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

KateEisenhower July 14, 2015 05:54

Hello,

has anyone had the same problem (problem 1) and knows how to solve it?

Best regards,

Kate

hextrimmer October 22, 2015 10:55

Failed mesh operation: Surface is self intersecting
 
I've had quite a few problems with self intersecting faces during parts based mesh operations in STAR-CCM+. I cut a linear pattern of spacer grids with mixing vanes through a channel to study sub-channel thermal hydraulics in modular PWRs.

One solution is to not perform the final subtraction/imprint for bodies within the CAD modeler, but as a parts based mesh operation. Surprisingly works much better since (my understanding) it uses generated mesh surfaces/volumes to perform the subtract/imprint - makes it easier to perform if you mesh is not discrete enough to completely replicate the CAD surface (is a big problem with complex geometries).

Sometimes, two disconnected surfaces with the same name in the same region technically result in a non-manifold surface for the volume mesher. Try renaming all disconnected surfaces that would otherwise appear as one entity in a single region.

KateEisenhower October 22, 2015 11:05

Hi,

thank you for this contribution. That is what I experienced too. Finally I rebuilt my geometry completely from scratch in gmsh and went with a fully structured mesh.

Kate


All times are GMT -4. The time now is 00:13.