CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[Gmsh] gmsh or gmshToFoam problem?

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 19, 2012, 09:52
Default gmsh or gmshToFoam problem?
  #1
New Member
 
Madeleine P. Vincent
Join Date: May 2011
Posts: 29
Rep Power: 14
Madeleine P. Vincent is on a distinguished road
All -

I have a question regarding gmsh and the gmshToFoam utility within OpenFOAM, one of which seems to be not acting as I had presumed.

I have a simple mesh problem which I've distilled down to the it's basic form.
I am running a gmsh script (.geo) to create a 3D rectangular flow field with a circular cylinder in the middle.
When I run gmsh, it meshes succesfully. However, when I run gmshToFoam (conversion to the OpenFOAM polyMesh format), I end up with a mesh that is not usable.

First of all, I get a warning saying:


[warning]
--> FOAM Warning :
From function polyMesh:olyMesh(... construct from shapes...)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 619
Found 9022 undefined faces in mesh; adding to default patch.
[/warning]



Invoking the "checkMesh" utility results in the following errors:


[error]
Checking geometry...
Overall domain bounding box (0 0 -0.75) (9 6 0.75)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (1.15651e-17 5.07766e-19 9.032e-18) OK.
***High aspect ratio cells found, Max aspect ratio: 7.58943e+198, number of cells 3
<<Writing 3 cells with high aspect ratio to set highAspectRatioCells
Minumum face area = 6.81219e-06. Maximum face area = 0.177405. Face area magnitudes OK.
Min volume = 1.33333e-300. Max volume = 0.0208743. Total volume = 80.8949. Cell volumes OK.
Mesh non-orthogonality Max: 89.2144 average: 30.4407
*Number of severely non-orthogonal faces: 1046.
Non-orthogonality check OK.
<<Writing 1046 non-orthogonal faces to set nonOrthoFaces
***Error in face pyramids: 8 faces are incorrectly oriented.
<<Writing 8 faces with incorrect orientation to set wrongOrientedFaces
Max skewness = 2.23263 OK.
Coupled point location match (average 0) OK.

Failed 2 mesh checks.
[/error]



The contents of the gmsh script (.geo file) is as follows:


[script]
// Everything is parameterized on the cylinder radius
rad = 0.15;

//Characteristic length - used for mesh sizing
lc = 4*rad;

//Plane dimesions
planeLength = 60*rad;
planeWidth = 40*rad;

//Cyclinder constants
cir_x = 15*rad; //The absolute X distance of the center
cir_y = planeWidth / 2; //The absolute Y distance of the center

//The bottom plane number
bottomPlaneNum = 16;

//The extrusion thickness
extThickness = rad*10;
zBottom = -(extThickness/2.0);
zTop = (extThickness/2.0);
z = zBottom; //The z-height of this plane.
// NOTE - For 2D, the plane is centered at 0, so
// the z value used will be -(h/2)

//Rectangular plane (Counter-clockwise, starting in lower left corner)
Point(1) = {0, 0, z, lc};
Point(2) = {planeLength, 0, z, lc};
Point(3) = {planeLength, planeWidth, z, lc};
Point(4) = {0, planeWidth, z, lc};

//Circle
Point(5) = {cir_x, cir_y, z, lc}; // Center point
Point(6) = {cir_x, cir_y + rad, z, lc}; // 12 o'clock
Point(7) = {cir_x + rad, cir_y, z, lc}; // 3
Point(8) = {cir_x, cir_y - rad, z, lc}; // 6
Point(9) = {cir_x - rad, cir_y, z, lc}; // 9

//Lines
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Circle(5) = {6, 5, 7};
Circle(6) = {7, 5, 8};
Circle(7) = {8, 5, 9};
Circle(8) = {9, 5, 6};
Line Loop(9) = {1, 2, 3, 4};
Line Loop(10) = {5, 6, 7, 8};

//Surface
// Don't add any line loop(s) specific to meshing
Plane Surface(bottomPlaneNum) = {9, 10};

//Extrude the bottom surface in the z direction a total of extThickness units.
// This extrusion is centered on 0 (from -h/2 to +h/2)
newSurfs[] = Extrude {0,0,extThickness} {
Surface{bottomPlaneNum};
};

//Name the surfaces
Physical Surface("topAndBottom") = {bottomPlaneNum, newSurfs[0]};
Physical Surface("nearAndFar") = {newSurfs[2], newSurfs[4]};
Physical Surface("outlet") = {newSurfs[3]};
Physical Surface("inlet") = {newSurfs[5]};
Physical Surface("cylinder") = {newSurfs[9], newSurfs[8], newSurfs[7], newSurfs[6]};

Physical Volume(1) = {newSurfs[1]};

//Meshing
fineness = 15;

Field[4] = Cylinder;
Field[4].Radius = 1.5*rad;
Field[4].VIn = lc / fineness;
Field[4].VOut = lc / 2;
Field[4].XAxis = 0.0;
Field[4].XCenter = cir_x;
Field[4].YAxis = 0.0;
Field[4].YCenter = cir_y;
Field[4].ZAxis = 1.0;
Field[4].ZCenter = 0.0;

Field[6] = Box;
Field[6].VIn = lc / (fineness / 3);
Field[6].VOut = lc;
Field[6].XMin = cir_x - 3*rad;
Field[6].XMax = cir_x + 10*rad;
Field[6].YMin = cir_y - 3*rad;
Field[6].YMax = cir_y + 3*rad;
Field[6].ZMin = zBottom -0.000001;
Field[6].ZMax = zTop +0.000001;

// Use minimum of all the fields as the background field
Field[100] = Min;
Field[100].FieldsList = {4, 6};
Background Field = 100;

[/script]



I have no problem with the 2D case -- I use Layers{1} and Recombine within the extrusion command. This works well.

I have also seen that using many layers within the 3D case will also produce a mesh that passes the checkMesh utility. But this doesn't provide a good 3D mesh, as the domain is segregated throughout in these distinct layers, and it doesn't take into account the finer meshing (in the Z direction) around the cylinder.

So I'm wondering if this is an issue in the meshing of gmsh, or the gmshToFoam utility? And what remedy might be available.

Thank you very much for any help you are able to provide.

Madeleine P. Vincent
Madeleine P. Vincent is offline   Reply With Quote

Reply

Tags
conversion error, gmsh, gmshtofoam

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Gmsh] Problem with gmshToFoam bengir OpenFOAM Meshing & Mesh Conversion 6 January 5, 2017 15:04
[Gmsh] having difficulties with easy GMSH periodics problem Jack001 OpenFOAM Meshing & Mesh Conversion 0 November 22, 2016 08:51
[Gmsh] GmshToFoam: Problem meshing a circle in a square ChasingNeutrons OpenFOAM Meshing & Mesh Conversion 5 July 10, 2016 11:14
[Gmsh] 2D Mesh Generation Tutorial for GMSH aeroslacker OpenFOAM Meshing & Mesh Conversion 12 January 19, 2012 04:52
[Gmsh] gmshToFoam problem: not the same mesh in Gmsh vs. paraview zhernadi OpenFOAM Meshing & Mesh Conversion 8 July 7, 2011 03:28


All times are GMT -4. The time now is 19:01.