CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (http://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   Possible bug in blockMesh (http://www.cfd-online.com/Forums/openfoam-bugs/62461-possible-bug-blockmesh.html)

benru May 19, 2008 03:40

During running of blockMesh on
 
During running of blockMesh on this file
http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif blockMeshDict

it could not read a list of points, defining a surface of patch correctly (doesn't see present '('), and writes :

ben@r117-1:~/OpenFOAM/ben-1.4.1/run/tutorials/rhoTurbFoam$ blockMesh . mars-b
/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : blockMesh . mars-b
Date : May 19 2008
Time : 07:37:02
Host : r117-1
PID : 3636
Root : /home/ben/OpenFOAM/ben-1.4.1/run/tutorials/rhoTurbFoam
Case : mars-b
Nprocs : 1
Create time


Reading block mesh description dictionary
Creating block mesh
Creating blockCorners
Creating curved edges
Creating blocks
Creating patches


--> FOAM FATAL IO ERROR : Expected a '(' or a '{' while reading List, found on line 113 the label 18

file: /home/ben/OpenFOAM/ben-1.4.1/run/tutorials/rhoTurbFoam/mars-b/constant/polyMesh/blockMeshDict::patches at line 113.

From function Istream::readBeginList(const char*)
in file db/IOstreams/IOstreams/Istream.C at line 138.

FOAM exiting

mattijs May 19, 2008 05:12

If I create default boundary f
 
If I create default boundary faces by commenting out the patches contents (so just have "patches();")

I get:

--> FOAM Warning : ...
zero or negative pyramid volume: -7.4816e-06 for face 1

and an error:

Creating merge list

--> FOAM FATAL ERROR : Inconsistent number of faces between block pair 1 and 10#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::exit(int) in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::blockMesh::createMergeList() in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/bl ockMesh"
#3 Foam::blockMesh::blockMesh(Foam::IOdictionary&) in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/bl ockMesh"
#4 main in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/bl ockMesh"
#5 __libc_start_main in "/lib64/libc.so.6"
#6 Foam::regIOobject::readIfModified() in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/bl ockMesh"


From function blockMesh::createMergeList()
in file createMergeList.C at line 201.

I guess that is what is causing your problem.

benru May 19, 2008 06:27

Thank you ! ruben
 
Thank you !

ruben

benru May 19, 2008 07:37

Nevertheless, after solving pr
 
Nevertheless, after solving problem of zero-sized volume cells, problem of patch reading has repeated
http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif blockMeshDict

ruben

mattijs May 19, 2008 08:27

I get no problem Had to add a
 
I get no problem Had to add a valid header (use FoamX or look at one of the tutorials)

http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif blockMeshDict

benru May 19, 2008 09:13

Thank you again, it seems to b
 
Thank you again, it seems to be OK.

ruben

nikhilmadduri June 24, 2008 01:32

hi everyone. i was trying to c
 
hi everyone. i was trying to create a mesh around a solid cylinder.
can anyone suggest me which will be the best way? as im new to
openfoam, i started with quarter part of the whole mesh to be
generated containg the quarter of the cylinder. i did it in
blockmesh...while executing it, i was finding the following errors.
can anyone suggest me what might be the bug in here?

/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : blockMesh
/home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam cavi
tyGrade
Date : Jun 24 2008
Time : 09:42:12
Host : localhost
PID : 22816
Root : /home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam
Case : cavityGrade
Nprocs : 1
Create time

Reading block mesh description dictionary

Creating block mesh

Creating blockCorners

Creating curved edges

Creating blocks

Creating patches

Creating block mesh topology

Default patch type set to empty

Check block mesh topology

Basic statistics
Number of internal faces : 0
Number of boundary faces : 12
Number of defined boundary faces : 12
Number of undefined boundary faces : 0

Checking patch -> block consistency

Creating block offsets

Creating merge list . Creating points

Creating cells

Creating patches

Creating mesh from block mesh

Default patch type set to empty

Creating merge patch pairs

Adding point and face zones
Creating attachPolyTopoChanger
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in
"/home/nikhil/OpenFOAM/OpenFOAM-1
.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in
"/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/li
b/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0xffffe420]
#3 Foam::triangle, Foam::Vector const&>::ray(Foam:
:Vector const&, Foam::Vector const&, Foam::intersection::algorit
hm, Foam::intersection::direction) const in
"/home/nikhil/OpenFOAM/OpenFOAM-1.4.
1/lib/linuxGccDPOpt/libmeshTools.so"
#4 Foam::face::ray(Foam::Vector const&, Foam::Vector const&, Fo
am::Field > const&, Foam::intersection::algorithm, Foam::in
tersection::direction) const in
"/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxG
ccDPOpt/libOpenFOAM.so"
#5 Foam::List Foam::PrimitivePatch > const&>::projectPoints > const&>
>(Foam::Primitive Patch > const&> const&, Foam::Field > const&,
Foam::intersection::algorithm, Foam: :intersection::direction) const
in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/lin
uxGccDPOpt/libdynamicMesh.so"
#6 Foam::slidingInterface::projectPoints() const in
"/home/nikhil/OpenFOAM/Open
FOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#7 Foam::slidingInterface::changeTopology() const in
"/home/nikhil/OpenFOAM/Ope
nFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#8 Foam::polyTopoChanger::changeTopology() const in
"/home/nikhil/OpenFOAM/Open
FOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#9 Foam::polyTopoChanger::changeMesh(bool, bool) in
"/home/nikhil/OpenFOAM/Open
FOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#10 Foam::attachPolyTopoChanger::attach(bool) in
"/home/nikhil/OpenFOAM/OpenFOA
M-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#11 main in
"/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOp
t/blockMesh"
#12 __libc_start_main in "/lib/i686/libc.so.6"
#13 Foam::regIOobject::readIfModified() in
"/home/nikhil/OpenFOAM/OpenFOAM-1.4.
1/applications/bin/linuxGccDPOpt/blockMesh"

regards,
nikhil.

lth September 22, 2009 12:00

Can anyone find the error of my blockMeshdict?
 
Dear Foam Community,

I have looked this over but cannot seem to find the problem, wonder if someone else can say what I am doing wrong.

Lori:confused:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time


Reading block mesh description dictionary

Creating block mesh

Creating blockCorners

Creating curved edges

Creating blocks

Creating patches

Creating block mesh topology

Default patch type set to empty

Check block mesh topology

Basic statistics
Number of internal faces : 13
Number of boundary faces : 34
Number of defined boundary faces : 34
Number of undefined boundary faces : 0

Checking patch -> block consistency

Creating block offsets

Creating merge list

Inconsistent number of faces between block pair 3 and 4

From function blockMesh::createMergeList()
in file createMergeList.C at line 201.

FOAM exiting

---------------------------------BlockMeshDict File----------------------------------------------
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4.1 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}

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

convertToMeters 0.0032;

vertices
(
(0 0 0) //0
(80 0 0) //1***
(0 1 0) //2
(80 1 0) //3***
(0 2.5 0)//4
(80 2.5 0)//5
(0 4 0) //6
(80 4 0) //7
(130 0 3.75)//8
(130 1 3.75) //9
(0 0 10) //10
(80 0 10)//11
(0 1 10) //12
(80 1 10)//13
(0 2.5 10)//14
(80 2.5 10)//15
(0 4 10) //16
(80 4 10) //17
(130 0 6.25) //18
(130 1 6.25) //19
(80 0 6.25) //20
(80 1 6.25) //21
(80 2.5 6.25)//22
(0 0 6.25) //23
(0 1 6.25) //24
(0 2.5 6.25) //25
(0 4 6.25) //26
(80 4 6.25) //27
//*** indent front face 09/20/09
(80 0 3.75) //28
(80 1 3.75) //29
(0 1 3.75) //30
(0 0 3.75) //31
(0 2.5 3.75) //32
(0 4 3.75) //33
(80 4 3.75) //34
(80 2.5 3.75) //35


);

blocks
(

hex (23 20 21 24 10 11 13 12) (150 30 30) simpleGrading (0.002 0.3 1)
hex (31 28 29 30 23 20 21 24) (150 30 30) simpleGrading (0.002 0.3 1)
hex (0 1 3 2 31 28 29 30) (150 30 30) simpleGrading (0.002 0.3 1)
hex (2 3 5 4 30 29 35 32) (150 45 30) simpleGrading (0.002 3.333 1)
hex (30 29 35 32 24 21 22 25) (150 30 30) simpleGrading (0.002 0.3 1)
hex (24 21 22 25 12 13 15 14) (150 45 30) simpleGrading (0.002 3.333 1)
hex (4 5 7 6 32 35 34 33) (150 45 30) simpleGrading (0.002 0.3 1)
hex (32 35 34 33 25 22 27 26) (150 45 30) simpleGrading (0.002 0.3 1)
hex (25 22 27 26 14 15 17 16) (150 45 30) simpleGrading (0.002 0.3 1)
hex (28 8 9 29 20 18 19 21) (90 30 30) simpleGrading (500 0.3 1)

);

edges
(
);

patches
(
patch inlet
(
(0 2 30 31) //0
(31 30 24 23)
(23 24 12 10) //2
(2 4 32 30)
(30 32 25 24) //4
(24 25 14 12)
(4 6 33 32) //6
(32 33 26 25)
(25 26 16 14) //8
)
wall fixedWalls
(
(6 33 34 7) //top of wall R upstream
(33 26 27 34) //top of wall M upstream
(26 16 17 27) //top of wall L upstream
(1 3 29 28) //contract R btm wall
(3 5 35 29) //contract R mid wall
(5 7 34 35) //contract R top wall
(29 35 22 21) //contract M mid wall
(35 34 27 22) //contract M top wall
(20 21 13 11) //contract L btm wall
(21 22 15 13) //contract L mid wall
(22 27 17 15) //contract L top wall
(29 21 19 9) //top of wall downstream

)
patch outlet
(
(8 9 19 18) //9
)
symmetryPlane simetry
(
(0 1 28 31) //btm sym R upstream
(31 28 20 23) //btm sym M upstream
(23 20 11 10) //btm sym L upstream

(28 8 18 20) //btm sym downstream -direction?
)
wall frontAndBack
(
(0 2 3 1) //btm frontface upstream
(2 4 5 3) //mid frontface upstream
(4 6 7 5) //top frontface upstream
(28 29 9 8) //btm frontface downstream
(10 12 13 11) //btm backface upstream
(12 14 15 13) //mid backface upstream
(14 16 17 15) //top backface upstream
(20 21 19 18) //btm backface upstream
)
);

mergePatchPairs
(
);


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

gschaider September 22, 2009 13:48

Quote:

Originally Posted by lth (Post 230166)
Dear Foam Community,

I have looked this over but cannot seem to find the problem, wonder if someone else can say what I am doing wrong.

Lori:confused:

At first: this is probably (99%) not a bug in OF, but a problem with the blockMeshDict

No Idea. Did the blockmesh work without the grading? Always go from the simplest (mesh without grading - make sure that that works) to the more complicated. It seems that the meshes on the blocks are not perfectly aligned on the joint face (which the should be). Either because the counts are different (are you sure that all the 45 and 30 are in the right places) or the gradings are different

Bernhard

lth September 22, 2009 13:57

Dear Bernhard,

Thankyou, I never considered this was the problem and kept checking faces and points. I am always learning but it is working and I will relook at my grading definitions.
Also, I know it is not a bug in OF, sorry, I was just replying to an earlier post. Again, Thankyou!

Lori Holmes

Sparky October 28, 2009 12:26

1 Attachment(s)
Hi all,

I may have found a bug in blockMesh, but since I'm pretty new at this, I thought I would see if anyone else can confirm that this is a real problem, or just a mistake on my part. The error message I get is...

Inconsistent point locations between block pair 0 and 1
probably due to inconsistent grading.
From function blockMesh::createMergeList()
in file createMergeList.C at line 274.

I've attached the blockMeshDict.

This is a case that bonzodeb posted about a year and a half ago in this thread. It errored out when I tried it yesterday, so I cleaned it up to try to simplify it and locate the error. The first thing I tried was remove the grading, so you will see the original lines commented out and replaced with blocks that end in

simpleGrading (1 1 1)

I still got the error.

Then I started commenting out lines until I could isolate the offending part. The part that makes it fail is in the edge list. If I just execute the first simpleSpline it works. In fact it even works with the original grading (as expected since the grading looks correct). However the next simpleSpline edge causes the error. I dont know why the edge type would effect the face between blocks 0 and 1. The edge being splined is not along that face.

I tried many ways to get around this problem. I used a polyLine instead of a simpleSpline. This worked sometimes, but sometimes the polyLine would fail also with the same error message. I tried reordering the points. I tried making the domain symetric, I tried reordering the edges. Nothing worked except removing the non linear edges. I hope someone can help. This blockMesh tool looks like just the ticket to do some good 2d airfoil analysis.

Thanks.

- Dave -

tgj April 5, 2010 07:59

Hi everyone,

I've got a similar problem (or so I think)... I'm trying to run a simulation of flow through a wind tunnel, and it worked in 2D, so I'm now trying to run it in 3D.

BlockMeshDict:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.01;
vertices
(
(105 0 0) //0
(150 0 0) //1
(150 30 0) //2
(105 30 0) //3
(105 0 0.01) //4
(150 0 0.01) //5
(150 30 0.01) //6
(105 30 0.01) //7
(300 -10 0) //8
(300 40 0) //9
(300 -10 0.01) //10
(300 40 0.01) //11
(350 -10 0) //12
(350 40 0) //13
(350 -10 0.01) //14
(350 40 0.01) //15
(90 0 0) //16
(90 30 0) //17
(90 0 0.01) //18
(90 30 0.01) //19
(80 -1.2 0) //20
(80 31.2 0) //21
(80 -1.2 0.01) //22
(80 31.2 0.01) //23
(70 -4.8 0) //24
(70 34.8 0) //25
(70 -4.8 0.01) //26
(70 34.8 0.01) //27

(60 -10.8 0) //28
(60 40.8 0) //29
(60 -10.8 0.01) //30
(60 40.8 0.01) //31
(50 -19.2 0) //32
(50 49.2 0) //33
(50 -19.2 0.01) //34
(50 49.2 0.01) //35
(40 -30 0) //36
(40 60 0) //37
(40 -30 0.01) //38
(40 60 0.01) //39
);
blocks
(
hex (0 1 2 3 4 5 6 7) (45 30 30) simpleGrading (1 1 1)
hex (1 8 9 2 5 10 11 6) (150 30 30) simpleGrading (1 1 1)
hex (8 12 13 9 10 14 15 11) (50 30 30) simpleGrading (1 1 1)
hex (16 0 3 17 18 4 7 19) (15 30 30) simpleGrading (1 1 1)
hex (20 16 17 21 22 18 19 23) (10 30 30) simpleGrading (1 1 1)
hex (24 20 21 25 26 22 23 27) (10 30 30) simpleGrading (1 1 1)
hex (28 24 25 29 30 26 27 31) (10 30 30) simpleGrading (1 1 1)
hex (32 28 29 33 34 30 31 35) (10 30 30) simpleGrading (1 1 1)
hex (36 32 33 37 38 34 35 39) (10 30 30) simpleGrading (1 1 1)
);
edges
(
// arc 38 39 (40 15 45.01)
arc 36 37 (40 15 -45)

// arc 34 35 (50 15 34.21)
arc 32 33 (50 15 -34.2)
// arc 30 31 (60 15 25.81)
arc 28 29 (60 15 -25.8)
// arc 26 27 (70 15 19.81)
arc 24 25 (70 15 -19.8)
// arc 22 23 (80 15 16.21)
arc 20 21 (80 15 -16.2)

// arc 18 19 (90 15 15.01)
arc 16 17 (90 15 -15)
// arc 4 7 (105 15 15.01)
arc 0 3 (105 15 -15)
// arc 5 6 (150 15 15.01)
arc 1 2 (150 15 -15)
// arc 10 11 (300 15 25.01)
arc 8 9 (300 15 -25)
// arc 14 15 (350 15 25.01)
arc 12 13 (350 15 -25)
);
patches
(
patch outlet
(
(12 14 15 13)
)
patch inlet
(
(36 38 39 37)
)
wall upperWall
(
(3 7 6 2)
(2 6 11 9)
(9 11 15 13)
(17 19 7 3)
(21 23 19 17)
(25 27 23 21)
(29 31 27 25)
(33 35 31 29)
(37 39 35 33)
)
wall lowerWall
(
(0 4 5 1)
(1 5 10 8)
(8 10 14 12)
(16 18 4 0)
(20 22 18 16)
(24 26 22 20)
(28 30 26 24)
(32 34 30 28)
(36 38 34 32)
)
wall BackWall
(
(0 1 2 3)
(1 8 9 2)
(8 12 13 9)
(16 0 3 17)
(20 16 17 21)
(24 20 21 25)
(28 24 25 29)
(32 28 29 33)
(36 32 33 37)

)
symmetryPlane Front
(
(4 5 6 7)
(5 10 11 6)
(10 14 15 11)
(18 4 7 19)
(22 18 19 23)
(26 22 23 27)
(30 26 27 31)
(34 30 31 35)
(38 34 35 39)
)
);
mergePatchPairs
(
);
// ************************************************** *********************** //

Running BlockMesh, I get:

Creating block offsets

Creating merge list Programme terminated with errors: exit code 1, status 0.
Error messages:


Inconsistent point locations between block pair 4 and 5
probably due to inconsistent grading.

From function blockMesh::createMergeList()
in file C:\tmp\OpenFOAM-1.5\applications\utilities\mesh\generation\blockMe sh\createMergeList.C at line 279.

FOAM exiting

By commenting out lines, i found that the problem is this arc:
arc 24 25 (70 15 -19.8)

When i comment that line out, BlockMesh worked... I also tried running it without the symmetry plane, and got the same result...same error, and it worked when i commented the arcs at x=70 out...

I'm using a windows port of OpenFOAM if that helps :)

mattijs April 6, 2010 16:33

I do not see a problem with above blockMeshDict in 16x - have you tried a later (than 15) version?

Thanks,

Mattijs

juanma April 21, 2010 12:45

Quote:

Originally Posted by mattijs (Post 253414)
I do not see a problem with above blockMeshDict in 16x - have you tried a later (than 15) version?

Thanks,

Mattijs

Dear all

I'm having the same problem (in the 1.6 version)...

Code:

convertToMeters 0.001;

vertices
(
//Plane A:
(4 0 0) // Vertex A0 = 0
(4 4 0) // Vertex A1 = 1
(0 4 0) // Vertex A2 = 2
(6 0 0) // Vertex A3 = 3
(6 3 0) // Vertex A4 = 4
(6 6 0) // Vertex A5 = 5
(3 6 0) // Vertex A6 = 6
(0 6 0) // Vertex A7 = 7
(10 0 0) // Vertex A8 = 8
(10 10 0) // Vertex A9 = 9
(0 10 0) // Vertex A10 = 10
//Plane B:
(4 0 10) // Vertex B0 = 11
(4 4 10) // Vertex B1 = 12
(0 4 10) // Vertex B2 = 13
(6 0 10) // Vertex B3 = 14
(6 3 10) // Vertex B4 = 15
(6 6 10) // Vertex B5 = 16
(3 6 10) // Vertex B6 = 17
(0 6 10) // Vertex B7 = 18
(10 0 10) // Vertex B8 = 19
(10 10 10) // Vertex B9 = 20
(0 10 10) // Vertex B10 = 21
);
// Defining blocks:
blocks
(
    //Blocks between plane A and plane B:
    // block0 - positive x central square block
    hex (0 3 4 1 11 14 15 12 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
    // block1 - positive x central circle block
//    hex (1 4 5 6 12 15 16 17 ) AB
//    (1 1 1)
//    simpleGrading (1 1 1)
    prism (1 4 5 12 15 16 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
    prism (1 5 6 12 16 17 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
    // block2 - positive y central circle block
    hex (2 1 6 7 13 12 17 18 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
    // block3 - positive x ring square block
    hex (3 8 9 5 14 19 20 16 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
    // block4 - positive xy ring square block
    hex (7 5 9 10 18 16 20 21 ) AB
    (1 1 1)
    simpleGrading (1 1 1)
);

edges
(
    //Plane A:
//    arc 8 9 (11 5 0)
//    arc 10 9 (5 11 0)
//
//    //Plane B:
//    arc 19 20 (11 5 10)
//    arc 21 20 (5 11 10)
);

// Defining patches:
patches
(

    wall walls
    (

      (8 19 20 9)
      (10 9 20 21)
      (0 3 14 11)
      (3 8 19 14)
      (0 11 12 1)
      (2 1 12 13)
      (2 13 18 7)
      (7 18 21 10)
      (0 1 4 3)
      (1 6 5 )//face of the prism
      (1 5 4)//face of the prism
      (2 7 6 1)
      (3 5 9 8)
      (7 10 9 5)
      (11 12 15 14)
      (12 17 16)//face of the prism
      (12 16 15)//face of the prism
      (13 18 17 12)
      (14 16 20 19)
      (18 21 20 16)

    )

//  patch internal1  // block3 - positive x ring square block
//  (
//      (3 14 15 4)
//      (4 15 16 5)
//  )
//  patch internal2  // block6 - positive x ring circle block
//  (
//      (3 14 16 5)
//  )
//  patch internal3 // block5 - positive y ring square block
//  (
//      (6 5 16 17)
//      (7 6 17 18)
//  )
//  patch internal4 // block7 - positive y ring circle block
//  (
//      (7 5 16 18)
//  )
);

mergePatchPairs
(
//(internal2 internal1)
//(internal4 internal3)
);

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

This is a simplified version that I'm trying to automatized with m4 to generate a new mesh topology for circles.

I'm using prism -when defining blocks- in order to get ride off the problems of mergePatchPairs.

If a proper hex is created (hex (1 4 5 6 12 15 16 17 )) and the lines of mergePatchPairs are uncommented "all the faces of the patch are merged, then the patch itselfs will contain NO FACES and is removed" and this removes the points of the edge that share with another faces, letting this face (created during the blockMesh) with only "2 points" -error I've already gotten-.

If I'm right (if not, PLEASE correct me) the best solution would be add some lines in the blockMesh.C (or mergePatchPairs?) utility code to check if a face shares edges with faces of other patches and don't delete them during the merging process. I don't know how to do this but I would be very grateful if this could be fixed.

Thanks in advance!

Juanma

henry April 22, 2010 03:43

This is fixed in OpenFOAM-1.6.x which you can download from our git repository.

H

kyushusamurai July 24, 2013 21:20

Inconsistent point locations between pair
 
Hi, I'm using OpenFOAM V2.1 and facing the same problem as below.

Code:

Creating block mesh from
    "/home/faizal/OpenFOAM/faizal-2.1.1/run/phd/incompressible/simpleFoam/calculation1/model1/constant/polyMesh/blockMeshDict"
Creating curved edges
Creating topology blocks
Creating topology patches

Creating block mesh topology
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.024375 for face 3
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.024375 for face 5
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.035625 for face 3
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.035625 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.40625 for face 0
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.40625 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1.45 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.321875 for face 5
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.325 for face 2
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.325 for face 5
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.475 for face 2
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.475 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -7.85156 for face 0
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -7.85156 for face 2
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -5.58333 for face 5
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -0.343958 for face 3
--> FOAM Warning :
    From function polyMesh::polyMesh(... construct from shapes...)
    in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 888
    Found 133 undefined faces in mesh; adding to default patch.

Check topology

    Basic statistics
        Number of internal faces : 8949
        Number of boundary faces : 5526
        Number of defined boundary faces : 5526
        Number of undefined boundary faces : 0
    Checking patch -> block consistency

Creating block offsets
Creating merge list

--> FOAM FATAL ERROR:
Inconsistent point locations between block pair 2088 and 3242
    probably due to inconsistent grading.

    From function blockMesh::calcMergeInfo()
    in file blockMesh/blockMeshMerge.C at line 294.

FOAM exiting

I've checked all related points and grading to each axis direction but nothing suspicious. Could anybody help me how to work out on this matter?
Thanks.

wyldckat August 17, 2013 19:54

FYI for future readers: kyushusamurai found the solution here: http://www.cfd-online.com/Forums/ope...anslation.html


All times are GMT -4. The time now is 19:27.