assert |
March 18, 2014 05:33 |
checkMesh states that faces do not form a cell, mesh appears correct
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:
http://www.richelbilderbeek.nl/ToolO...CellsFound.png
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)
|