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
|