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

[Technical] checkMesh states that faces do not form a cell, mesh appears correct

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 18, 2014, 06:33
Cool checkMesh states that faces do not form a cell, mesh appears correct
  #1
New Member
 
Richel Bilderbeek
Join Date: Nov 2013
Posts: 14
Rep Power: 13
assert is on a distinguished road
I try to create the mesh of a cube consisting of two adjacent prisms, using the points, faces, boundary, owner and neighbour files. It should be easy, but checkMesh states:

Code:
The mesh has multiple regions which are not connected by any face.
and

Code:
***Boundary openness (0 0.171573 0) possible hole in boundary description.
 ***Open cells found, max cell openness: 1, number of open cells 1
Checking the points and faces files, I conclude the point and face indices as put in the picture below:




Although my research appears thorough to me, I appear to overlook something. I am pretty sure the windings are correct, as this was the previous aspect checkMesh made me correct.

The files used and generated, of which I think of to be most important, I paste below, all and the compete files can be viewed at http://www.richelbilderbeek.nl/ToolO...CellsFound.htm .

I have tried hard to make it clear to deduce what I overlooked, so I am very curious what it is.

Thanks, Richel Bilderbeek


checkMesh output:

Code:
Build  : 2.1-88b2f2ae3a0b
Exec   : checkmesh
Date   : Mar 18 2014
Time   : 08:52:39
Host   : "AIRBEAR-W7-I5"
PID    : 1524
Case   : D:/Projects/Tools/build-ToolTestTriangleMeshConsole-Desktop_Qt_5_1_1_Mi
nGW_32bit-Debug
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMas
ter
allowSystemOperations : Allowing user-supplied system call operations

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

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           8
    internal points:  0
    faces:            9
    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:        1
    wedges:        0
    pyramids:      0
    tet wedges:    1
    tetrahedra:    0
    polyhedra:     0

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 "0/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        4        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 (0 0.171573 0) possible hole in boundary description.
 ***Open cells found, max cell openness: 1, number of open cells 1
  <<Writing 1 non closed cells to set nonClosedCells
    Minimum face area = 1. Maximum face area = 2.  Face area magnitudes OK.
    Min volume = 0.722222. Max volume = 1.  Total volume = 1.72222.  Cell volume
s OK.
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.421474 OK.
    Coupled point location match (average 0) OK.

Failed 2 mesh checks.

End
boundary, appears correct:

Code:
FoamFile
{
  version  2.0;
  format   ascii;
  class    polyBoundaryMesh;
  location "constant\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;
  }

)
faces (also shown in image):

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

9
(
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)
3(3 7 1)
3(1 7 0)
4(1 7 4 6)
)
neighbour, checked to be correct:

Code:
FoamFile
{    version    2.0;
    format    ascii;
    class    labelList;
    note    "nPoints: 8 nCells: 2 nFaces: 9";
    location    "constant/polyMesh";
    object    neighbour;
}

9
(
-1
-1
-1
-1
-1
-1
-1
-1
1
)
owner, checked to be correct:

Code:
FoamFile
{    version    2.0;
    format    ascii;
    class    labelList;
    note    "nPoints: 8 nCells: 2 nFaces: 9";
    location    "constant/polyMesh";
    object    owner;
}

9
(
1
0
1
0
0
1
0
1
0
)
points (also shown in image):

Code:
FoamFile
{    version    2.0;
    format    ascii;
    class    vectorField;
    location    "constant/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)
)
nonClosedCells, generated by checkMesh:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       cellSet;
    location    "constant/polyMesh/sets";
    object      nonClosedCells;
}

1
(
1 
)
cellToRegion, generated by checkMesh:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       labelList;
    location    "0";
    object      cellToRegion;
}

2(0 1)
assert is offline   Reply With Quote

Old   March 20, 2014, 05:46
Default A non-solution
  #2
New Member
 
Richel Bilderbeek
Join Date: Nov 2013
Posts: 14
Rep Power: 13
assert is on a distinguished road
I noted that after doing a renumberMesh and zipUpMesh I get a 'correct' mesh (that is: a mesh in which checkMesh does find errors in).

What is strange, it has two bent pentagons in:



I posted the question
http://www.cfd-online.com/Forums/ope...tml#post481044 , with a lot more detail.

How can my -as far as I can see- correct mesh be labeled incorrect?
How can my -as far as I can see- incorrect mesh be labeled correct?
assert is offline   Reply With Quote

Old   March 24, 2014, 10:08
Default Solved
  #3
New Member
 
Richel Bilderbeek
Join Date: Nov 2013
Posts: 14
Rep Power: 13
assert is on a distinguished road
I found out what caused the error: in the file 'boundary', the (unnamed) internal faces must be put first. Modifying 'boundary', reordering the files 'faces', 'neighbour' and 'owner' resulted in checkMesh reporting no errors. Below an image with face indices.

Complete files can be found at http://richelbilderbeek.nl/ToolOpenF...FoundFixed.htm




__________________
I will never accept a 'Friend' request, I will always accept beer
assert is offline   Reply With Quote

Old   December 7, 2015, 12:14
Default
  #4
Senior Member
 
Join Date: Mar 2015
Posts: 250
Rep Power: 12
KateEisenhower is on a distinguished road
Hello Richel,

thanks for this interesting topic! What do you mean with internal faces in the boundary file? My boundary file usually only consists of my defined patches.

Best regards,

Kate
Quote:
Originally Posted by assert View Post
I found out what caused the error: in the file 'boundary', the (unnamed) internal faces must be put first. Modifying 'boundary', reordering the files 'faces', 'neighbour' and 'owner' resulted in checkMesh reporting no errors. Below an image with face indices.

Complete files can be found at http://richelbilderbeek.nl/ToolOpenF...FoundFixed.htm




KateEisenhower is offline   Reply With Quote

Reply

Tags
boundary openness, checkmesh, mesh, open cells found, regions not connected

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
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 92 May 21, 2024 08:56
[snappyHexMesh] Layers not growing at all zonda OpenFOAM Meshing & Mesh Conversion 12 June 6, 2020 12:28
[snappyHexMesh] sHM layer process keeps getting killed MBttR OpenFOAM Meshing & Mesh Conversion 4 August 15, 2016 04:21
SigFpe when running ANY application in parallel Pj. OpenFOAM Running, Solving & CFD 3 April 23, 2015 15:53
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 07:20


All times are GMT -4. The time now is 14:57.