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/)
-   -   [Other] problem in axisymmetric Mesh. (https://www.cfd-online.com/Forums/openfoam-meshing/125508-problem-axisymmetric-mesh.html)

seju October 27, 2013 02:58

problem in axisymmetric Mesh.
 
Greetings to all.
I want run this mesh but I see the error.
PHP Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    
version     2.0;
    
format      ascii;
    class       
dictionary;
    
object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.012;
 
vertices
(
(
0 0 0)
(
0.0999 0.04362 0)
(
0.0999 0.04362 5
(
0 0 5)
(
0.0999 -0.04362 0
(
0.0999 -0.04362 5)
);
 
blocks
(
hex (0 4 1 0 3 5 2 3) (40  1 200simpleGrading (1 1 1)
);
 
edges
(
);
 
boundary
(
     
front
     

           
type wedge;
           
faces  
           
(
               (
0 1 2 3)
           );
      }
     
back
     

           
type wedge;
           
faces  
           
(
               (
0 3 5 4)
           );
      }
     
fixedkWall
     

           
type wall;
           
faces  
           
(
               (
1 4 5 2)
           );
      }
     
bottom
     

           
type patch;
           
faces  
           
(
               (
0 4 1 0)
           );
      }
     
top
     

           
type patch;
           
faces  
           
(
               (
3 2 5 3)
           );
      }
     
axis
     

           
type empty;
           
faces  
           
(
               (
0 3 3 0)
           );
      }
);
 
mergePatchPairs
(
);

// ************************************************************************* // 

ERROR:
PHP Code:

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  2.2.1-57f3c3617a2d
Exec   
blockMesh
Date   
Oct 28 2013
Time   
10:24:38
Host   
"sajad-K55VD"
PID    7306
Case   : /home/sajad/OpenFOAM/sajad-2.2.1/run/tutorials/multiphase/interFoam/laminar/ellipsoidal
nProcs 
1
sigFpe 
Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking Monitoring run-time modified files using timeStampMaster
allowSystemOperations 
Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Creating block mesh from
    
"/home/sajad/OpenFOAM/sajad-2.2.1/run/tutorials/multiphase/interFoam/laminar/ellipsoidal/constant/polyMesh/blockMeshDict"
Creating curved edges
Creating topology blocks
Creating topology patches

Creating block mesh topology

 
--> FOAM FATAL ERROR
face 0 in patch 4 does not have neighbour cell face4(3 2 5 3)

    
From function polyMesh::facePatchFaceCells(const faceListpatchFaces,const labelListListpointCells,const faceListListcellsFaceShapes,const label patchID)
    
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting 

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const at ??:?
#3  Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) at ??:?
#4  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) at ??:?
#5  Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) at ??:?
#6  Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) at ??:?
#7  
 
at ??:?
#8  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#9  
 
at ??:?
Aborted (core dumped

you can see similar mesh in this link
HTML Code:

http://openfoamwiki.net/index.php/Main_ContribExamples/AxiSymmetric
I even copy that code from above link and I saw this error again.
after change polyMesh in terminal I run: blockMesh
is it wrong?
where is my drawback??:(:confused:
*best regards*
sajad

Nucleophobe November 2, 2013 23:48

Using wedge elements
 
Sajad,

In order to create wedge elements with blockMesh, you must be careful to follow the guidelines provided in the OpenFOAM documentation (5.3.3):
http://www.openfoam.org/docs/user/blockMesh.php

Also, note that when specifying patches,
Quote:

The order in which the vertices are given must be such that, looking from inside the block and starting with any vertex, the face must be traversed in a clockwise direction to define the other vertices.
I'm not sure where the problem was, but this works:
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.1                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.012;
 
vertices
(

(0.0999 -0.04362 0) // new 0, old 4
(0.0999 -0.04362 5) // new 1, old 5
(0.0999 0.04362 5) // new 2, old 2
(0.0999 0.04362 0) // new 3, old 1
(0 0 0) // new 4, old 0
(0 0 5) // new 5, old 3

// Old vertices:
//(0 0 0) //0
//(0.0999 0.04362 0) //1
//(0.0999 0.04362 5) //2
//(0 0 5) //3
//(0.0999 -0.04362 0) //4
//(0.0999 -0.04362 5) //5
);
 
blocks
(
hex (0 1 2 3 4 5 5 4) (40  1 200) simpleGrading (1 1 1)
);
 
edges
(
);
 
boundary
(
    front
    {
          type wedge;
          faces 
          (
              (0 1 5 4)
          );
      }
    back
    {
          type wedge;
          faces 
          (
              (2 3 4 5)
          );
      }
    fixedkWall
    {
          type wall;
          faces 
          (
              (0 1 2 3)
          );
      }
    bottom
    {
          type patch;
          faces 
          (
              (1 2 5 5)
          );
      }
    top
    {
          type patch;
          faces 
          (
              (0 3 4 4)
          );
      }
    axis
    {
          type empty;
          faces 
          (
              (4 5 5 4)
          );
      }
);
 
mergePatchPairs
(
);

// ************************************************************************* //

Finally, before you use this mesh in a simulation, you will want to modify the geometry such that the angle between the 'front' and 'back' patches is ~5 degrees:
Quote:

wedge
For 2 dimensional axi-symmetric cases, e.g. a cylinder, the geometry is specified as a wedge of small angle (e.g. http://www.openfoam.org/docs/user/img/user437x.png) and 1 cell thick running along the plane of symmetry, straddling one of the coordinate planes, as shown in Figure 5.4. The axi-symmetric wedge planes must be specified as separate patches of wedge type. The details of generating wedge-shaped geometries using blockMesh are described in section 5.3.3.
(http://www.openfoam.org/docs/user/boundaries.php)
As defined, the angle is closer to 25 degrees. You can check this with 'checkMesh' :

Code:

....
Checking geometry...
    Overall domain bounding box (0 -0.00052344 0) (0.0011988 0.00052344 0.06)
    Mesh (non-empty, non-wedge) directions (1 0 1)
    Mesh (non-empty) directions (1 1 1)
    Wedge front with angle 23.587845 degrees
    Wedge back with angle 23.587845 degrees

    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-8.8718496e-14 -3.0464533e-16 -1.9670129e-19) OK.
    Max cell openness = 2.5596435e-16 OK.
    Max aspect ratio = 500.5005 OK.
    Minimum face area = 1.5687497e-11. Maximum face area = 1.57032e-06.  Face area magnitudes OK.
    Min volume = 2.3531245e-14. Max volume = 9.3889668e-12.  Total volume = 3.7649992e-08.  Cell volumes OK.
    Mesh non-orthogonality Max: 0 average: 0
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.0915773 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

Good luck,
-Nuc

vigneshTG November 25, 2014 12:23

Negative pyramid volume warning
 
Dear All,

I am trying to create an axisymmetric mesh. The blockMeshDict i edited is shown below.

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.0.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// angle 5 deg
// radius 1
convertToMeters 1;

vertices
(
    (0 0 0)
    (0.49952 0 0.02180)
    (0.49952 1 0.02180)
    (0 1 0)
    (0.49952 0 -0.02180)
    (0.49952 1 -0.02180)
);

blocks
(
    hex (0 4 1 0 3 5 2 3) (60 1 60) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    front
    {
          type wedge;
          faces 
          (
              (0 1 2 3)
          );
      }
    back
    {
          type wedge;
          faces 
          (
              (0 3 5 4)
          );
      }
    sideWall
    {
          type wall;
          faces 
          (
              (1 4 5 2)
          );
      }
    bottom
    {
          type wall;
          faces 
          (
              (0 4 1 0)
          );
      }
    top
    {
          type patch;
          faces 
          (
              (3 5 2 3)
          );
      }
    axis
    {
          type empty;
          faces 
          (
              (0 3 3 0)
          );
      }
);

mergePatchPairs
(
);


// ************************************************************************* //

When i run blockMesh, i get the following warning of negative pyramid volume
Code:

--> 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.00362985 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.00181492 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.00181492 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.00181492 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.00181492 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

Can someone tell me what i am doing wrong !!


All times are GMT -4. The time now is 04:16.