CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (http://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   3D axisymmetric meshing (http://www.cfd-online.com/Forums/openfoam-meshing/98629-3d-axisymmetric-meshing.html)

arunsmec March 15, 2012 05:05

3D axisymmetric meshing
 
hi Foamers
I am a beginner in OpenFOAM and am trying to create a mesh for solving roundjet problem. I intend to make a unit cube with a 1 cm diameter inlet and 1 cm diameter outlet (trial purpose). I created the blockMeshdict as follows:
convertToMeters 1;

vertices
(
(0 0 0) //0 //
(1 0 0) //1 //
(1 1 0) //2 //
(0 1 0) //3 //
(0 0 1) //4 //
(1 0 1) //5 //
(1 1 1) //6 //
(0 1 1) //7 //
(0 0.5 0.505) //8//
(0 0.505 0.5) // 9//
(0 0.5 0.455) //10//
(0 0.455 0.5) // 11 //
(1 0.5 0.505) //12//
(1 0.505 0.5) // 13//
(1 0.5 0.455) //14//
(1 0.455 0.5) // 15 //
(0 0.5 0.5) //16//
(1 0.5 0.5) // 17 //
);

blocks
(
hex (0 4 11 10 1 5 15 14) (10 10 10) simpleGrading (1 1 1)
hex (4 7 8 11 5 6 12 15) (10 10 10) simpleGrading (1 1 1)
hex (7 3 9 8 6 2 13 12) (10 10 10) simpleGrading (1 1 1)
hex (3 9 10 0 2 14 15 1) (10 10 10) simpleGrading (1 1 1)
hex (8 12 13 9 16 17 17 16) (50 2 2) simpleGrading (1 1 1)
hex (9 13 14 10 16 17 17 16) (50 2 2) simpleGrading (1 1 1)
hex (10 14 15 11 16 17 17 16) (50 2 2) simpleGrading (1 1 1)
hex (11 15 12 8 16 17 17 16) (50 2 2) simpleGrading (1 1 1)
);

edges
(
arc 8 9 (0 0.50353553 0.50353553)
arc 9 10 (0 0.50353553 0.49646447)
arc 10 11 (0 0.49646447 0.49646447)
arc 11 8 (0 0.49646447 0.50353553)
arc 12 13 (1 0.50353553 0.50353553)
arc 13 14 (1 0.50353553 0.49646447)
arc 14 15 (1 0.49646447 0.49646447)
arc 15 12 (1 0.49646447 0.50353553)
);

boundary
(
/*movingWall
{
type wall;
faces
(
(3 7 6 2)
);
}*/
fixedWalls
{
type wall;
faces
(
(0 1 2 3)
(4 5 6 7)
(7 6 2 3)
(4 5 1 0)
(3 9 10 0)
(0 10 11 4)
(4 11 8 7)
(7 8 9 3)
(2 13 14 1)
(1 14 15 5)
(5 15 12 6)
(6 12 13 2)
);
}
inlet
{
type patch;
faces
(
//(0 3 7 4)//
(8 9 10 11)
);
}
oulet
{
type patch;
faces
(
//(2 1 5 6)//
(12 13 14 15)
);
}
);

mergePatchPairs
(
);


When i executed blockMesh, i encountered a few errors. The first one says,

Creating block mesh topology
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0452479 for face 0
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0377479 for face 1
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0795833 for face 2
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0034125 for face 3
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0414979 for face 4
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 128
zero or negative pyramid volume: -0.0414979 for face 5
--> FOAM Warning :
From function blockMesh::createTopology(IOdictionary&)
in file blockMesh/blockMeshTopology.C at line 255
negative volume block : 0, probably defined inside-out


I encountered the same error for all the 8 blocks defined. How can i solve this error? What is the reason for this? Does this say the volume is negative? I am defenitely not sure whether the blockMeshDict i made is right.

I apologise for such a long description.My intention was to make everything clear at the very beginning itself.

vishalsacharya March 25, 2012 03:05

look at the documentation webpage about blockmesh, in that you will see that edges have a direction sense. If you create a block, that implies a certain direction sense for the edges it contains. Now when you create an edge using arc, the direction sense needs to be maintained.. which means that
arc 0 1 () and arc 1 0 ()
are not the same...
so based on the way you have set up your hex blocks, figure out the direction of the arcs and appropriately use the right vertex order.
I had the same problem and i fixed it for my case.
Let me know if this helped.

anon_a March 25, 2012 15:43

It also helps a lot to try creating one block at a time.
Comment all the blocks except the first one, run blockMesh, note the warning, open the geometry in paraFoam regardless of the warning and see what's wrong.
If something is inside out, it is coloured in grey instead of white in paraFoam, as far as I remember.
Once you are finished, proceed with the rest.


All times are GMT -4. The time now is 21:35.