|
[Sponsors] |
April 7, 2011, 12:17 |
meshing a cylinder
|
#1 |
New Member
Join Date: Apr 2011
Location: Magdeburg, Germany
Posts: 23
Rep Power: 15 |
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! |
|
April 7, 2011, 14:39 |
|
#2 |
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 22 |
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 |
|
April 8, 2011, 05:26 |
|
#3 |
New Member
Join Date: Apr 2011
Location: Magdeburg, Germany
Posts: 23
Rep Power: 15 |
Hi Martin,
thanks for your quick reply. Everything works now ( of course :-) ) I am just getting used to OpenFoam. Greets Nico |
|
June 17, 2017, 23:19 |
Cilindro - barra redonda - blockMesh
|
#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:
|
||
June 19, 2017, 07:10 |
|
#5 |
Member
Rodrigo
Join Date: Mar 2010
Posts: 98
Rep Power: 16 |
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 |
|
June 19, 2017, 09:51 |
|
#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:
|
||
June 19, 2017, 15:12 |
|
#7 |
Member
Rodrigo
Join Date: Mar 2010
Posts: 98
Rep Power: 16 |
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 |
|
|
|
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 |