CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Native Meshers: blockMesh

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

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

Reply
 
LinkBack Thread Tools Display Modes
Old   November 25, 2013, 10:13
Default blockMesh fatal error, the default patch already has faces in it
  #1
New Member
 
Join Date: Nov 2013
Posts: 2
Rep Power: 0
samid is on a distinguished road
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:



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
(
);
// ************************************************************************* //
samid is offline   Reply With Quote

Old   February 17, 2014, 13:23
Default
  #2
New Member
 
David H.
Join Date: Oct 2013
Posts: 21
Rep Power: 3
djh2 is on a distinguished road
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
djh2 is offline   Reply With Quote

Old   February 17, 2014, 14:35
Default
  #3
New Member
 
Join Date: Nov 2013
Posts: 2
Rep Power: 0
samid is on a distinguished road
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
samid is offline   Reply With Quote

Reply

Tags
blockmeshdict, defaultfaces, error

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
mixerVesselAMI2D's mass is not balancing sharonyue OpenFOAM Running, Solving & CFD 6 June 10, 2013 09:34
Using starToFoam clo OpenFOAM Other Meshers: ICEM, Star, Ansys, Pointwise, GridPro, Ansa, ... 33 September 26, 2012 04:04
Fluent3DMeshToFoam simvun OpenFOAM Other Meshers: ICEM, Star, Ansys, Pointwise, GridPro, Ansa, ... 48 May 14, 2012 05:20
Problem in running ICEM grid in Openfoam Tarak OpenFOAM 6 September 9, 2011 17:51
Problem with rhoSimpleFoam matteo_gautero OpenFOAM Running, Solving & CFD 0 February 28, 2008 07:51


All times are GMT -4. The time now is 01:46.