CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[blockMesh] BlockMesh zero or negative pyramid volume

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 13, 2016, 05:25
Default BlockMesh zero or negative pyramid volume
  #1
New Member
 
Join Date: May 2016
Posts: 25
Rep Power: 9
mgab is on a distinguished road
Hi,
i'm trying to create a simple mesh (i'm just learning openFoam) shaped like a T upside-down.
This is the blockMeshDict:
Code:
convertToMeters 0.1;

vertices
(
    (0 0 0)
    (20 0 0)
    (20 1 0)
    (0 1 0)
    (0 0 0.1 )
    (20 0 0.1 )
    (20 1 0.1 )
    (0 1 0.1 )
    (5 1 0)
    (6 1 0)
    (6 1 0.1)
    (5 1 0.1)
    (5 4 0)
    (6 4 0)
    (6 4 0.1)
    (5 4 0.1)
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
    hex (8 9 10 11 12 13 14 15) (20 20 1) simpleGrading (1 1 1)
);


edges
(
);

boundary
(
    top
    {
        type wall ;
        faces
        (
            (3 7 11 8)
            (8 11 15 12)
            (14 10 9 13)
            (9 10 6 2)
        );
    }
    bottom
    {
        type wall ;
        faces
        (
            (1 5 4 0)
        );
    }
    inlet1
    {
        type patch ;
        faces
        (
            (0 4 7 3)
        );
    }
    inlet2
    {
        type patch ;
        faces
        (
            (12 15 14 13)
        );
    }

    outlet
    {
        type patch ;
        faces
        (
            (2 6 5 1)
        );
    }
    frontAndBack
    {
        type empty ;
        faces
        (
            (0 3 2 1)
            (4 5 6 7)
        );
    }
);

mergePatchPairs
(
);
When try to compile the mesh i get the following warning and error:
Code:
zero or negative pyramid volume: -0.05 for face 0
for faces 0 to 5.
And also
Code:
--> FOAM FATAL ERROR: 
face 0 in patch 0 does not have neighbour cell face: 4(3 7 11 8)
Does anyone know what i did wrong?
Thanks
mgab is offline   Reply With Quote

Old   December 13, 2016, 05:51
Default
  #2
New Member
 
Join Date: May 2016
Posts: 25
Rep Power: 9
mgab is on a distinguished road
I found one mistake in the order of the vertices.
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.1                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.1;

vertices
(
    (0 0 0)        //0
    (20 0 0)    //1
    (20 1 0)    //2
    (0 1 0)        //3
    (0 0 0.1 )    //4
    (20 0 0.1 )    //5
    (20 1 0.1 )    //6
    (0 1 0.1 )    //7
    (5 1 0)        //8
    (6 1 0)        //9
    (6 4 0)        //10
    (5 4 0)        //11
    (5 1 0.1)    //12
    (6 1 0.1)    //13
    (6 4 0.1)    //14
    (5 4 0.1)    //15
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
    hex (8 9 10 11 12 13 14 15) (20 20 1) simpleGrading (1 1 1)
);


edges
(
);

boundary
(
    top
    {
        type wall ;
        faces
        (
            (8 3 7 12)
            (8 12 15 11)
            (14 13 9 10)
            (9 13 6 2)
        );
    }
    bottom
    {
        type wall ;
        faces
        (
            (1 5 4 0)
        );
    }
    inlet1
    {
        type patch ;
        faces
        (
            (0 4 7 3)
        );
    }
    inlet2
    {
        type patch ;
        faces
        (
            (11 15 14 10)
        );
    }

    outlet
    {
        type patch ;
        faces
        (
            (2 6 5 1)
        );
    }
    frontAndBack
    {
        type empty ;
        faces
        (
            (0 3 2 1)
            (4 5 6 7)
        );
    }
);

mergePatchPairs
(
);
// ************************************************************************* //
but the fatal error remains
Code:
Create time

Creating block mesh from
    "/home/marco/OpenFOAM/marco-4.1/run/prova/constant/polyMesh/blockMeshDict"
Creating curved edges
Creating topology blocks
Creating topology patches

Creating block mesh topology


--> FOAM FATAL ERROR: 
face 0 in patch 0 does not have neighbour cell face: 4(8 3 7 12)

    From function Foam::labelList Foam::polyMesh::facePatchFaceCells(const faceList&, const labelListList&, const faceListList&, Foam::label) const
    in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 118.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const at ??:?
#3  Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) at ??:?
#4  Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) at ??:?
#5  Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) at ??:?
#6  Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) at ??:?
#7  ? at ??:?
#8  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#9  ? at ??:?
Aborted
mgab is offline   Reply With Quote

Old   December 14, 2016, 21:20
Default
  #3
Senior Member
 
Join Date: Aug 2013
Posts: 407
Rep Power: 15
Antimony is on a distinguished road
Hi,

In neither of your blocks do you have any surface that contains all the vertices 8, 3, 7 and 12.

In order for you to define a boundary, the vertices should together be part of a block, which is not the case.

Hope this helps.

Cheers,
Antimony
Antimony is offline   Reply With Quote

Old   December 15, 2016, 07:17
Default
  #4
New Member
 
Join Date: May 2016
Posts: 25
Rep Power: 9
mgab is on a distinguished road
Hi,
i thought that blocks wouldn't need same vertices.
Thanks
mgab is offline   Reply With Quote

Old   February 18, 2017, 19:47
Default
  #5
New Member
 
Join Date: Nov 2016
Posts: 8
Rep Power: 9
Bob! is on a distinguished road
Hey

Your Problem isn't the block or it's points, that seems to be right;
your Problem is, that you are defining a face (of the wall "Top") over two blocks. that is just not possible. check your points and the faces you want to build, maybe write them down and draw your geometry and you will see, what you'll have to change.

best regards
Bob! is offline   Reply With Quote

Reply

Tags
blockmeshdict, error, warning message


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


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANSYS Meshing] Small mesh error: Zero or negative volume for elements. [Explicit dynamics] matin ANSYS Meshing & Geometry 0 September 14, 2017 20:19
[snappyHexMesh] No layers in a small gap bobburnquist OpenFOAM Meshing & Mesh Conversion 6 August 26, 2015 09:38
Courant number blowing up, non-orthogonal mesh? odellar OpenFOAM Running, Solving & CFD 5 October 22, 2013 19:50
Possible bug in blockMesh benru OpenFOAM Bugs 16 August 17, 2013 19:54
fluent add additional zones for the mesh file SSL FLUENT 2 January 26, 2008 11:55


All times are GMT -4. The time now is 16:31.