|
[Sponsors] |
[Other] Non-orthogonality and face pyramids error |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 9, 2015, 16:15 |
Non-orthogonality and face pyramids error
|
#1 |
New Member
Jess
Join Date: Aug 2015
Posts: 9
Rep Power: 11 |
Hello. I am trying to simulate a 3D platform on OpenFOAM, but as I am not really familiar with the software yet I decided to start with simpler simulations. Right now I am only simulating a squared pillar in the middle of the domain (height is 50m). It should be really simple, but I am getting the following errors when I check my mesh:
***Zero or negative cell volume detected. Minimum negative volume: -1, Number of negative volume cells: 1000000 <<Writing 1000000 zero volume cells to set zeroVolumeCells Mesh non-orthogonality Max: 180 average: 180 ***Number of non-orthogonality errors: 2960000. <<Writing 2960000 non-orthogonal faces to set nonOrthoFaces ***Error in face pyramids: 6000000 faces are incorrectly oriented. <<Writing 3040000 faces with incorrect orientation to set wrongOrientedFaces Max skewness = 0 OK. Coupled point location match (average 0) OK. I checked every single point, face, patch and block on my blockMeshDict file and yet I cannot find anything that justifies this. Do you guys have any idea of what it can be? I am running out of time and this is being really stressful. My blockMesh informations are above: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) //0 (50 0 0) //1 (100 0 0) //2 (150 0 0) //3 (0 0 50) //4 (50 0 50) //5 (100 0 50) //6 (150 0 50) //7 (0 0 100) //8 (50 0 100) //9 (100 0 100) //10 (150 0 100) //11 (0 0 150) //12 (50 0 150) //13 (100 0 150) //14 (150 0 150) //15 (0 50 0) //16 (50 50 0) //17 (100 50 0) //18 (150 50 0) //19 (0 50 50) //20 (50 50 50) //21 (100 50 50) //22 (150 50 50) //23 (0 50 100) //24 (50 50 100) //25 (100 50 100) //26 (150 50 100) //27 (0 50 150) //28 (50 50 150) //29 (100 50 150) //30 (150 50 150) //31 ); blocks ( hex (0 1 5 4 16 17 21 20) (50 50 50) simpleGrading (1 1 1) //0 hex (1 2 6 5 17 18 22 21) (50 50 50) simpleGrading (1 1 1) //1 hex (2 3 7 6 18 19 23 22) (50 50 50) simpleGrading (1 1 1) //2 hex (4 5 9 8 20 21 25 24) (50 50 50) simpleGrading (1 1 1) //3 hex (6 7 11 10 22 23 27 26) (50 50 50) simpleGrading (1 1 1) //4 hex (8 9 13 12 24 25 29 28) (50 50 50) simpleGrading (1 1 1) //5 hex (9 10 14 13 25 26 30 29) (50 50 50) simpleGrading (1 1 1) //6 hex (10 11 15 14 26 27 31 30) (50 50 50) simpleGrading (1 1 1) //7 ); edges ( ); boundary ( inlet { type patch; faces ( (4 0 16 20) (8 4 20 24) (12 8 24 28) ); } outlet { type patch; faces ( (3 7 23 19) (7 11 27 23) (11 15 31 27) ); } bottom { type wall; faces ( (0 1 5 4 ) (1 2 6 5) (2 3 7 6) (4 5 9 8) (6 7 11 10) (8 9 13 12) (9 10 14 13) (10 11 15 14) ); } atmosphere { type patch; faces ( (16 17 21 20) (17 18 22 21) (18 19 23 22) (20 21 25 24) (22 23 27 26) (24 25 29 28) (25 26 30 29) (26 27 31 30) ); } frontAndBack { type empty; faces ( (0 1 17 16) (1 2 18 17) (2 3 19 18) (13 12 28 29) (14 13 29 30) (15 14 30 31) ); } ); // ************************************************** *********************** // Thank you. |
|
September 9, 2015, 17:06 |
|
#2 | |
Member
VA
Join Date: Mar 2015
Location: ON, Canada
Posts: 30
Rep Power: 11 |
Quote:
The issue lies with your definition of blocks in blockMeshDict file. A mesh non-orthogonality value of 180 tells you the ordering of points are reversed. It is important to remember that each block in OF has a local-coordinate system that must be right-handed. So, the order in which you pick your coordinates while defining a block matters. I suggest you carefully read through chapter 5 (I think) of the OpenFOAM user guide. I just did a quick fix of the block ordering for your case and it seems to work: blocks ( hex (4 5 1 0 20 21 17 16) (50 50 50) simpleGrading (1 1 1) //0 hex (5 6 2 1 21 22 18 17) (50 50 50) simpleGrading (1 1 1) //1 hex (6 7 3 2 22 23 19 18) (50 50 50) simpleGrading (1 1 1) //2 hex (8 9 5 4 24 25 21 20) (50 50 50) simpleGrading (1 1 1) //3 hex (10 11 7 6 26 27 23 22) (50 50 50) simpleGrading (1 1 1) //4 hex (12 13 9 8 28 29 25 24) (50 50 50) simpleGrading (1 1 1) //5 hex (13 14 10 9 29 30 26 25) (50 50 50) simpleGrading (1 1 1) //6 hex (14 15 11 10 30 31 27 26) (50 50 50) simpleGrading (1 1 1) //7 ); Hope that helps! Abishek PS: I would suggest installing pyFoam utilities when you are getting started with OpenFOAM.The pyFoamDisplayBlockMesh.py (lets you view the coordinates, blocks and patches) script really helped me in making sure I was defining my geometry correctly. |
||
September 10, 2015, 13:12 |
|
#3 |
New Member
Jess
Join Date: Aug 2015
Posts: 9
Rep Power: 11 |
Hi Abishek! Thank you so much for your help and your advice, it was very useful for me! I read that chapter but as I'm dealing with more blocks it can get confusing. Thanks again.
|
|
Tags |
mesh 3d, negative volume cell, openfoam, orthogonality, pyramids |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] Parallel sHM error | vigges | OpenFOAM Meshing & Mesh Conversion | 12 | September 23, 2022 02:23 |
[snappyHexMesh] snappyHexMesh error "Cannot determine normal vector from patches." | lethu | OpenFOAM Meshing & Mesh Conversion | 1 | June 3, 2020 08:49 |
ideasUnvToFoam issue | julieng | OpenFOAM Pre-Processing | 4 | February 13, 2019 18:35 |
[ICEM] The ICEM Guide for CFX Users | JuPa | ANSYS Meshing & Geometry | 11 | September 4, 2017 10:43 |
[snappyHexMesh] Error while running SnappyHex in parallel | mg.mithun | OpenFOAM Meshing & Mesh Conversion | 1 | February 10, 2016 14:13 |