CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (http://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   BlockMeshrefineMesh bug (http://www.cfd-online.com/Forums/openfoam-bugs/62498-blockmeshrefinemesh-bug.html)

iagmanu February 25, 2008 09:49

I am having trouble generating
 
I am having trouble generating a mesh fine enough to give physical results and would like to get a hint whether I am doing something stupid or if I have stumbled over a bug or deficiency of blockMesh and/or refineMesh. I am using version 1.4.1, binary download as well as self compiled from source, on different SUSE distributions in 32 and 64 bit modes.

For a coarse grid I use the following blockMeshDict:

-------------------------------------------------
FoamFile
{
version 2.0;
format ascii;

root "/home/iagmanu/OpenFOAM/run/tutorials/icoFoam";
case "greifer";
instance "constant/polyMesh";
local "";

class dictionary;
object blockMeshDict;
}

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

arguments "/home/iagmanu/OpenFOAM/run/tutorials/icoFoam/greifer" off;

convertToMeters 0.001;

vertices
(
( 0 18 0 ) // 0
// ( 12.5 18.5 1.092 )
// ( 12.5 18.5 -1.092 )
( 16 18 1.397 )
( 16 18 -1.397 )
( 19 12.12 1.659 )
( 19 12.12 -1.659 )
// ( 33.7 3.64 2.943 )
// ( 33.7 3.64 -2.943 )
( 34.1 3.41 2.978 )
( 34.1 3.41 -2.978 )
( 40 0 3.493 )
( 40 0 -3.493 )
( 47 0 4.104 )
( 47 0 -4.104 ) // 10
( 0 12.18 0 )
( 12.5 12.18 1.092 )
( 12.5 12.18 -1.092 )
( 21.5 8.02 1.877 )
( 21.5 8.02 -1.877 )
( 26 8.02 2.270 )
( 26 8.02 -2.27 )
( 33.7 3.58 2.943 )
( 33.7 3.58 -2.943 )
// ( 67.41 3 2.943 )
// ( 67.41 3 -2.943 )
// ( 35 2.89 3.056 ) // 20
// ( 35 2.89 -3.056 )
( 35.5 2.60 3.100 ) // 20
( 35.5 2.60 -3.100 )
( 35.3 1.16 3.082 )
( 35.3 1.16 -3.082 )
( 32 -1 2.794 )
( 32 -1 -2.794 )
( 35 -1 3.056 )
( 35 -1 -3.056 )
( 0 0 0 )
( 8.25 0 0.720 )
( 8.25 0 -0.72 ) // 30
( 8.25 -1 0.721 )
( 8.25 -1 -0.721 )
( 13.5 -1 1.179 )
( 13.5 -1 -1.179 )
( 13.5 0 1.179 )
( 13.5 0 -1.179 )
( 14 0 1.223 )
( 14 0 -1.223 )
( 14.0 2.5 1.223 )
( 14.0 2.5 -1.223 ) // 40
( 19 2.5 1.659 )
( 19 2.5 -1.659 )
( 19.0 7.9 1.660 )
( 19.0 7.9 -1.66 )
( 27.5 3 2.401 )
( 27.5 3 -2.401 )
( 33.7 3 2.944 )
( 33.7 3 -2.944 )
( 0 -1 0 )
( 47 -1 4.104 ) // 50
( 47 -1 -4.104 )
// ( 32.855 1 2.869 )
// ( 32.855 1 -2.869 )
( 33.149 1.688 2.895 )
( 33.149 1.688 -2.895 )
( 50 -4 4.366 )
( 50 -4 -4.366 )
( 50 3 4.366 )
( 50 3 -4.366 )
( 47 -3 4.104 )
( 47 -3 -4.104 )
( 47 2 4.104 )
( 47 2 -4.104 )
);

blocks
(
hex (11 13 2 0 11 12 1 0) (5 8 1) simpleGrading (1 1 1)
hex (13 48 6 2 12 47 5 1) (30 8 1) simpleGrading (0.025 1 1)
hex (48 23 21 6 47 22 20 5) (20 8 1) simpleGrading (1 1 1)
hex (27 51 10 21 26 50 9 20) (30 20 1) simpleGrading (10 1 1)
hex (25 27 23 48 24 26 22 47) (20 12 1) edgeGrading (1 1 1 1 0.25 1 1 0.25
hex (42 53 48 44 41 52 47 43) (15 6 1) edgeGrading (0.06 0.04 0.04 0.06 1 0
hex (34 25 53 42 33 24 52 41) (15 6 1) edgeGrading (0.04 0.06 0.06 0.04 1 0
hex (51 55 57 10 50 54 56 9) (4 20 1) simpleGrading (1 1 1)
);

edges
(
polyLine 1 5 (
// ( 19 12.12 1.659 )
( 22 10.39 1.921 )
// ( 34.1 3.41 2.978 )
)
polyLine 2 6 (
// ( 19 12.12 -1.659 )
( 22 10.39 -1.921 )
)
polyLine 12 47 (
( 21.5 8.02 1.877 )
( 26 8.02 2.270 )
// ( 33.7 3.58 2.943 )
( 33.4 3.75 2.917 )
)
polyLine 13 48 (
( 21.5 8.02 -1.877 )
( 26 8.02 -2.270 )
// ( 33.7 3.58 -2.943 )
( 33.4 3.75 -2.917 )
)
polyLine 20 9 (
( 40 0 3.493 )
)
polyLine 21 10 (
( 40 0 -3.493 )
)
polyLine 47 43 (
( 27.5 3 2.401 )
)
polyLine 48 44 (
( 27.5 3 -2.401 )
)
polyLine 52 41 (
( 26 1.3 2.270 )
)
polyLine 53 42 (
( 26 1.3 -2.270 )
)
arc 54 56 ( 51 -0.5 4.453)
arc 55 57 ( 51 -0.5 -4.453)
);

patches
(
patch upper
(
(0 1 2 0)
)
patch right
(
// (9 50 51 10)
(9 56 57 10)
(56 54 55 57)
(54 50 51 55)

)
wall fixedWalls
(
(12 11 11 13)
(1 5 6 2)
(47 12 13 48)
(5 20 21 6)
(20 9 10 21)
(50 26 27 51) //
(26 24 25 27) //
(43 47 48 44)
(41 43 44 42)
(24 33 34 25) //
)
patch left
(
(33 41 42 34)
)
wedge back
(
(11 0 2 13)
(13 2 6 48)
(48 6 21 23)
(27 21 10 51)
(25 48 23 27)
(42 44 48 53)
(34 42 53 25)
(51 10 57 55)
)
wedge front
(
(11 12 1 0)
(12 47 5 1)
(47 22 20 5)
(26 50 9 20)
(24 26 22 47)
(41 52 47 43)
(33 24 52 41)
(50 54 56 9)
)
patch outSplitRight
(
(26 20 21 27)
)
patch outSplitLeft
(
(20 22 23 21)
(22 26 27 23)
)
patch innerSplitRight
(
(24 47 48 25)
)
patch innerSplitLeft
(
(47 52 53 48)
(52 24 25 53)
// (5 47 48 6)
)
patch chanSplitRight
(
// (47 5 6 48)
)
patch chanSplitLeft
(
// (5 47 48 6)
)
);

mergePatchPairs
(
(outSplitRight outSplitLeft)
(innerSplitRight innerSplitLeft)
// (chanSplitRight chanSplitLeft)
);

-------------------------------------------------
(I hope I did not make any mistakes when copying in several portions. Sorry for not attaching as a separate file.)

This coarse grid is processed correctly by blockMesh and even a refined one (doubling all the cell numbers on this axialsymmetric case) works as expected. Tripling the cell numbers (that means:

hex (11 13 2 0 11 12 1 0) (20 24 1) simpleGrading (1 1 1)
hex (13 48 6 2 12 47 5 1) (120 24 1) simpleGrading (0.025 1 1)
hex (48 23 21 6 47 22 20 5) (80 24 1) simpleGrading (1 1 1)
hex (27 51 10 21 26 50 9 20) (120 60 1) simpleGrading (10 1 1)
hex (25 27 23 48 24 26 22 47) (80 36 1) edgeGrading (1 1 1 1 0.25 1 1 0.25
hex (42 53 48 44 41 52 47 43) (60 18 1) edgeGrading (0.06 0.04 0.04 0.06 1
hex (34 25 53 42 33 24 52 41) (60 18 1) edgeGrading (0.04 0.06 0.06 0.04 1
hex (51 55 57 10 50 54 56 9) (16 60 1) simpleGrading (1 1 1)

for the block definitions) or any higher numbers fails miserably with

Adding point and face zones
Creating attachPolyTopoChanger


--> FOAM FATAL ERROR : Error in point ordering: mixed used and unused points at the end of point list.
Number of used points: 37943 and point 37949 is used by a live face.#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::polyMesh::initMesh() in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#3 Foam::polyMesh::resetPrimitives(int, Foam::Field<foam::vector<double> > const&, Foam::List<foam::face> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, bool) in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 Foam::polyTopoChange::changeMesh(Foam::polyMesh&, bool, bool) in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so"
#5 Foam::polyTopoChanger::changeMesh(bool, bool) in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so"
#6 Foam::attachPolyTopoChanger::attach(bool) in "/opt/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so"
#7 main in "/opt/OpenFOAM/current/applications/bin/linux64GccDPOpt/blockMesh"
#8 __libc_start_main in "/lib64/libc.so.6

Basically the same error occurs if I try to refine the coarse (or middle) mesh using refineMesh (and factor 3 or 2, respectively). I get a working mesh when using slightly reduced cell numbers for the y direction, that is,

hex (11 13 2 0 11 12 1 0) (15 20 1) simpleGrading (1 1 1)
hex (13 48 6 2 12 47 5 1) (90 20 1) simpleGrading (0.025 1 1)
hex (48 23 21 6 47 22 20 5) (60 20 1) simpleGrading (1 1 1)
hex (27 51 10 21 26 50 9 20) (90 50 1) simpleGrading (10 1 1)
hex (25 27 23 48 24 26 22 47) (60 30 1) edgeGrading (1 1 1 1 0.25 1 1 0.25
hex (42 53 48 44 41 52 47 43) (45 15 1) edgeGrading (0.06 0.04 0.04 0.06 1
hex (34 25 53 42 33 24 52 41) (45 15 1) edgeGrading (0.04 0.06 0.06 0.04 1
hex (51 55 57 10 50 54 56 9) (12 50 1) simpleGrading (1 1 1)
)

(to be called the fine mesh). checkMesh gives for the middle and fine meshes "High aspect ration cells found" warnings (and none else), but icoFoam has no problems (concerning the mesh, at least).

However, due to accuracy reasons I would very much prefer to use a more refined mesh than said fine one. So has anybody already seen this error message, and can it be traced down to some sensible cause?.

Thanks for any help!

Ciao,

Manuel


All times are GMT -4. The time now is 18:25.