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 error in channel flow (https://www.cfd-online.com/Forums/openfoam-meshing/61808-blockmesh-error-channel-flow.html)

lofty March 3, 2008 15:03

BlockMesh error in channel flow
 
Hi

I am simulating a flow in a channel with cyclic BC and four ribs inside which i have specified as walls. I am getting the following error when i execute the blockMesh.

Reading block mesh description dictionary

Creating block mesh

Creating blockCorners

Creating curved edges

Creating blocks

Creating patches

Creating block mesh topology
--> FOAM Warning :
From function cellModel::mag(const labelList&, const pointField&)
in file meshes/meshShapes/cellModel/cellModel.C at line 134
zero or negative pyramid volume: -1.33333 for face 4

Default patch type set to empty


--> FOAM FATAL ERROR : face 1 in patch 0 does not have neighbour cell face: 4(0 18 20 43)#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::polyMesh::facePatchFaceCells(Foam::List<foam ::face> const&, Foam::List<foam::list<int> > const&, Foam::List<foam::list<foam::face> > const&, int) const in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#3 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Field<foam::vector<double> > const&, Foam::List<foam::cellshape> const&, Foam::List<foam::list<foam::face> > const&, Foam::List<foam::word> const&, Foam::List<foam::word> const&, Foam::word const&, Foam::List<foam::word> const&, bool) in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam::blockMesh::createTopology(Foam::IOdictionary &) in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh "
#5 Foam::blockMesh::blockMesh(Foam::IOdictionary&) in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh "
#6 main in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh "
#7 __libc_start_main in "/lib/i686/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/caelinux/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh "


From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting

Any idea how to resolve the problem! Thanks in advance

hjasak March 3, 2008 16:00

Check your lock definition - o
 
Check your lock definition - one block is inside-out.

Hrv

lofty March 3, 2008 17:26

Sorry what is lock definition
 
Sorry what is lock definition Jasak. What do you mean by "one block is inside out". All the blocks are inside the channel. Here is my block dic file.

FoamFile
{
version 2.0;
format ascii;

root "/opt/OpenFOAM/caelinux-1.4.1/run";
case "cubes";
instance "constant/polyMesh";
local "";

class dictionary;
object blockMeshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

arguments "/opt/OpenFOAM/caelinux-1.4.1/run/cubes" off;

convertToMeters 0.01;

vertices
(
(0 0 0)
(8 0 0)
(0 2 0)
(8 2 0)
(0 8 0)
(8 8 0)
(0 0 8)
(8 0 8)
(0 2 8)
(8 2 8)
(0 8 8)
(8 8 8)
(0 0 6)
(2 0 8)
(2 0 6)
(0 2 6)
(2 2 8)
(2 2 6)
(0 0 2)
(0 0 4)
(2 0 2)
(2 0 4)
(0 2 2)
(0 2 4)
(2 2 2)
(2 2 4)
(4 0 4)
(4 0 6)
(6 0 4)
(6 0 6)
(4 2 4)
(4 2 6)
(6 2 4)
(6 2 6)
(4 0 0)
(4 0 2)
(6 0 0)
(6 0 2)
(4 2 0)
(4 2 2)
(6 2 0)
(6 2 2)
(2 2 0)
(2 0 0)
(4 0 8)
(4 2 8)
(6 0 8)
(6 2 8)
);

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

edges
(
);

patches
(
wall bottomWall
(
(19 12 14 21)
(0 18 20 43)
(43 13 44 34)
(27 44 46 29)
(35 26 28 37)
(36 46 7 1)
)
wall cube1
(
(12 6 13 14)
(15 3 16 17)
(12 14 17 15)
(6 13 16 3)
(12 6 3 15)
(14 13 16 17)
)
wall cube2
(
(18 19 21 20)
(22 23 25 24)
(18 20 24 22)
(19 21 25 23)
(18 19 23 22)
(20 21 25 24)
)
wall cube3
(
(26 27 29 28)
(30 31 33 32)
(26 27 32 30)
(27 29 33 31)
(26 27 31 30)
(28 29 33 32)
)
wall cube4
(
(34 35 37 36)
(38 39 41 40)
(34 36 40 38)
(35 37 41 39)
(34 35 39 38)
(36 37 41 40)
)
wall topWall
(
(4 10 11 5)
)
symmetryPlane sides1
(
(0 2 3 1)
(6 7 9 8)
)
symmetryPlane sides2
(
(2 4 5 3)
(8 9 11 10)
)
cyclic inout1
(
(1 3 9 7)
(0 6 8 2)
)
cyclic inout2
(
(3 5 11 9)
(2 8 10 4)
)
);

mergePatchPairs
(
);


// ************************************************** *********************** //

mike_jaworski March 3, 2008 17:37

Dear OF Newbie, The order
 
Dear OF Newbie,
The order in which you specify the vertices of a block matter. If you look at the user-guide section on using blockMesh, it will show you the order you should specify the vertices in and how that order defines local coordinates, etc.

The relevant section of the user guide is here:
http://www.opencfd.co.uk/openfoam/do...#x31-1640006.3

You'll have to examine your block definitions for which specific block is incorrect.

Good Luck,
Mike J.

lofty March 5, 2008 08:13

Hi Can anyone explain what
 
Hi

Can anyone explain what the following error imply:

FOAM FATAL ERROR : face 0 in patch 11 does not have neighbour cell face: 4(12 14 13 6)#0

I do have a face opposite to face mentioned in error. Why is blockMesh not recognising it? Thank You


All times are GMT -4. The time now is 05:44.