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/)
-   -   [blockMesh] blockMesh fatal error, the default patch already has faces in it (https://www.cfd-online.com/Forums/openfoam-meshing/126742-blockmesh-fatal-error-default-patch-already-has-faces.html)

samid November 25, 2013 10:13

blockMesh fatal error, the default patch already has faces in it
 
Dear all,

My colleagues and I have recently ran across a strange issue about the defaultFaces patch. We want to calculate the flow around the rectangular box for the simple case scenario. For the specific reasons our mesh is formed from the prisms, but according to the userguide it should be Ok. Current blockMeshDict describes the following geometry:

http://s020.radikal.ru/i706/1311/de/96c46a771105.png

When I run the blockMesh command on the blockMeshDict file (given below), the program throws the fatal error:

Default patch defaultFaces already has faces in it or it is not last in list of patches.

As far as I understand, this is because we have forgot some of the faces on the outer boundaries and blockMesh has automatically added them. Nevertheless, I'm pretty sure that all the boundaries are properly described and this error confused me.

I would be really grateful for any information concerning the rules for the defaultFaces patch formation and the reasons of why it should be the "last in the list of patches".

Thanks in advance!

Here's the blockMeshDict file, just in case.

Code:

/
*--------------------------------*- C++ -*----------------------------------*
| =========                |                                                |
| \      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \    /  O peration    | Version:  2.2.0                                |
|  \  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
    ( 0 0 0 ) //0
    ( 53 0 0 ) //1
    ( 53 42 0 ) //2
    ( 0 42 0 ) //3
    ( 17 20 0 ) //4
    ( 27 14 0 ) //5
    ( 42 28 0 ) //6
    ( 32 34 0 ) //7
    ( 26 0 0 ) //8
    ( 53 21 0 ) //9
    ( 26 42 0 ) //10
    ( 0 21 0 ) //11
    ( 40 42 0 ) //12
    ( 0 0 25 ) //13
    ( 53 0 25 ) //14
    ( 53 42 25 ) //15
    ( 0 42 25 ) //16
    ( 17 20 25 ) //17
    ( 27 14 25 ) //18
    ( 42 28 25 ) //19
    ( 32 34 25 ) //20
    ( 26 0 25 ) //21
    ( 53 21 25 ) //22
    ( 26 42 25 ) //23
    ( 0 21 25 ) //24
    ( 40 42 25 ) //25
    ( 0 0 50 ) //26
    ( 53 0 50 ) //27
    ( 53 42 50 ) //28
    ( 0 42 50 ) //29
    ( 17 20 50 ) //30
    ( 27 14 50 ) //31
    ( 42 28 50 ) //32
    ( 32 34 50 ) //33
    ( 26 0 50 ) //34
    ( 53 21 50 ) //35
    ( 26 42 50 ) //36
    ( 0 21 50 ) //37
    ( 40 42 50 ) //38
);
blocks
(
    hex (8 8 4 0 21 21 17 13) (10 10 10) simpleGrading (1 1 1)
    hex (21 21 17 13 34 34 30 26) (10 10 10) simpleGrading (1 1 1)
    hex (8 8 5 1 21 21 18 14) (10 10 10) simpleGrading (1 1 1)
    hex (21 21 14 18 34 34 27 31) (10 10 10) simpleGrading (1 1 1)
    hex (4 4 7 10 17 17 20 23) (10 10 10) simpleGrading (1 1 1)
    hex (17 17 20 23 30 30 33 36) (10 10 10) simpleGrading (1 1 1)
    hex (0 0 4 11 13 13 17 24) (10 10 10) simpleGrading (1 1 1)
    hex (13 13 17 24 26 26 30 37) (10 10 10) simpleGrading (1 1 1)
    hex (18 18 20 17 31 31 33 30) (10 10 10) simpleGrading (1 1 1)
    hex (8 8 5 4 21 21 18 17) (10 10 10) simpleGrading (1 1 1)
    hex (21 21 18 17 34 34 31 30) (10 10 10) simpleGrading (1 1 1)
    hex (9 9 2 6 22 22 15 19) (10 10 10) simpleGrading (1 1 1)
    hex (22 22 15 19 35 35 28 32) (10 10 10) simpleGrading (1 1 1)
    hex (18 18 19 20 31 31 32 33) (10 10 10) simpleGrading (1 1 1)
    hex (4 4 10 3 17 17 23 16) (10 10 10) simpleGrading (1 1 1)
    hex (17 17 23 16 30 30 36 29) (10 10 10) simpleGrading (1 1 1)
    hex (6 6 2 12 19 19 15 25) (10 10 10) simpleGrading (1 1 1)
    hex (19 19 15 25 32 32 28 38) (10 10 10) simpleGrading (1 1 1)
    hex (7 7 12 10 20 20 25 23) (10 10 10) simpleGrading (1 1 1)
    hex (20 20 25 23 33 33 38 36) (10 10 10) simpleGrading (1 1 1)
    hex (1 1 9 5 14 14 22 18) (10 10 10) simpleGrading (1 1 1)
    hex (14 14 22 18 27 27 35 31) (10 10 10) simpleGrading (1 1 1)
    hex (4 4 3 11 17 17 16 24) (10 10 10) simpleGrading (1 1 1)
    hex (17 17 16 24 30 30 29 37) (10 10 10) simpleGrading (1 1 1)
    hex (5 5 9 6 18 18 22 19) (10 10 10) simpleGrading (1 1 1)
    hex (18 18 22 19 31 31 35 32) (10 10 10) simpleGrading (1 1 1)
    hex (6 6 12 7 19 19 25 20) (10 10 10) simpleGrading (1 1 1)
    hex (19 19 25 20 32 32 38 33) (10 10 10) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    floor
    {
        type wall;
        faces
        (
            (8 8 4 0)
            (8 8 1 5)
            (4 4 7 10)
            (0 0 4 11)
            (8 8 5 4)
            (9 9 2 6)
            (4 4 10 3)
            (6 6 2 12)
            (7 7 12 10)
            (1 1 9 5)
            (4 4 3 11)
            (5 5 9 6)
            (6 6 12 7)
        );
    }
    outerWalls0
    {
        type wall;
        faces
        (
            (0 13 21 8)
            (13 26 34 21)
            (8 21 14 1)
            (21 34 27 14)
        );
    }
    outerWalls1
    {
        type wall;
        faces
        (
            (0 13 24 11)
            (13 26 37 24)
            (11 24 16 3)
            (24 37 29 16)
        );
    }
    outerWalls2
    {
        type wall;
        faces
        (
            (3 16 23 10)
            (16 29 36 23)
            (10 23 25 12)
            (23 36 38 25)
            (12 25 15 2)
            (25 38 28 15)
        );
    }
    outerWalls3
    {
        type wall;
        faces
        (
            (1 14 22 9)
            (14 27 35 22)
            (9 22 15 2)
            (22 35 28 15)
        );
    }
    ceiling
    {
        type wall;
        faces
        (
            (34 34 30 26)
            (34 34 27 31)
            (30 30 33 36)
            (26 26 30 37)
            (34 34 31 30)
            (35 35 28 32)
            (30 30 36 29)
            (32 32 28 38)
            (33 33 38 36)
            (27 27 35 31)
            (30 30 29 37)
            (31 31 35 32)
            (32 32 38 33)
            (31 31 33 30)
            (31 31 32 33)
        );
    }
    boxWalls
    {
        type wall;
        faces
        (
            (4 5 18 17)
            (5 6 19 18)
            (6 7 20 19)
            (7 4 17 20)
            (18 18 20 17)
            (18 18 19 20)
        );
    }
);
mergePatchPairs
(
);
// ************************************************************************* //


djh2 February 17, 2014 13:23

I'm also having some issues with defaultFaces but mine are an unresolved interface that shouldn't be there.

Can you see what faces are being included in defaultFaces by using ParaView?

It may help you identify what is not being defined properly, so you can add them to the proper patch or otherwise remove them.

In my case, I had 16 faces go into defaultFaces, so I tried to define them into a master and slave patch to mergePatchPairs, but I keep getting an error about creating zero thickness geometry or something like that.

Might help get you onto the right direction

samid February 17, 2014 14:35

djh2, thanks for the reply. Actually, we have resolved an issue (at least the blockMesh works for now).

The case was in the prism definition using the hex keyword. This notation implies that if you join the vertices of the hex to form a prism, the plane between the joined vertices remains and should be added to one of the patches.

For example, if I declare a prism with a hex keyword like this:

(8 8 5 1 21 21 18 14)

the face (5 8 8 5) exists even though it has square equal to zero, as well as the face (18 21 21 18). So, if you don't add them to some of the patches, they will automatically be included into the defaultFaces, which causes the further problems. This doesn't make a lot of sense, but thats how it works.

ParaView is helpless here, since the files which are necessary to make a 3D view are not formed by the blockMeshDict because the error appears earlier.

Hope this helps,
Dmitry


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