|
[Sponsors] | |||||
|
|
|
#1 |
|
New Member
Join Date: Apr 2011
Location: Magdeburg, Germany
Posts: 23
Rep Power: 16 ![]() |
Hello at all,
my problem is the following: i want to simulate the flow around a cylinder. therefore i used the blockMeshDict of an openfoam tutorial ( /basic/potentialFoam/cylinder). i tried to create a full cylinder out of the existing mesh. this is what i tried for my blockMeshDict: Code:
vertices
(
(0.5 0 -0.5) //0
(1 0 -0.5) //1
(2 0 -0.5) //2
(2 0.707107 -0.5) //3
(0.707107 0.707107 -0.5) //4
(0.353553 0.353553 -0.5) //5
(2 2 -0.5) //6
(0.707107 2 -0.5) //7
(0 2 -0.5) //8
(0 1 -0.5) //9
(0 0.5 -0.5) //10
(-0.5 0 -0.5) //11
(-1 0 -0.5) //12
(-2 0 -0.5) //13
(-2 0.707107 -0.5) //14
(-0.707107 0.707107 -0.5) //15
(-0.353553 0.353553 -0.5) //16
(-2 2 -0.5) //17
(-0.707107 2 -0.5) //18
(0.5 0 0.5) //19
(1 0 0.5) //20
(2 0 0.5) //21
(2 0.707107 0.5) //22
(0.707107 0.707107 0.5) //23
(0.353553 0.353553 0.5) //24
(2 2 0.5) //25
(0.707107 2 0.5) //26
(0 2 0.5) //27
(0 1 0.5) //28
(0 0.5 0.5) //29
(-0.5 0 0.5) //30
(-1 0 0.5) //31
(-2 0 0.5) //32
(-2 0.707107 0.5) //33
(-0.707107 0.707107 0.5) //34
(-0.353553 0.353553 0.5) //35
(-2 2 0.5) //36
(-0.707107 2 0.5) //37
(2 -0.707107 -0.5) //38
(0.707107 -0.707107 -0.5) //39
(0.353553 -0.353553 -0.5) //40
(2 -2 -0.5) //41
(0.707107 -2 -0.5) //42
(0 -2 -0.5) //43
(0 -1 -0.5) //44
(0 -0.5 -0.5) //45
(-2 -0.707107 -0.5) //46
(-0.707107 -0.707107 -0.5) //47
(-0.353553 -0.353553 -0.5) //48
(-2 -2 -0.5) //49
(-0.707107 -2 -0.5) //50
(2 -0.707107 0.5) //51
(0.707107 -0.707107 0.5) //52
(0.353553 -0.353553 0.5) //53
(2 -2 0.5) //54
(0.707107 -2 0.5) //55
(0 -2 0.5) //56
(0 -1 0.5) //57
(0 -0.5 0.5) //58
(-2 -0.707107 0.5) //59
(-0.707107 -0.707107 0.5) //60
(-0.353553 -0.353553 0.5) //61
(-2 -2 0.5) //62
(-0.707107 -2 0.5) //63
);
blocks
(
hex (5 4 9 10 24 23 28 29) (10 10 1) simpleGrading (1 1 1)
hex (0 1 4 5 19 20 23 24) (10 10 1) simpleGrading (1 1 1)
hex (1 2 3 4 20 21 22 23) (20 10 1) simpleGrading (1 1 1)
hex (4 3 6 7 23 22 25 26) (20 20 1) simpleGrading (1 1 1)
hex (9 4 7 8 28 23 26 27) (10 20 1) simpleGrading (1 1 1)
hex (15 16 10 9 34 35 29 28) (10 10 1) simpleGrading (1 1 1)
hex (12 11 16 15 31 30 35 34) (10 10 1) simpleGrading (1 1 1)
hex (13 12 15 14 32 31 34 33) (20 10 1) simpleGrading (1 1 1)
hex (14 15 18 17 33 34 37 36) (20 20 1) simpleGrading (1 1 1)
hex (15 9 8 18 34 28 27 37) (10 20 1) simpleGrading (1 1 1)
hex (40 39 44 45 53 52 57 58) (10 10 1) simpleGrading (1 1 1)
hex (0 1 39 40 19 20 52 53) (10 10 1) simpleGrading (1 1 1)
hex (1 2 38 39 20 21 51 52) (20 10 1) simpleGrading (1 1 1)
hex (39 38 41 42 52 51 54 55) (20 20 1) simpleGrading (1 1 1)
hex (44 39 42 43 57 52 55 56) (10 20 1) simpleGrading (1 1 1)
hex (47 48 45 44 60 61 58 57) (10 10 1) simpleGrading (1 1 1)
hex (12 11 48 47 31 30 61 60) (10 10 1) simpleGrading (1 1 1)
hex (13 12 47 46 32 31 60 59) (20 10 1) simpleGrading (1 1 1)
hex (46 47 50 49 59 60 63 62) (20 20 1) simpleGrading (1 1 1)
hex (47 44 43 50 60 57 56 63) (10 20 1) simpleGrading (1 1 1)
);
edges
(
arc 0 5 (0.469846 0.17101 -0.5)
arc 5 10 (0.17101 0.469846 -0.5)
arc 1 4 (0.939693 0.34202 -0.5)
arc 4 9 (0.34202 0.939693 -0.5)
arc 19 24 (0.469846 0.17101 0.5)
arc 24 29 (0.17101 0.469846 0.5)
arc 20 23 (0.939693 0.34202 0.5)
arc 23 28 (0.34202 0.939693 0.5)
arc 11 16 (-0.469846 0.17101 -0.5)
arc 16 10 (-0.17101 0.469846 -0.5)
arc 12 15 (-0.939693 0.34202 -0.5)
arc 15 9 (-0.34202 0.939693 -0.5)
arc 30 35 (-0.469846 0.17101 0.5)
arc 35 29 (-0.17101 0.469846 0.5)
arc 31 34 (-0.939693 0.34202 0.5)
arc 34 28 (-0.34202 0.939693 0.5)
arc 0 40 (0.469846 -0.17101 -0.5)
arc 40 45 (0.17101 -0.469846 -0.5)
arc 1 39 (0.939693 -0.34202 -0.5)
arc 39 44 (0.34202 -0.939693 -0.5)
arc 19 53 (0.469846 -0.17101 0.5)
arc 53 58 (0.17101 -0.469846 0.5)
arc 20 52 (0.939693 -0.34202 0.5)
arc 52 57 (0.34202 -0.939693 0.5)
arc 11 48 (-0.469846 -0.17101 -0.5)
arc 48 45 (-0.17101 -0.469846 -0.5)
arc 12 47 (-0.939693 -0.34202 -0.5)
arc 47 44 (-0.34202 -0.939693 -0.5)
arc 30 61 (-0.469846 -0.17101 0.5)
arc 61 58 (-0.17101 -0.469846 0.5)
arc 31 60 (-0.939693 -0.34202 0.5)
arc 60 57 (-0.34202 -0.939693 0.5)
);
patches
(
symmetryPlane down
(
(42 43 56 55)
(41 42 55 54)
(43 50 63 56)
(50 49 62 63)
)
patch right
(
(2 3 22 21)
(3 6 25 22)
(2 38 51 21)
(38 41 54 51)
)
symmetryPlane up
(
(7 8 27 26)
(6 7 26 25)
(8 18 37 27)
(18 17 36 37)
)
patch left
(
(14 13 32 33)
(17 14 33 36)
(46 13 32 59)
(49 46 59 62)
)
symmetryPlane cylinder
(
(10 5 24 29)
(5 0 19 24)
(16 10 29 35)
(11 16 35 30)
(45 40 53 58)
(40 0 19 53)
(48 45 58 61)
(11 48 61 30)
)
);
mergePatchPairs
(
);
// ************************************************************************* //
Code:
zero or negative pyramid volume: -0.0441942 for face 3 Code:
From function blockMesh::createTopology(IOdictionary&)
in file createTopology.C at line 397
negative volume block : 10, probably defined inside-out
with kind regards! |
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 23 ![]() |
Hi Nico,
there are some problems with the numbers order in block 12 up to 19. Here is the correction: Code:
/*--------------------------------*- 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 1;
vertices
(
(0.5 0 -0.5) //0
(1 0 -0.5) //1
(2 0 -0.5) //2
(2 0.707107 -0.5) //3
(0.707107 0.707107 -0.5) //4
(0.353553 0.353553 -0.5) //5
(2 2 -0.5) //6
(0.707107 2 -0.5) //7
(0 2 -0.5) //8
(0 1 -0.5) //9
(0 0.5 -0.5) //10
(-0.5 0 -0.5) //11
(-1 0 -0.5) //12
(-2 0 -0.5) //13
(-2 0.707107 -0.5) //14
(-0.707107 0.707107 -0.5) //15
(-0.353553 0.353553 -0.5) //16
(-2 2 -0.5) //17
(-0.707107 2 -0.5) //18
(0.5 0 0.5) //19
(1 0 0.5) //20
(2 0 0.5) //21
(2 0.707107 0.5) //22
(0.707107 0.707107 0.5) //23
(0.353553 0.353553 0.5) //24
(2 2 0.5) //25
(0.707107 2 0.5) //26
(0 2 0.5) //27
(0 1 0.5) //28
(0 0.5 0.5) //29
(-0.5 0 0.5) //30
(-1 0 0.5) //31
(-2 0 0.5) //32
(-2 0.707107 0.5) //33
(-0.707107 0.707107 0.5) //34
(-0.353553 0.353553 0.5) //35
(-2 2 0.5) //36
(-0.707107 2 0.5) //37
(2 -0.707107 -0.5) //38
(0.707107 -0.707107 -0.5) //39
(0.353553 -0.353553 -0.5) //40
(2 -2 -0.5) //41
(0.707107 -2 -0.5) //42
(0 -2 -0.5) //43
(0 -1 -0.5) //44
(0 -0.5 -0.5) //45
(-2 -0.707107 -0.5) //46
(-0.707107 -0.707107 -0.5) //47
(-0.353553 -0.353553 -0.5) //48
(-2 -2 -0.5) //49
(-0.707107 -2 -0.5) //50
(2 -0.707107 0.5) //51
(0.707107 -0.707107 0.5) //52
(0.353553 -0.353553 0.5) //53
(2 -2 0.5) //54
(0.707107 -2 0.5) //55
(0 -2 0.5) //56
(0 -1 0.5) //57
(0 -0.5 0.5) //58
(-2 -0.707107 0.5) //59
(-0.707107 -0.707107 0.5) //60
(-0.353553 -0.353553 0.5) //61
(-2 -2 0.5) //62
(-0.707107 -2 0.5) //63
);
blocks
(
hex (5 4 9 10 24 23 28 29) (10 10 1) simpleGrading (1 1 1) // 0
hex (0 1 4 5 19 20 23 24) (10 10 1) simpleGrading (1 1 1)
hex (1 2 3 4 20 21 22 23) (20 10 1) simpleGrading (1 1 1) // 2
hex (4 3 6 7 23 22 25 26) (20 20 1) simpleGrading (1 1 1)
hex (9 4 7 8 28 23 26 27) (10 20 1) simpleGrading (1 1 1)
hex (15 16 10 9 34 35 29 28) (10 10 1) simpleGrading (1 1 1)
hex (12 11 16 15 31 30 35 34) (10 10 1) simpleGrading (1 1 1)
hex (13 12 15 14 32 31 34 33) (20 10 1) simpleGrading (1 1 1)
hex (14 15 18 17 33 34 37 36) (20 20 1) simpleGrading (1 1 1)
hex (15 9 8 18 34 28 27 37) (10 20 1) simpleGrading (1 1 1)
hex (44 39 40 45 57 52 53 58) (10 10 1) simpleGrading (1 1 1)
hex (39 1 0 40 52 20 19 53) (10 10 1) simpleGrading (1 1 1)
hex (38 2 1 39 51 21 20 52) (10 20 1) simpleGrading (1 1 1) // 12
hex (42 41 38 39 55 54 51 52) (20 20 1) simpleGrading (1 1 1)
hex (43 42 39 44 56 55 52 57) (10 20 1) simpleGrading (1 1 1)
hex (47 44 45 48 60 57 58 61) (10 10 1) simpleGrading (1 1 1)
hex (12 47 48 11 31 60 61 30) (10 10 1) simpleGrading (1 1 1)
hex (13 46 47 12 32 59 60 31) (10 20 1) simpleGrading (1 1 1) // 17
hex (49 50 47 46 62 63 60 59) (20 20 1) simpleGrading (1 1 1)
hex (50 43 44 47 63 56 57 60) (10 20 1) simpleGrading (1 1 1)
);
edges
(
arc 0 5 (0.469846 0.17101 -0.5)
arc 5 10 (0.17101 0.469846 -0.5)
arc 1 4 (0.939693 0.34202 -0.5)
arc 4 9 (0.34202 0.939693 -0.5)
arc 19 24 (0.469846 0.17101 0.5)
arc 24 29 (0.17101 0.469846 0.5)
arc 20 23 (0.939693 0.34202 0.5)
arc 23 28 (0.34202 0.939693 0.5)
arc 11 16 (-0.469846 0.17101 -0.5)
arc 16 10 (-0.17101 0.469846 -0.5)
arc 12 15 (-0.939693 0.34202 -0.5)
arc 15 9 (-0.34202 0.939693 -0.5)
arc 30 35 (-0.469846 0.17101 0.5)
arc 35 29 (-0.17101 0.469846 0.5)
arc 31 34 (-0.939693 0.34202 0.5)
arc 34 28 (-0.34202 0.939693 0.5)
arc 0 40 (0.469846 -0.17101 -0.5)
arc 40 45 (0.17101 -0.469846 -0.5)
arc 1 39 (0.939693 -0.34202 -0.5)
arc 39 44 (0.34202 -0.939693 -0.5)
arc 19 53 (0.469846 -0.17101 0.5)
arc 53 58 (0.17101 -0.469846 0.5)
arc 20 52 (0.939693 -0.34202 0.5)
arc 52 57 (0.34202 -0.939693 0.5)
arc 11 48 (-0.469846 -0.17101 -0.5)
arc 48 45 (-0.17101 -0.469846 -0.5)
arc 12 47 (-0.939693 -0.34202 -0.5)
arc 47 44 (-0.34202 -0.939693 -0.5)
arc 30 61 (-0.469846 -0.17101 0.5)
arc 61 58 (-0.17101 -0.469846 0.5)
arc 31 60 (-0.939693 -0.34202 0.5)
arc 60 57 (-0.34202 -0.939693 0.5)
);
patches
(
symmetryPlane down
(
(42 43 56 55)
(41 42 55 54)
(43 50 63 56)
(50 49 62 63)
)
patch right
(
(2 3 22 21)
(3 6 25 22)
(2 38 51 21)
(38 41 54 51)
)
symmetryPlane up
(
(7 8 27 26)
(6 7 26 25)
(8 18 37 27)
(18 17 36 37)
)
patch left
(
(14 13 32 33)
(17 14 33 36)
(46 13 32 59)
(49 46 59 62)
)
symmetryPlane cylinder
(
(10 5 24 29)
(5 0 19 24)
(16 10 29 35)
(11 16 35 30)
(45 40 53 58)
(40 0 19 53)
(48 45 58 61)
(11 48 61 30)
)
);
mergePatchPairs
(
);
// ************************************************************************* //
Martin |
|
|
|
|
|
|
|
|
#3 |
|
New Member
Join Date: Apr 2011
Location: Magdeburg, Germany
Posts: 23
Rep Power: 16 ![]() |
Hi Martin,
thanks for your quick reply. Everything works now ( of course :-) ) I am just getting used to OpenFoam. Greets Nico |
|
|
|
|
|
|
|
|
#4 | |
|
New Member
Cássio Marques
Join Date: Jun 2017
Posts: 2
Rep Power: 0 ![]() |
Olá, estou tentando fazer uma barra redonda de 20 mm de diâmetro por 900 mm de comprimento no blockMesh. Até então gerou a geometria mas a malha está com problemas. Segue código abaixo.
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 0.001; vertices // Origem no centro ( (0 0 0) //0 (0 0 2.5) //1 (0 0 5) //2 (0 5 0) //3 (0 2.5 0) //4 (900 0 0) //5 (900 0 2.5) //6 (900 0 5) //7 (900 5 0) //8 (900 2.5 0) //9 (0 0 -2.5) //10 (0 0 -5) //11 (900 0 -2.5) //12 (900 0 -5) //13 (0 -2.5 0) //14 (0 -5 0) //15 (900 -2.5 0) //16 (900 -5 0) //17 ); blocks ( hex (0 1 4 0 5 6 9 5) (20 20 1) simpleGrading (1 1 1) hex (1 2 3 4 6 7 8 9) (20 20 1) simpleGrading (1 1 1) hex (0 4 10 0 5 9 12 5) (20 20 1) simpleGrading (1 1 1) hex (10 4 3 11 12 9 8 13) (20 20 1) simpleGrading (1 1 1) hex (0 10 14 0 5 12 16 5) (20 20 1) simpleGrading (1 1 1) hex (10 11 15 14 12 13 17 16) (20 20 1) simpleGrading (1 1 1) hex (0 14 1 0 5 16 6 5) (20 20 1) simpleGrading (1 1 1) hex (14 15 2 1 16 17 7 6) (20 20 1) simpleGrading ( 1 1 1) ); edges ( arc 1 4 (0 1.7677 1.7677) arc 2 3 (0 3.5355 3.5355) arc 6 9 (900 1.7677 1.7677) arc 7 8 (900 3.5355 3.5355) arc 10 4 (0 1.7677 -1.7677) arc 11 3 (0 3.5355 -3.5355) arc 12 9 (900 1.7677 -1.7677) arc 13 8 (900 3.5355 -3.5355) arc 10 14 (0 -1.7677 -1.7677) arc 11 15 (0 -3.5355 -3.5355) arc 12 16 (900 -1.7677 -1.7677) arc 13 17 (900 -3.5355 -3.5355) arc 1 14 (0 -1.7677 1.7677) arc 2 15 (0 -3.5355 3.5355) arc 6 16 (900 -1.7677 1.7677) arc 7 17 (900 -3.5355 3.5355) ); boundary // Fronteira ( left { type patch; faces ( (0 1 4 0) //bloco 0 (1 2 3 4) //bloco 1 (0 4 10 0) //bloco 2 (4 3 11 10) //bloco 3 (0 10 14 0) //bloco 4 (10 11 15 14) //bloco 5 (0 14 1 0) //bloco 6 (14 15 2 1) //bloco 7 ); } right { type patch; faces ( (5 9 6 5) //bloco 0 (7 6 9 8) //bloco 1 (5 12 9 5) //bloco 2 (12 13 8 9) //bloco 3 (5 16 12 5) //bloco 4 (16 17 13 12) //bloco 5 (5 6 16 5) //bloco 6 (6 7 17 16) //bloco 7 ); } frontandback { type empty; faces ( (2 7 8 3) (11 3 8 13) (15 11 13 17) (2 15 17 7) ); } ); mergePatchPairs ( ); mergePatchPairs ( ); // ************************************************** *********************** // Quote:
|
||
|
|
|
||
|
|
|
#5 |
|
Member
Rodrigo
Join Date: Mar 2010
Posts: 98
Rep Power: 17 ![]() |
Ola Cássio,
Podes atopar reposta á túa cuestión no seguinte enlace: Simple cylindrical geometry: example using blockMesh Publiqueino nun thread aparte pra que todo o mundo o poida comprender. Un saúdo |
|
|
|
|
|
|
|
|
#6 | |
|
New Member
Cássio Marques
Join Date: Jun 2017
Posts: 2
Rep Power: 0 ![]() |
Olá, muito Obrigado!
Descompactei o arquivo no diretório system e rodei o blockMesh e beleza, funcionou bem o 1/4 do cilindro. Só quando estou fazendo a sequência para espelhar está dando erro. Estou usando a sequência que está no arquivo blockMeshDict. Quote:
|
||
|
|
|
||
|
|
|
#7 |
|
Member
Rodrigo
Join Date: Mar 2010
Posts: 98
Rep Power: 17 ![]() |
Certamente. Cometín un erro ao copia-los comandos no post este mediodía, mais xa o editei.
Note for other visitors: Cássio mentioned some problems regarding the generation of a cylindical rod (length=900mm and diam.=20mm) with blockMesh. The suggested solution can be found in following link: Simple cylindrical geometry: example using blockMesh |
|
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [ICEM] Meshing inclined cylinder with PBC tetra mesh ICEM | shashi_soman | ANSYS Meshing & Geometry | 0 | September 26, 2015 19:27 |
| Meshing inclined cylinder with PBC tetra mesh ICEM | shashi_soman | Mesh Generation & Pre-Processing | 1 | September 26, 2015 19:05 |
| [blockMesh] meshing a cylinder | Nico A. | OpenFOAM Meshing & Mesh Conversion | 0 | April 7, 2011 12:09 |
| [snappyHexMesh] SnappyHexMesh Meshing inside a cylinder | nammari | OpenFOAM Meshing & Mesh Conversion | 5 | March 11, 2011 20:49 |
| Best Meshing scheme for Cylinder | Nutrex | Main CFD Forum | 4 | July 29, 2008 12:03 |