CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   ParaView (https://www.cfd-online.com/Forums/paraview/)
-   -   [OpenFOAM] ParaView shows bad cells, checkMesh doesn't seem to notice. (https://www.cfd-online.com/Forums/paraview/140476-paraview-shows-bad-cells-checkmesh-doesnt-seem-notice.html)

CoolHand August 15, 2014 22:02

ParaView shows bad cells, checkMesh doesn't seem to notice.
 
3 Attachment(s)
Hey OpenFOAMers,

So I've got this mesh. blockMesh runs without errors and checkMesh does not report any bad cells. Viewing the mesh from the outside or from the inside (Cull Front Face) the mesh looks good, but then if I take a clip to look at the interior volume cells I can see some uglyness (See third image attached). Any idea whats going on here?

checkMesh Log:

Code:

  Mesh stats
    points:          869716
    faces:            2557500
    internal faces:  2506500
    cells:            844000
    faces per cell:  6
    boundary patches: 9
    point zones:      0
    face zones:      0
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    844000
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    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: 1 (OK).

Checking patch topology for multiply connected surfaces...
    Patch              Faces    Points  Surface topology                 
    inlet              2400    2501    ok (non-closed singly connected) 
    outlet              7200    7381    ok (non-closed singly connected) 
    leftWall            9000    9196    ok (non-closed singly connected) 
    rightWall          9000    9196    ok (non-closed singly connected) 
    upperWall          7700    7836    ok (non-closed singly connected) 
    lowerWall          5700    5875    ok (non-closed singly connected) 
    cylWall            3200    3280    ok (non-closed singly connected) 
    cylTop              2000    2041    ok (non-closed singly connected) 
    trip                4800    4941    ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (-0.7 0 -0.3) (0.4 0.04 0.3)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-3.961e-18 -1.165e-14 4.242e-15) OK.
    Max cell openness = 2.453e-16 OK.
    Max aspect ratio = 319.2 OK.
    Minimum face area = 2.5e-07. Maximum face area = 0.000224.  Face        area magnitudes OK.
    Min volume = 7.556e-10. Max volume = 2.708e-07.  Total volume = 0.02634.  Cell volumes OK.
    Mesh non-orthogonality Max: 41.89 average: 7.464
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.7542 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

blockMeshDict: (Sorry about the weird spacing. It didn't copy & paste well.)

Code:

convertToMeters 0.1;

vertices
(
        (-0.25          0                  0.25)        //0
        (0.25          0                0.25)        //1
        (0.25          0                -0.25)        //2
        (-0.25          0                -0.25)        //3
        (-0.707          0                0.707)        //4
        (0.707          0                0.707)        //5
        (0.707          0                -0.707)        //6
        (-0.707          0                -0.707)        //7
        (-1.414          0                1.414)        //8
        (1.414          0                1.414)        //9
        (1.414          0                -1.414)        //10
        (-1.414          0                -1.414)        //11
       
        (-7                  0                3)                //12
        (-1.414          0                3)                //13
        (1.414          0                3)                //14
        (4                  0                3)                //15

        (-7                  0                1.414)        //16
        (4                  0                1.414)        //17
        (-7                    0                -1.414)        //18
        (4                  0                -1.414)        //19

        (-7                  0                -3)                //20
        (-1.414          0                -3)                //21
        (1.414          0                -3)                //22
        (4                  0                -3)                //23

/////////////////////////////////////////////////////

        (-0.25        0.02                    0.25)                //24
        (0.25        0.02                  0.25)                //25
        (0.25          0.02                  -0.25)        //26
        (-0.25        0.02                  -0.25)        //27
        (-0.707        0.02                0.707)        //28
        (0.707          0.02                  0.707)        //29
        (0.707          0.02                -0.707)        //30
        (-0.707          0.02                -0.707)        //31
        (-1.414          0.02                  1.414)        //32
        (1.414        0.02                  1.414)        //33
        (1.414          0.02                -1.414)        //34
        (-1.414          0.02                -1.414)        //35
       
        (-7                    0.02                3)                //36
        (-1.414            0.02                3)                //37
        (1.414          0.02                3)                //38
        (4                    0.02                3)                //39

        (-7                      0.02                1.414)        //40
        (4                    0.02                1.414)        //41
        (-7                    0.02                -1.414)        //42
        (4                    0.02                -1.414)        //43

        (-7                    0.02                -3)                //44
        (-1.414            0.02                -3)                //45
        (1.414            0.02                -3)                //46
        (4                    0.02                -3)                //47

/////////////////////////////////////////////////////

        (-0.25                0.4                0.25)                //48
        (0.25                0.4                  0.25)                  //49
        (0.25                0.4                -0.25)                //50
        (-0.25                0.4                -0.25)                //51
        (-0.707                0.4                0.707)                //52
        (0.707                0.4                0.707)        //53
        (0.707                0.4                -0.707)        //54
        (-0.707                0.4                  -0.707)        //55
        (-1.414                0.4                1.414)        //56
        (1.414                0.4                  1.414)        //57
        (1.414                0.4                -1.414)        //58
        (-1.414                0.4                -1.414)        //59
       
        (-7                        0.4                  3)                //60
        (-1.414                0.4                3)                //61
        (1.414                0.4                3)                //62
        (4                        0.4                3)                //63

        (-7                        0.4                1.414)        //64
        (4                        0.4                1.414)        //65
        (-7                        0.4                -1.414)        //66
        (4                        0.4                -1.414)        //67

        (-7                        0.4                -3)                //68
        (-1.414                0.4                -3)                //69
        (1.414                0.4                -3)                //70
        (4                        0.4                -3)                //71

);

blocks
(
    hex (4 5 29 28 8 9 33 32)            (20 40 20) simpleGrading (1 1 1)                //0
    hex (6 10 34 30 5 9 33 29)            (20 40 20) simpleGrading (1 1 1)                //1
    hex (11 10 34 35 7 6 30 31)          (20 40 20) simpleGrading (1 1 1)                //2
    hex (11 7 31 35 8 4 28 32)            (20 40 20) simpleGrading (1 1 1)                //3
    hex (16 8 32 40 12 13 37 36)          (35 40 20) simpleGrading (1 1 1)                //4
    hex (8 9 33 32 13 14 38 37)          (20 40 20) simpleGrading (1 1 1)                //5
    hex (9 17 41 33 14 15 39 38)          (20 40 20) simpleGrading (1 1 1)                //6
    hex (18 11 35 42 16 8 32 40)          (35 40 20) simpleGrading (1 1 1)                //7
    hex (10 19 43 34 9 17 41 33)          (20 40 20) simpleGrading (1 1 1)                //8
    hex (20 21 45 44 18 11 35 42)        (35 40 20) simpleGrading (1 1 1)                //9
    hex (21 22 46 45 11 10 34 35)        (20 40 20) simpleGrading (1 1 1)                //10
    hex (22 23 47 46 10 19 43 34)        (20 40 20) simpleGrading (1 1 1)                //11

    hex (27 26 50 51 24 25 49 48)        (20 80 20) simpleGrading (1 10 1)                //12
    hex (24 25 49 48 28 29 53 52)        (20 80 20) simpleGrading (1 10 1)                //13
    hex (26 30 54 50 25 29 53 49)        (20 80 20) simpleGrading (1 10 1)                //14
    hex (31 30 54 55 27 26 50 51)        (20 80 20) simpleGrading (1 10 1)                //15
    hex (31 27 51 55 28 24 48 52)        (20 80 20) simpleGrading (1 10 1)                //16
    hex (28 29 53 52 32 33 57 56)        (20 80 20) simpleGrading (1 10 1)                //17
    hex (30 34 58 54 29 33 57 53)        (20 80 20) simpleGrading (1 10 1)                //18
    hex (35 34 58 59 31 30 54 55)        (20 80 20) simpleGrading (1 10 1)                //19
    hex (35 31 55 59 32 28 52 56)        (20 80 20) simpleGrading (1 10 1)                //20
    hex (40 32 56 64 36 37 61 60)        (35 80 20) simpleGrading (1 10 1)                //21
    hex (32 33 57 56 37 38 62 61)        (20 80 20) simpleGrading (1 10 1)                //22
    hex (33 41 65 57 38 39 63 62)        (20 80 20) simpleGrading (1 10 1)                //23
    hex (42 35 59 66 40 32 56 64)        (35 80 20) simpleGrading (1 10 1)                //24
    hex (34 43 67 58 33 41 65 57)        (20 80 20) simpleGrading (1 10 1)                //25
    hex (44 45 69 68 42 35 59 66)        (35 80 20) simpleGrading (1 10 1)                //26
    hex (45 46 70 69 35 34 58 59)        (20 80 20) simpleGrading (1 10 1)                //27
    hex (46 47 71 70 34 43 67 58)        (20 80 20) simpleGrading (1 10 1)                //28

);

edges
(
        arc 4 5            (0        0        1)
        arc 5 6            (1        0        0)
        arc 6 7            (0        0        -1)
        arc 4 7            (-1        0        0)
        arc 8 9            (0        0        2)
        arc 9 10          (2        0        0)
        arc 10 11          (0        0        -2)
        arc 8 11          (-2        0  0)       

        arc 28 29          (0        0.02        1)
        arc 29 30          (1        0.02        0)
        arc 30 31          (0        0.02        -1)
        arc 28 31        (-1 0.02        0)
        arc 32 33          (0        0.02        2)
        arc 33 34  (2        0.02        0)
        arc 34 35          (0        0.02        -2)
        arc 32 35          (-2        0.02        0)

        arc 52 53        (0        0.4        1)
        arc 53 54          (1        0.4        0)
        arc 54 55          (0        0.4        -1)
        arc 52 55        (-1        0.4        0)
        arc 56 57          (0        0.4        2)
        arc 57 58  (2        0.4          0)
        arc 58 59          (0        0.4        -2)
        arc 56 59  (-2 0.4        0)


);

boundary
(
    inlet
    {
        type patch;
        faces
        (
                (12 36 40 16)
                (16 40 42 18)
                (18 42 44 20)
        );
    }
    outlet
    {
        type patch;
        faces
        (
                (23 47 43 19)
                (19 43 41 17)
                (17 41 39 15)
                (47 71 67 43)
                (43 67 65 41)
                (41 65 63 39)
        );
    }
    leftWall
    {
        type symmetryPlane;
        faces
        (
                (20 44 45 21)
                (21 45 46 22)
                (22 46 47 23)
                (44 68 69 45)
                (45 69 70 46)
                (46 70 71 47)
        );
    }
    rightWall
    {
        type symmetryPlane;
        faces
        (
                (15 39 38 14)
                (14 38 37 13)
                (13 37 36 12)
                (39 63 62 38)
                (38 62 61 37)
                (37 61 60 36)
        );
    }
    upperWall
    {
        type symmetryPlane;
        faces
        (
                (61 56 64 60)
                (62 57 56 61)
                (63 65 57 62)
                (56 59 66 64)
                (65 67 58 57)
                (59 69 68 66)
                (58 70 69 59)
                (67 71 70 58)
                (57 53 52 56)
                (57 58 54 53)
                (54 58 59 55)
                (52 55 59 56)
                (53 49 48 52)
                (53 54 50 49)
                (50 54 55 51)
                (48 51 55 52)
                (49 50 51 48)
        );               
    }
    lowerWall
    {
        type wall;
        faces
        (
                (12 16 8 13)
                (13 8 9 14)
                (14 9 17 15)
                (16 18 11 8)
                (9 10 19 17)
                (18 20 21 11)
                (11 21 22 10)
                (10 22 23 19)
                (8 4 5 9)
                (5 6 10 9)
                (7 11 10 6)
                (8 11 7 4)
        );
    }
    cylWall
    {
        type wall;
        faces
        (
                (6 30 31 7)
                (5 29 30 6)
                (5 29 28 4)
                (7 31 28 4)
        );
    }
    cylTop
    {
        type wall;
        faces
        (
                (28 24 25 29)
                (25 26 30 29)
                (27 31 30 26)
                (28 31 27 24)
                (24 27 26 25)
        );
    }
    trip
    {       
        type wall;
        faces
        (
                (36 60 64 40)
                (40 64 66 42)
                (42 66 68 44)
        );
    }
);

mergePatchPairs
(
);


wyldckat August 16, 2014 05:31

Greetings Ben,

Two hints:
  1. Use the filter Extract Cells by Region, because this filter will preserve the cell structure. Clip and Slice filters will strictly need to tessellate/triangulate the mesh, which is why you got some weird triangles appearing in some places.
  2. Use the polyhedron option (i.e., to not decompose polyhedrons). foamToVTK also has this option, namely "-poly". This will avoid the decomposition of polyhedral cells and make it easier to diagnose the mesh. Problem is that the Slice and Clip filters can later on give you problems on more complex cells, which they are not able to decompose and can result in a crash.

edit: I've now added this to the FAQ, with more details: http://openfoamwiki.net/index.php/FA...is_in_ParaView

Best regards,
Bruno

CoolHand August 21, 2014 15:58

Thanks for your reply. I did that and it just didn't show those cells leaving those volumes empty.

My mesh was defined with the center at (0 0 0) so I moved all my points into the positive domain (inlet left corner at (0 0 0) and the bad cells went away. Not really sure why but it worked.


All times are GMT -4. The time now is 06:38.