|
[Sponsors] |
February 10, 2014, 19:21 |
using blockMesh - defaultFaces
|
#1 |
Senior Member
Join Date: Nov 2012
Location: Bavaria
Posts: 145
Rep Power: 14 |
Hi to All!
could anybody support me to generate a hexmesh with blockMesh: channel with obstacle in the centre. I've created the mesh composing of 18 blocks. Result: 4 defaultFaces (faded in the picture --> redundant plane). Inlet is the leftmost plane, outlet rightmost plane, right wall is turned off in the pic, obstacle in the centre. How can I remove these defaultFaces? If I start the simulation converges very (too) fast, the result is wrong, the solver does not solve for Uz (but for Ux and Uy). The same case works perfectly if I disclaim the obstacle and create a very simple mesh (1 block) instead. Each time I create a mesh with blockMesh with undefined faces (wherever they come from) the simulation produces wrong results and paraFoam crashes if I try to view the mesh or the final reconstructed result from parallel run. Please advice! Aylalisa |
|
February 11, 2014, 23:27 |
|
#2 |
Member
Thangam Natarajan
Join Date: Dec 2010
Location: Perth
Posts: 70
Rep Power: 17 |
could you post your case along with the blockmesh dictionary please? Also, do you have any errosr/warnings when paraview crashes?
|
|
February 12, 2014, 03:31 |
|
#3 |
Senior Member
|
Hi,
defaultFaces is a patch where faces that do not belong to any patch go. I.e. to remove them you have to define these patches in boundary section of blockMeshDict and maybe then use mergePatchPairs to get rid of those additional patches. And yes, as pervious poster said it would be much easier to help you if you post your blockMeshDict. |
|
February 13, 2014, 14:14 |
|
#4 |
Senior Member
Join Date: Nov 2012
Location: Bavaria
Posts: 145
Rep Power: 14 |
Hi Thangam, Hi alexeym,
with that case I wanted to test if it is possible to subdivide a domain with blockMesh in arbitrary number of blocks. Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( ( 0.00 0.00 0.00 ) //0 ( 0.94 0.00 0.00 ) //1 ( 0.94 0.71 0.00 ) //2 ( 0.00 0.71 0.00 ) //3 ( 0.00 0.00 0.50 ) //4 ( 0.94 0.00 0.50 ) //5 ( 0.94 0.71 0.50 ) //6 ( 0.00 0.71 0.50 ) //7 ( 0.94 0.86 0.00 ) //8 ( 0.00 0.86 0.00 ) //9 ( 0.94 0.86 0.50 ) //10 ( 0.00 0.86 0.50 ) //11 ( 0.94 1.57 0.00 ) //12 ( 0.00 1.57 0.00 ) //13 ( 0.94 1.57 0.50 ) //14 ( 0.00 1.57 0.50 ) //15 ( 0.00 0.00 1.00 ) //16 ( 0.94 0.00 1.00 ) //17 ( 0.94 0.71 1.00 ) //18 ( 0.00 0.71 1.00 ) //19 ( 0.94 0.86 1.00 ) //20 ( 0.00 0.86 1.00 ) //21 ( 0.94 1.57 1.00 ) //22 ( 0.00 1.57 1.00 ) //23 ( 1.10 0.00 0.00 ) //24 ( 1.10 0.71 0.00 ) //25 ( 1.10 0.00 0.50 ) //26 ( 1.10 0.71 0.50 ) //27 ( 1.10 0.86 0.00 ) //28 ( 1.10 0.86 0.50 ) //29 ( 1.10 1.57 0.00 ) //30 ( 1.10 1.57 0.50 ) //31 ( 1.10 0.00 1.00 ) //32 ( 1.10 0.71 1.00 ) //33 ( 1.10 0.86 1.00 ) //34 ( 1.10 1.57 1.00 ) //35 ( 3.14 0.00 0.00 ) //36 ( 3.14 0.71 0.00 ) //37 ( 3.14 0.00 0.50 ) //38 ( 3.14 0.71 0.50 ) //39 ( 3.14 0.86 0.00 ) //40 ( 3.14 0.86 0.50 ) //41 ( 3.14 1.57 0.00 ) //42 ( 3.14 1.57 0.50 ) //43 ( 3.14 0.00 1.00 ) //44 ( 3.14 0.71 1.00 ) //45 ( 3.14 0.86 0.50 ) //46 ( 3.14 0.86 1.00 ) //47 ( 3.14 1.57 0.50 ) //48 ( 3.14 1.57 1.00 ) //49 ); edges ( ); blocks ( hex (0 1 2 3 4 5 6 7) (30 23 25) simpleGrading (1 1 1) //block 0 hex (3 2 8 9 7 6 10 11) (30 5 25) simpleGrading (1 1 1) //block 1 hex (9 8 12 13 11 10 14 15) (30 23 25) simpleGrading (1 1 1) //block 2 hex (4 5 6 7 16 17 18 19) (30 23 25) simpleGrading (1 1 1) //block 3 hex (7 6 10 11 19 18 20 21) (30 5 25) simpleGrading (1 1 1) //block 4 hex (11 10 14 15 21 20 22 23) (30 23 25) simpleGrading (1 1 1) //block 5 hex (1 24 25 2 5 26 27 6) (5 23 25) simpleGrading (1 1 1) //block 6 //hex (2 25 28 8 6 27 29 10) (5 5 25) simpleGrading (1 1 1) //block 7 hex (8 28 30 12 10 29 31 14) (5 23 25) simpleGrading (1 1 1) //block 8 hex (5 26 27 6 17 32 33 18) (5 23 25) simpleGrading (1 1 1) //block 9 hex (6 27 29 10 18 33 34 20) (5 5 25) simpleGrading (1 1 1) //block 10 hex (10 29 31 14 20 34 35 22) (5 23 25) simpleGrading (1 1 1) //block 11 hex (24 36 37 25 26 38 39 27) (65 23 25) simpleGrading (1 1 1) //block 12 hex (25 37 40 28 27 39 41 29) (65 5 25) simpleGrading (1 1 1) //block 13 hex (28 40 42 30 29 41 43 31) (65 23 25) simpleGrading (1 1 1) //block 14 hex (26 38 39 27 32 44 45 33) (65 23 25) simpleGrading (1 1 1) //block 15 hex (27 39 46 29 33 45 47 34) (65 5 25) simpleGrading (1 1 1) //block 16 hex (29 46 48 31 34 47 49 35) (65 23 25) simpleGrading (1 1 1) //block 17 ); boundary ( inlet { type patch; faces ( (0 4 7 3) (3 7 11 9) (9 11 15 13) (4 16 19 7) (7 19 21 11) (11 21 23 15) ); } outlet { type patch; faces ( (36 37 39 38) (37 40 41 39) (40 42 43 41) (38 39 45 44) (39 46 47 45) (46 48 49 47) ); } wallLeft { type wall; type cyclic; neighbourPatch wallRight; matchTolerance 0.01; faces ( (12 13 15 14) (14 15 23 22) (30 12 14 31) (31 14 22 35) (42 30 31 43) (48 31 35 49) ); } wallRight { //type wall; type cyclic; neighbourPatch wallLeft; matchTolerance 0.01; faces ( (0 1 5 4) (4 5 17 16) (1 24 26 5) (5 26 32 17) (24 36 38 26) (26 38 44 32) ); } top { type wall; faces ( (16 17 18 19) (19 18 20 21) (21 20 22 23) (17 32 33 18) (18 33 34 20) (20 34 35 22) (32 44 45 33) (33 45 47 34) (34 47 49 35) ); } bottom { type wall; faces ( (0 3 2 1) (3 9 8 2) (9 13 12 8) (1 2 25 24) //(2 8 28 25) (8 12 30 28) (28 30 42 40) (25 28 40 37) (24 25 37 36) ); } obstacle { type wall; faces ( (8 28 29 10) (6 10 29 27) (2 6 27 25) (2 8 10 6) (25 27 29 28) ); } ); mergePatchPairs ( ); Each time I unintentionally create default faces the solver only solves for certain components of u! In this case: Uz is omitted. Why? If the node coordinates are correctly defined there should not appear any default faces. Ayla |
|
February 13, 2014, 14:57 |
|
#5 |
Senior Member
|
Hi,
All faces that are not described in your boundary sub-dictionary of blockMeshDict go to defaultFaces. By default type of this boundary is empty, so there are no boundary conditions on the patch, and that is why you've got problems with velocities. In your case I've found duplicate vertices in blockMeshDict (43 and 48 for example, actually I've stopped after I found this pair, maybe there are more), so when you describe your blocks there appear two faces (though in paraview they look like one face) that can not be automatically merged by blockMesh (actually blockMesh thinks you've done this intentionally to have a wall inside domain). So they go to defaultFaces as you did not describe this faces in boundary sub-dictionary. I'd suggest Gmsh for the mesh as there it is easy to avoid this type of errors (and yes, it can build hexagonal meshes with transfinite algorithm). |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM.org] blockMesh issue on openfoam6 startup - ubuntu 16.04 | bjdarrer | OpenFOAM Installation | 7 | August 25, 2020 20:15 |
Is Playstation 3 cluster suitable for CFD work | hsieh | OpenFOAM | 9 | August 16, 2015 15:53 |
[blockMesh] blockMesh adds wrong defaultfaces | KlausR | OpenFOAM Meshing & Mesh Conversion | 2 | September 2, 2014 15:13 |
[blockMesh] set of xyz data in blockMesh | psk | OpenFOAM Meshing & Mesh Conversion | 12 | August 27, 2013 09:37 |
Blockmesh cavity error message | tonitoney | OpenFOAM Installation | 2 | March 17, 2008 12:59 |