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/)
-   -   [Technical] checkMesh states mesh is OK yet faces are bent pentagons (https://www.cfd-online.com/Forums/openfoam-meshing/131734-checkmesh-states-mesh-ok-yet-faces-bent-pentagons.html)

assert March 20, 2014 04:40

checkMesh states mesh is OK yet faces are bent pentagons
 
My question is: how can this mesh be correct (and how can the original mesh be incorrect)?

This is a follow-up of http://www.cfd-online.com/Forums/ope...s-correct.html , where I had a AFAIKS correct mesh, yet checkMesh gave two errors.

On that mesh I did the following commands:
Code:

renumberMesh
zipUpMesh

This resulted in a 'correct' (that is: according to checkMesh) mesh, with six faces, two of which are bent polygons. The image below shows the point indices, the others show the face indices. Of the bent polygon faces, I number the vertex indices.

http://www.richelbilderbeek.nl/ToolO...dCorrected.png

How can this mesh be correct (and how can the original mesh be incorrect)?

Below I put the content of the AFAIK most important files, you can view all at http://www.richelbilderbeek.nl/ToolO...dCorrected.htm .

checkMesh output (I removed some text, indicated with [...]):

Code:

[...]
Build  : 2.1-88b2f2ae3a0b
Exec  : checkmesh
Date  : Mar 20 2014
Time  : 08:03:54
Host  : "AIRBEAR-W7-I5"
PID    : 2764
Case  : D:/Projects/Test/ToolOpenFoamErrorOpenCellsFoundCorrected
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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

Create polyMesh for time = 0

[...]

Time = 1

Mesh stats
    points:          8
    internal points:  0
    faces:            8
    internal faces:  0
    cells:            2
    boundary patches: 6
    point zones:      0
    face zones:      0
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    0
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:    2

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
  *Number of regions: 2
    The mesh has multiple regions which are not connected by any face.
  <<Writing region information to "1/cellToRegion"

Checking patch topology for multiply connected surfaces ...
    Patch              Faces    Points  Surface topology                 
    back                1        4        ok (non-closed singly connected) 
    bottom              2        4        ok (non-closed singly connected) 
    front              1        4        ok (non-closed singly connected) 
    left                1        4        ok (non-closed singly connected) 
    right              1        4        ok (non-closed singly connected) 
    top                2        6        ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (-1 -1 0) (1 1 1)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-2.28837e-018 -1.83069e-017 0) OK.
    Max cell openness = 5.55112e-017 OK.
    Max aspect ratio = 2 OK.
    Minimum face area = 1. Maximum face area = 2.23607.  Face area magnitudes OK.
    Min volume = 0.731939. Max volume = 0.731939.  Total volume = 1.46388.  Cell volumes OK.
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.34936 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

points, as shown at the top-left of the image:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      vectorField;
    location    "1/polyMesh";
    object      points;
}

8((0 1 1) (-1 0 1) (0 1 0) (0 -1 1) (1 0 0) (0 -1 0) (-1 0 0) (1 0 1))

faces, as shown in the image:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      faceList;
    location    "1/polyMesh";
    object      faces;
}

8
(
4(0 2 6 1)
3(5 6 4)
3(4 6 2)
4(1 6 5 3)
4(4 7 3 5)
4(0 7 4 2)
5(3 7 4 6 1)
5(1 6 4 7 0)
)

boundaries:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      polyBoundaryMesh;
    location    "1/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

6
(
    back
    {
        type            zeroGradient;
        nFaces          1;
        startFace      0;
    }
    bottom
    {
        type            zeroGradient;
        nFaces          2;
        startFace      1;
    }
    front
    {
        type            zeroGradient;
        nFaces          1;
        startFace      3;
    }
    left
    {
        type            zeroGradient;
        nFaces          1;
        startFace      4;
    }
    right
    {
        type            zeroGradient;
        nFaces          1;
        startFace      5;
    }
    top
    {
        type            zeroGradient;
        nFaces          2;
        startFace      6;
    }
)

owner:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      labelList;
    note        "nPoints:8  nCells:2  nFaces:8  nInternalFaces:0";
    location    "1/polyMesh";
    object      owner;
}

8(1 0 1 0 0 1 0 1)

neighbour:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      labelList;
    note        "nPoints:8  nCells:2  nFaces:8  nInternalFaces:0";
    location    "1/polyMesh";
    object      neighbour;
}

0()

Again, all and complete files are at http://www.richelbilderbeek.nl/ToolO...dCorrected.htm

assert March 24, 2014 09:10

Solved
 
The source error http://www.cfd-online.com/Forums/ope...s-correct.html has been solved and the answer can be found there.


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