ok, tried that... (simply set the boundary to patch in the boundary file generated by blockMesh)
it requires me to set the boundary conditions for p... when i set them to zeroGradient, i get // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading field p Programme terminated with errors: exit code 3, status 0. with no further explanation... when i set it to fixedValue and value 0, it works, but, of course, shows the same problems for the other variables (U, epsilon, NuTilda, R, k): won't work with zeroGradient, but does with fixedValue 0... but when i set all of them to fixedValue 0, i get // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon Starting time loop Time = 1 Programme terminated with errors: exit code 3, status 0. again without explanation... really don't know what to do :( (the simulation worked fine before i put the "obstacle" into it) |
Hi
bobby - your mesh is 3D in case you hadn't found out yet. i.e you have more than two different z values I'm having a similar problem re This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells... I've merged two meshes in order to be able to rotate one of them inside the other. They work individually as empty meshes, and merged when described as symmetryPlane, but I'd like to be able to use the empty BC for the combined mesh. Any suggestions anyone? Thanks Nick |
The mes contains patches of type empty
Hi,
I am trying to run a 2D fluid flow with an obstacle in its path and it is able to creat the mesh proprly but when i run icoFoam its giving the error as: Create time Create mesh for time = 0 Reading transportProperties Reading field p Reading field U Reading/calculating face flux field phi Starting time loop Time = 0.005 Courant Number mean: 0 max: 7.5 This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells. From function emptyFvPatchField<Type>::updateCoeffs() in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148. FOAM exiting Can anyone suggest what is the problem? Do i need to use any other solver than icoFoam? or is there any problem with the mesh as while running blockMesh, i got a warning as: Creating blockCorners Creating curved edges Creating blocks Creating patches Creating block mesh topology Default patch type set to empty --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 577 Found 8 undefined faces in mesh; adding to default patch. Check block mesh topology Basic statistics Number of internal faces : 0 Number of boundary faces : 24 Number of defined boundary faces : 24 Number of undefined boundary faces : 0 Checking patch -> block consistency Creating block offsets Creating merge list . Creating points with scale 1 Creating cells Creating patches Creating mesh from block mesh Default patch type set to empty Writing polyMesh End The blockMesh code is as follows: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) (0.4 0 0) (0.6 0 0) (1 0 0) (0.4 0.2 0) (0.6 0.2 0) (0.4 0.4 0) (0.6 0.4 0) (0 0.6 0) (0.4 0.6 0) (0.6 0.6 0) (1 0.6 0) (0 0 0.1) (0.4 0 0.1) (0.6 0 0.1) (1 0 0.1) (0.4 0.2 0.1) (0.6 0.2 0.1) (0.4 0.4 0.1) (0.6 0.4 0.1) (0 0.6 0.1) (0.4 0.6 0.1) (0.6 0.6 0.1) (1 0.6 0.1) ); blocks ( hex (0 1 9 8 12 13 21 20) (30 45 1) simpleGrading (1 1 1) hex (1 2 5 4 13 14 17 16) (15 15 1) simpleGrading (1 1 1) hex (2 3 11 10 14 15 23 22) (30 45 1) simpleGrading (1 1 1) hex (6 7 10 9 18 19 22 21) (15 15 1) simpleGrading (1 1 1) ); edges ( ); patches ( patch inlet ( (0 8 20 12) ) patch outlet ( (11 3 15 23) ) wall upperWalls ( (8 9 21 20) (10 11 23 22) (6 7 19 18) (9 10 22 21) ) wall lowerWalls ( (1 0 12 13) (3 2 14 15) (5 4 16 17) (2 1 13 14) ) empty frontAndBack ( (9 8 0 1) (10 9 6 7) (5 4 1 2) (11 10 2 3) (20 21 13 12) (21 22 19 18) (16 17 14 13) (22 23 15 14) ) ); mergePatchPairs ( ); // ************************************************** *********************** // |
You need to create the mesh using 8 blocks instead those 4 you have used. Two neighbouring blocks need to have a one-to-one match. Read the manual if in doubt.
Best regards, Niels |
blockMesh warning || mesh contains patches of type empty
Thank you for reply Niels.
I've converted it into 8 blocks...but still this error is there while running icoFoam : This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells. From function emptyFvPatchField<Type>::updateCoeffs() in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148. FOAM exiting But while running blockMesh, now the warning is only for 2 faces. I'm not getting which 2 faces are left? Create time Creating block mesh from "/home/gaurav/OpenFOAM/gaurav-1.6/run/tutorials/incompressible/icoFoam/obstacle/constant/polyMesh/blockMeshDict" Creating blockCorners Creating curved edges Creating blocks Creating patches Creating block mesh topology Default patch type set to empty --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 577 Found 2 undefined faces in mesh; adding to default patch. Check block mesh topology Basic statistics Number of internal faces : 8 Number of boundary faces : 32 Number of defined boundary faces : 32 Number of undefined boundary faces : 0 Checking patch -> block consistency Creating block offsets Creating merge list . Creating points with scale 1 Creating cells Creating patches Creating mesh from block mesh Default patch type set to empty Writing polyMesh End The blockMeshDict code is is as follows: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) (0.4 0 0) (0.6 0 0) (1 0 0) (0 0.2 0) (0.4 0.2 0) (0.6 0.2 0) (1 0.2 0) (0 0.4 0) (0.4 0.4 0) (0.6 0.4 0) (1 0.4 0) (0 0.6 0) (0.4 0.6 0) (0.6 0.6 0) (1 0.6 0) (0 0 0.1) (0.4 0 0.1) (0.6 0 0.1) (1 0 0.1) (0 0.2 0.1) (0.4 0.2 0.1) (0.6 0.2 0.1) (1 0.2 0.1) (0 0.4 0.1) (0.4 0.4 0.1) (0.6 0.4 0.1) (1 0.4 0.1) (0 0.6 0.1) (0.4 0.6 0.1) (0.6 0.6 0.1) (1 0.6 0.1) ); blocks ( hex (0 1 5 4 16 17 21 20) (30 15 1) simpleGrading (1 1 1) hex (1 2 6 5 17 18 22 21) (15 15 1) simpleGrading (1 1 1) hex (2 3 7 6 18 19 23 22) (30 15 1) simpleGrading (1 1 1) hex (4 5 9 8 20 21 25 24) (30 15 1) simpleGrading (1 1 1) hex (6 7 11 10 22 23 27 26) (30 15 1) simpleGrading (1 1 1) hex (8 9 13 12 24 25 29 28) (30 15 1) simpleGrading (1 1 1) hex (9 10 14 13 25 26 30 29) (15 15 1) simpleGrading (1 1 1) hex (10 11 15 14 26 27 31 30) (30 15 1) simpleGrading (1 1 1) ); edges ( ); patches ( patch inlet ( (0 4 20 16) (4 8 24 20) (8 12 28 24) ) patch outlet ( (3 19 23 7) (7 23 27 11) (11 27 31 15) ) wall upperWalls ( (12 13 29 28) (14 15 31 30) (13 14 30 29) (9 10 26 25) ) wall lowerWalls ( (1 0 16 17) (3 2 18 19) (2 1 17 18) (5 6 22 21) ) empty frontAndBack ( (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) (20 21 17 16) (21 22 18 17) (22 23 19 18) (24 25 21 20) (26 27 23 22) (28 29 25 24) (29 30 26 25) (30 31 27 26) ) ); mergePatchPairs ( ); // ************************************************** *********************** // |
Try the vertical walls inside the square.
Best regards, Niels |
mesh contains patches of type empty
Thank you Niels for your reply.
I've included those 2 faces and now its working properly :) |
Good.
In the future you can benefit from looking at the mesh in paraFoam before asking questions on the Forum. Best regards, Niels |
merged meshes
Hi - those with this problem that have merged meshes or more than one empty patch
I've just found that if you merge meshes with empty BCs on more than one of the previously separate meshes then they won't work unless you create a new single patch that includes the multiple patches. That is unless they have an equal quantity of faces whereby you won't get this division by number of cells problem. The only problem with this is that they need to be numerically sequential in the merged mesh to be able to rewrite the number of faces in /boundary (as the sum the previously separate empty nFaces). e.g. zSymT { type empty; nFaces 15438; startFace 66386; } ASymR { type empty; nFaces 69208; startFace 81824; } becomes: Sym { type empty; nFaces 84646; startFace 66386; } Hope that helps others |
Undefined and unconsistent
This is my blockMesh file some text in swedish:
Quote:
Quote:
And btw, how to find the 6 undefined faces? Thanks in advance! Regards Marco |
i'm trying to generate mesh for axisymmetric.
this is my blockMesh: convertToMeters 0.1; vertices ( (0 0 0) (10 0 0) (9.988 0.491 0) (0 0 10) (10 0 10) (9.988 0.491 10) ); blocks ( hex (0 1 2 3 4 5) (5 5 5) simpleGrading (1 1 1) ); edges ( arc 2 3 (0.9997 0.0245 0) arc 6 7 (0.9997 0.0245 1) ); patches ( patch movingWall ( (0 1 2 0) ) wall fixedWalls ( (3 3 4 5) (1 4 5 2) ) symmetryPlane axis ( (0 3 3 0) ) wedge front ( (0 3 4 1) ) wedge back ( (0 3 5 2) ) ); mergePatchPairs ( ); And this is my error: Create time Creating block mesh from "/home/david/OpenFOAM/david-1.7.0/run/tutorials/incompressible/icoFoam/cavmod/constant/polyMesh/blockMeshDict" Creating blockCorners Creating curved edges Creating blocks #0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam170/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigSegv::sigSegvHandler(int) in "/opt/openfoam170/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: #3 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" #4 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" #5 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" #6 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" #7 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" #8 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #9 in "/opt/openfoam170/applications/bin/linuxGccDPOpt/blockMesh" sigmentation error. Maybe someone can help? :/ :confused: |
help
i want to create 2d mesh a round airfoil but when use checkMesh is this error:Number of edges not aligned with or perpendicular to non-empty directions
can you help me please? the surface of airfoil not snap! |
Hi SH,
Please read the following wiki-page and then come back and rephrase your question: http://openfoamwiki.net/index.php/Ho..._Message_Board Kind regards Niels |
1 Attachment(s)
hi
i want to create 2d mesh around airfoil but when i use checkMesh is this error: ***Max skewness = 5.87721, 2 highly skew faces detected which may impair the quality of the results <<Writing 2 skew faces to set skewFaces and the surface of airfoil not snap is it right:? 1:run blockMesh 2:snappyhexMeshDict -overwite 3:extrudeMesh |
Hi SH,
The first error seems to have been resolved. The error you mention is probably related to the settings in snappyHexDict, so I would recommend you to search the forum in the related threads. E.g.: Code:
http://www.cfd-online.com/Forums/openfoam-meshing-snappyhexmesh/ Niels |
I Need Help
Hello all,
I have a question about blockMesh in OpenFOAM. in my geometry there are some faces that are shared between two blocks. How should I define such faces? As far as I know, we can not duplicate the vertices in blockMesh. On the other hand, when the shared face is defined in one of the blocks, the user receives a message as "trying to identify a boundary patch to the..." Tnx for your help! |
hi
this error is because of false hex assigning focus on choosing points in hex selection for example : hex ( 0 1 2 3 4 5 6 7) direction between 0 to 1 in all of hexes should be the same( e.g x axis) direction between 1 to 2 in all of hexes should be the same (e.g y axis) or we can say that you should use "right hand low" in assigning your hexes. Best wishes Ramin |
All times are GMT -4. The time now is 11:49. |