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] About blockMesh (https://www.cfd-online.com/Forums/openfoam-meshing/142005-about-blockmesh.html)

wyldckat September 21, 2014 13:28

About blockMesh
 
A page dedicated to describing how to use blockMesh exists at openfoamwiki.net: http://openfoamwiki.net/index.php/BlockMesh

Feel free to contribute to that page. I only gave it a stern kick off, but a lot more can be added to that page!

I've stickyfied this thread, to make easier for people to find it.
Here can be discussed how to add content to the wiki page and about this thread; but on this specific "About blockMesh" thread will not be answered questions on how to use blockMesh! ;)

isgudera October 6, 2019 05:57

How can I STL file for simulation?
 
Hello everyone,

I 'm mechanical engineering student at 4th class. I have a lecture, "Gas Dynamics". And My instructor has given .STL file about nozzle geometry. I have watched most of tutorials but I dont know still haw can I use this geometry. How can I generate blockMesh to this stl file. Plz help me..

NablaDyn October 6, 2019 08:35

Quote:

Originally Posted by isgudera (Post 746296)
Hello everyone,

I 'm mechanical engineering student at 4th class. I have a lecture, "Gas Dynamics". And My instructor has given .STL file about nozzle geometry. I have watched most of tutorials but I dont know still haw can I use this geometry. How can I generate blockMesh to this stl file. Plz help me..


Hi,
your question is somewhat off-topic. First, you should reconsider what you are trying to do: The fact that you are using STL geometry makes me speculate that you're trying to create a mesh for complex geometry. Hence, blockMesh might not be the best choice in your case (check snappyHexMesh or cfMesh instead). If your geometry is rather regular/simple, then you can give blockMesh or MEGACADS a shot and you probably do not need to employ STL data. In either case, your best shot is to first stick to the respective meshing software manual to get some background knowledge before turning to the forum.
kind regards

SHANTANU MANDAL May 7, 2021 03:35

checkmesh failure
 
Hello eveyone,
The checkmesh is showing failed 1 mesh checks:

***Total number of faces on empty patches is not divisible by the number of cells in the mesh. Hence this mesh is not 1D or 2D.

***Number of edges not aligned with or perpendicular to non-empty directions: 8688

How to resolve this problem?
The blockMeshDict is as :


scale 1;

vertices
(
(-0.1 0 0) //0
(0 -0.1 0) //1
(0 -0.0025 0) //2
(-0.0025 0 0) //3
(0 0.0025 0) //4
(0 0.1 0) //5
(0.0205 -0.1 0) //6
(0.0205 0 0) //7
(0.0205 0.1 0) //8
(0.1495 -0.1 0) //9
(0.1495 0 0) //10
(0.1495 0.1 0) //11

(-0.1 0 0.0205) //12
(0 -0.1 0.0205) //13
(0 -0.0025 0.0205) //14
(-0.0025 0 0.0205) //15
(0 0.0025 0.0205) //16
(0 0.1 0.0205) //17
(0.0205 -0.1 0.0205) //18
(0.0205 0 0.0205) //19
(0.0205 0.1 0.0205) //20
(0.1495 -0.1 0.0205) //21
(0.1495 0 0.0205) //22
(0.1495 0.1 0.0205) //23

);

blocks
(
hex (0 1 2 3 12 13 14 15) (36 24 1) simpleGrading (1 1 1) //0
hex (1 6 7 2 13 18 19 14) (18 24 1) simpleGrading (1 1 1) //1
hex (6 9 10 7 18 21 22 19) (36 24 1) simpleGrading (1 1 1) //2
hex (7 10 11 8 19 22 23 20) (36 24 1) simpleGrading (1 1 1) //3
hex (4 7 8 5 16 19 20 17) (18 24 1) simpleGrading (1 1 1) //4
hex (0 3 4 5 12 15 16 17) (24 36 1) simpleGrading (1 1 1) //5
);

edges
(
arc 0 5 (-0.08 0.06 0)
arc 12 17 (-0.08 0.06 0.0205)
arc 1 0 (-0.08 -0.06 0)
arc 13 12 (-0.08 -0.06 0.0205)
arc 3 4 (-0.0015 0.002 0)
arc 15 16(-0.0015 0.002 0.0205)
arc 2 3 (-0.0015 -0.002 0)
arc 14 15(-0.0015 -0.002 0.0205)
);

boundary
(
topAndBottom
{
type patch;
faces
(
(17 20 8 5)
(20 23 11 8)
(18 13 1 6)
(21 18 6 9)
);
}

inlet
{
type patch;
faces
(
(0 12 17 5)
(0 1 13 12)
);
}

outlet
{
type patch;
faces
(
(11 23 22 10)
(10 22 21 9)
);
}

frontAndBack
{
type empty;
faces
(
(23 20 19 22)
(20 17 16 19)
(17 12 15 16)
(14 15 12 13)
(19 14 13 18)
(22 19 18 21)
(8 11 10 7)
(5 8 7 4)
(0 5 4 3)
(0 3 2 1)
(2 7 6 1)
(7 10 9 6)
);

}
);

mergePatchPairs
(
);

Please help me with this. I am doing my project on tandem flapping foil .
Thankyou in advance.

SHUBHAM9595 May 25, 2021 14:21

This should be related to the warning which comes after executing blockMesh on your provided dict
Code:

Found 4 undefined faces in mesh; adding to default patch
You can then use paraFoam -block to visualize these patches along with their vertices numbering.

yzj September 30, 2022 23:10

The following problem occurs when merging faces
 
--> FOAM FATAL ERROR:
Face 220419 reduced to less than 3 points. Topological/cutting error B.
Old face: 2(43281 43282) new face: 2(9260 9239)

From function void Foam::slidingInterface::coupleInterface(Foam::poly TopoChange&) const
in file slidingInterface/coupleSlidingInterface.C at line 1768.

Could you tell me what happened? Thank you very much
Here is my BLOCKMESH file

vertices
(
//block0 vertices
(-0.088388 0.088388 0) //0
(-0.707106 0.707106 0) //1
(0.707106 0.707106 0) //2
(0.088388 0.088388 0) //3
(-0.088388 0.088388 0.5) //4
(-0.707106 0.707106 0.5) //5
(0.707106 0.707106 0.5) //6
(0.088388 0.088388 0.5) //7

//block1 new vertices
(0.088388 -0.088388 0) //8
(0.707106 -0.707106 0) //9
(0.088388 -0.088388 0.5) //10
(0.707106 -0.707106 0.5) //11

//block3 new vertices
(-0.088388 -0.088388 0) //12
(-0.707106 -0.707106 0) //13
(-0.088388 -0.088388 0.5) //14
(-0.707106 -0.707106 0.5) //15

(-0.088388 0.088388 0.5) //16
(-0.707106 0.707106 0.5) //17
(0.707106 0.707106 0.5) //18
(0.088388 0.088388 0.5) //19
(-0.088388 0.088388 1) // 20
(-0.707106 0.707106 1) // 21
(0.707106 0.707106 1) // 22
(0.088388 0.088388 1) // 23


(0.088388 -0.088388 1) //24
(0.707106 -0.707106 1) //25
(0.088388 -0.088388 0.5) //26
(0.707106 -0.707106 0.5) //27

(-0.088388 -0.088388 1) //28
(-0.707106 -0.707106 1) //29
(-0.088388 -0.088388 0.5) //30 14
(-0.707106 -0.707106 0.5) //31 15
);


xcells 20;
ycells 20;
zcells 20;

xcells1 20;
ycells1 20;
zcells1 20;

stretch 1;

blocks
(
//block0
hex (0 3 2 1 4 7 6 5) ($xcells $ycells $zcells)
simpleGrading
(
// x-direction expansion ratio
1 //no expansion ratio

// y-direction expansion ratio
1 //no expansion ratio

// z-direction expansion ratio
//1 //no expansion ratio
(
(0.1 0.2 8) // 20% y-dir, 25% cells, expansion = 4
(0.9 0.8 1) // 60% y-dir, 50% cells, expansion = 1
)

)
//block1
hex (2 3 8 9 6 7 10 11) ($xcells $ycells $zcells)
simpleGrading
(
// x-direction expansion ratio
1 //no expansion ratio

// y-direction expansion ratio
1 //no expansion ratio

// z-direction expansion ratio
//1 //no expansion ratio
(
(0.1 0.2 8) // 20% y-dir, 25% cells, expansion = 4
(0.9 0.8 1) // 60% y-dir, 50% cells, expansion = 1
)
)
//block2
hex (8 12 13 9 10 14 15 11) ($xcells $ycells $zcells)
simpleGrading
(
// x-direction expansion ratio
1 //no expansion ratio

// y-direction expansion ratio
1 //no expansion ratio

// z-direction expansion ratio
//1 //no expansion ratio
(
(0.1 0.2 8) // 20% y-dir, 25% cells, expansion = 4
(0.9 0.8 1) // 60% y-dir, 50% cells, expansion = 1
)
)
//block3
hex (0 1 13 12 4 5 15 14) ($xcells $ycells $zcells)
simpleGrading
(
// x-direction expansion ratio
1 //no expansion ratio

// y-direction expansion ratio
1 //no expansion ratio

// z-direction expansion ratio
//1 //no expansion ratio
(
(0.1 0.2 8) // 20% y-dir, 25% cells, expansion = 4
(0.9 0.8 1) // 60% y-dir, 50% cells, expansion = 1
)
)
//block4
hex (0 12 8 3 4 14 10 7) ($xcells1 $ycells1 $zcells1)
simpleGrading
(
// x-direction expansion ratio
1 //no expansion ratio

// y-direction expansion ratio
1 //no expansion ratio

// z-direction expansion ratio
//1 //no expansion ratio
(
(0.1 0.2 8) // 20% y-dir, 25% cells, expansion = 4
(0.9 0.8 1) // 60% y-dir, 50% cells, expansion = 1
)
)
//block5
hex (17 16 19 18 21 20 23 22) ($xcells1 $ycells1 $zcells1) simpleGrading (1 $stretch 1)
//block6
hex (18 19 26 27 22 23 24 25) ($xcells1 $ycells1 $zcells1) simpleGrading (1 $stretch 1)
//block7
hex (30 31 27 26 28 29 25 24) ($xcells1 $ycells1 $zcells1) simpleGrading (1 $stretch 1)
//block8
hex (16 17 31 30 20 21 29 28) ($xcells1 $ycells1 $zcells1) simpleGrading (1 $stretch 1)
);

edges
(
//block0 arc
arc 1 2 (0 1 0)
arc 5 6 (0 1 0.5)
arc 0 3 (0 0.125 0)
arc 4 7 (0 0.125 0.5)

//block1 arc
arc 2 9 (1 0 0)
arc 6 11 (1 0 0.5)
arc 3 8 (0.125 0 0)
arc 7 10 (0.125 0 0.5)

//block2 arc
arc 9 13 (0 -1 0)
arc 11 15 (0 -1 0.5)
arc 8 12 (0 -0.125 0)
arc 10 14 (0 -0.125 0.5)

//block3 arc
arc 1 13 (-1 0 0)
arc 5 15 (-1 0 0.5)
arc 12 0 (-0.125 0 0)
arc 14 4 (-0.125 0 0.5)

arc 16 19 (0 0.125 0.5)
arc 17 18 (0 1 0.5)
arc 20 23 (0 0.125 1)
arc 21 22 (0 1 1)

arc 19 26 (0.125 0 0.5)
arc 18 27 (1 0 0.5)
arc 23 24 (0.125 0 1)
arc 22 25 (1 0 1)

arc 26 30 (0 -0.125 0.5)
arc 31 27 (0 -1 0.5)
arc 28 24 (0 -0.125 1)
arc 29 25 (0 -1 1)

arc 16 30 (-0.125 0 0.5)
arc 31 17 (-1 0 0.5)
arc 28 20 (-0.125 0 1)
arc 29 21 (-1 0 1)
);

boundary
(
inlet
{
type patch;
faces
(
(4 7 10 14)
);
}

outlet
{
type patch;
faces
(
(20 21 22 23)
(22 23 24 25)
(24 25 29 28)
(28 29 21 20)

);
}

pipe
{
type patch;
faces
(
(1 5 6 2)
(2 6 11 9)
(9 11 15 13)
(15 13 5 1)
(17 18 22 21)
(18 27 25 22)
(27 25 29 31)
(29 31 17 21)
);
}

walls
{
type wall;
faces
(
(0 1 2 3)
(2 3 8 9)
(8 9 13 12)
(12 13 1 0)
(0 3 8 12)
);
}

column
{
type wall;
faces
(
(16 19 23 20)
(23 24 26 19)
(24 26 30 28)
(28 30 16 20)
);
}

up1
{
type empty;
faces
(
(7 6 5 4)
);
}

up2
{
type empty;
faces
(
(7 6 11 10)
);
}

up3
{
type empty;
faces
(
(10 11 15 14)
);
}

up4
{
type empty;
faces
(
(14 15 5 4)
);
}

interface1
{
type empty;
faces
(
(16 17 18 19)
);
}

interface2
{
type empty;
faces
(
(19 18 27 26)
);
}

interface3
{
type empty;
faces
(
(26 27 31 30)
);
}

interface4
{
type empty;
faces
(
(30 31 17 16)
);
}
);

mergePatchPairs
(
(up1 interface1)
(up2 interface2)
(up3 interface3)
(up4 interface4)
);


All times are GMT -4. The time now is 14:53.