|
[Sponsors] |
![]() |
![]() |
#1 |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
I'm having trouble getting blockMesh to work with the blockMesh Dict file below. I think the problem is in the face descriptions. The file works when I define the face probe_top as (3 5 2 3) instead of (3 2 5 3), which doesn't make sense because all surface normal vectors, we're told, must point OUTSIDE the domain.
Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **// convertToMeters 1.00; vertices ( (0.000 0.000 -1.000) //0 (1.970 0.350 -1.000) //1 (1.970 0.350 1.000) //2 (0.000 0.000 1.000) //3 (1.970 -0.350 -1.000) //4 (1.970 -0.350 1.000) //5 ); blocks ( hex (0 4 1 0 3 5 2 3) (10 1 10) simpleGrading (1 1 1) ); edges ( ); boundary ( frontAndBack { type wedge; faces ( (0 1 2 3) (0 3 5 4) ); } probe_top { type patch; faces ( (3 2 5 3) ); } outlet { type patch; faces ( (1 4 5 2) ); } probe_bottom { type patch; faces ( (0 4 1 0) ); } axis_symmetry { type empty; faces ( (0 3 3 0) ); } ); mergePatchPairs ( ); // ************************************************************************* // |
|
![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
|
Quote:
I don't understand what you are trying to make. First of all, the vertices seems to be incorrect. Secondly, the boundary patches are also incorrect. Read the following weblink & try to understand the approach. Then, apply it on your particular case. http://www.openfoam.org/docs/user/blockMesh.php ![]() |
||
![]() |
![]() |
![]() |
![]() |
#3 | |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
Quote:
I actually followed a tutorial for an axisymmetric geometry: http://openfoamwiki.net/index.php/Ma...s/AxiSymmetric If you could point out a mistake in what I'd posted earlier, I'd be grateful. |
||
![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
|
Quote:
Upload your case file here. ![]() |
||
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
||
![]() |
![]() |
![]() |
![]() |
#6 | |
Senior Member
|
Quote:
I am sorry for my earlier comment. Actually, I have mistaken it for the square-block type geometry. Your case is of wedge type. I re-checked your blockMesh, even I copied 0 folder in your case folder which you have uploaded in order to run the command - checkMesh. It is working all fine, checkMesh & blockMesh both are working for the patch (3 2 5 3). Do, one thing copy a 0 folder and run checkMesh & blockMesh. Let me know if its not working. ![]() |
||
![]() |
![]() |
![]() |
![]() |
#7 | |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
Quote:
Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.2.0 Exec : checkMesh Date : May 09 2013 Time : 00:21:32 Host : "poli2" PID : 3605 Case : /home/vyaas/openfoam/probe_axi/counterFlowFlame2D nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create polyMesh for time = 0 --> FOAM FATAL ERROR: Cannot find file "points" in directory "polyMesh" in times 0 down to constant From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&) in file db/Time/findInstance.C at line 203. FOAM exiting [vyaas@poli2 counterFlowFlame2D]$ blockMesh >log.dat --> FOAM FATAL ERROR: face 0 in patch 1 does not have neighbour cell face: 4(3 2 5 3) From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #3 Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so" #6 Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so" #7 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh" #8 __libc_start_main in "/usr/lib/libc.so.6" #9 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh" Aborted (core dumped) |
||
![]() |
![]() |
![]() |
![]() |
#8 | |
Senior Member
|
Quote:
Are you able to compile icoFoam tutorial as mentioned on the installation website?? http://www.openfoam.org/download/source.php Check with the available tutorial. The problem lies here: /home/vyaas/openfoam/probe_axi/counterFlowFlame2D In order to install OpenFoam you need to follow path, for example for your particular case: /home/vyaas/OpenFOAM/OpenFOAM-2.2.0/probe_axi/counterFlowFlame2D ![]() |
||
![]() |
![]() |
![]() |
![]() |
#9 | |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
Quote:
That a vector normal to one of the surfaces pointing outwards doesn't work when one pointing inwards does. Could this be because of a possible error in the way wedge geometries are implemented? I've run such cases before on previous versions of OpenFOAM and they've run fine. I wanted to know if there is the slight chance that some recent updates could have changed or overlooked something critical in blockMesh. Or perhaps a standard for defining the local coordinates for a block has changed? |
||
![]() |
![]() |
![]() |
![]() |
#10 | |
Senior Member
|
Quote:
Then, I think you post your comments over here: http://www.cfd-online.com/Forums/openfoam-bugs/ , may be the experts of OF may help you in this regards. As for me, I am able to run your case file with the followed path in previous versions of OF. Even the same patch has worked for me. I haven't tried OF-2.2.0, may be the blockMesh functionality for patches might have changed. Here is the link for it: http://www.openfoam.org/version2.0.0/meshing.php. You need to explore these, I wish you very best for that. Anyways, do let us know if it solves. ![]() Last edited by Tushar@cfd; May 9, 2013 at 04:06. |
||
![]() |
![]() |
![]() |
![]() |
#11 |
Senior Member
Adhiraj
Join Date: Sep 2010
Location: Karnataka, India
Posts: 187
Rep Power: 15 ![]() |
You posted what happens when you run checkMesh.
What happens when you actually run the command blockMesh? |
|
![]() |
![]() |
![]() |
![]() |
#12 | |
New Member
Vyaas Gururajan
Join Date: Jul 2010
Posts: 6
Rep Power: 16 ![]() |
Quote:
Code:
[vyaas@poli2 counterFlowFlame2D]$ blockMesh >log.dat --> FOAM FATAL ERROR: face 0 in patch 1 does not have neighbour cell face: 4(3 2 5 3) From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 Foam::polyMesh::facePatchFaceCells(Foam::List<Foam::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #3 Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so" #6 Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/lib/libblockMesh.so" #7 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh" #8 __libc_start_main in "/usr/lib/libc.so.6" #9 in "/opt/OpenFOAM/OpenFOAM-2.2.0/platforms/linux64GccDPOpt/bin/blockMesh" Aborted (core dumped) |
||
![]() |
![]() |
![]() |
![]() |
#13 |
Member
Join Date: Nov 2012
Posts: 58
Rep Power: 13 ![]() |
The frontAndBack patch should be split in "front" and "back".
Check the link you provided. I don't know if this will correct the situation, I encounter no other errors and get a good checkMesh with your blockMeshDict in OF 2.1.x. |
|
![]() |
![]() |
![]() |
![]() |
#14 |
New Member
Join Date: Apr 2013
Posts: 24
Rep Power: 13 ![]() |
Hi All,
I am trying to model a simple geometry using blockMesh similar to the plateHole tutorial case, except that there is no hole. Instead it consists of 4 blocks and a cylindrical block. However, following error turns up when I run checkMesh after blockMesh seems to be ok: Creating curved edges Creating topology blocks Creating topology patches Creating block mesh topology Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 2102 internal points: 0 faces: 4050 internal faces: 1930 cells: 1000 faces per cell: 5.98 boundary patches: 5 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 980 prisms: 20 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 0 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology left 30 62 ok (non-closed singly connected) right 30 62 ok (non-closed singly connected) down 30 62 ok (non-closed singly connected) up 30 62 ok (non-closed singly connected) frontAndBack 2000 2102 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-0.000655036 -0.000655036 0) (0.002 0.002 0.002) Mesh (non-empty, non-wedge) directions (0 0 0) Mesh (non-empty) directions (0 0 0) ***Number of edges not aligned with or perpendicular to non-empty directions: 2684 <<Writing 1294 points on non-aligned edges to set nonAlignedEdges Boundary openness (-1.31696e-17 -9.69408e-17 2.48605e-15) OK. Max cell openness = 6.75429e-16 OK. Max aspect ratio = -1 OK. Minimum face area = 1.19246e-16. Maximum face area = 7.19254e-07. Face area magnitudes OK. Min volume = 1.66667e-300. Max volume = 7.02377e-11. Total volume = 6.20434e-09. Cell volumes OK. Mesh non-orthogonality Max: 180 average: 56.9286 *Number of severely non-orthogonal faces: 128. ***Number of non-orthogonality errors: 460. <<Writing 588 non-orthogonal faces to set nonOrthoFaces ***Error in face pyramids: 1356 faces are incorrectly oriented. <<Writing 986 faces with incorrect orientation to set wrongOrientedFaces ***Max skewness = 10.4166, 82 highly skew faces detected which may impair the quality of the results <<Writing 82 skew faces to set skewFaces Coupled point location match (average 0) OK. Failed 4 mesh checks. /////////////////////////////////////////////////////////////////////// Can anybody give me any idea about the error. My BlockMeshDict file: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( //////////Front//////////// (0 0 0) //0 // (0.5 0 0) (1 0 0) //1 (2 0 0) //2 (2 0.707107 0) //3 (0.707107 0.707107 0) //4 // (0.353553 0.353553 0) //5 (2 2 0) //5 (0.707107 2 0) //6 (0 2 0) //7 (0 1 0)//8 //(0 0.5 0)// 10 /////////BACK //////////// (0 0 0.5) //9 // (0.5 0 0) (1 0 0.5) //10 (2 0 0.5) //11 (2 0.707107 0.5) //12 (0.707107 0.707107 0.5) //13 (2 2 0.5) //14 (0.707107 2 0.5) //15 (0 2 0.5) //16 (0 1 0.5)//17 ); blocks ( hex (0 4 8 0 9 13 17 9) (10 10 1) simpleGrading (1 1 1) hex (0 1 4 0 9 10 13 9) (10 10 1) simpleGrading (1 1 1) hex (1 2 3 4 10 11 12 13) (20 10 1) simpleGrading (1 1 1) hex (4 3 5 6 13 12 14 15) (20 20 1) simpleGrading (1 1 1) hex (8 4 6 7 17 13 15 16) (10 20 1) simpleGrading (1 1 1) ); edges ( arc 1 4 (0 0 0) arc 4 8 (0 0 0) arc 10 13 (0 0 0.5) arc 13 17 (0 0 0.5) ); boundary ( left { type symmetryPlane; faces ( (7 8 17 16) (8 0 9 17) ); } right { type patch; faces ( (2 3 12 11) (3 5 14 12) ); } down { type symmetryPlane; faces ( (0 1 10 9) (1 2 11 10) ); } up { type patch; faces ( (6 7 16 15) (5 6 15 14) ); } /* hole { type patch; faces ( (10 5 16 21) (5 0 11 16) ); }*/ frontAndBack { type empty; faces ( //front// (0 8 4 0) (0 4 1 0) (1 4 3 2) (4 6 5 3) (4 8 7 6) ///back/// (9 13 17 9) (9 10 13 9) (10 11 12 13) (13 12 14 15) (17 13 15 16) ); } ); mergePatchPairs ( ); // ************************************************** *********************** // Regards Last edited by mebinitap; July 30, 2013 at 12:11. |
|
![]() |
![]() |
![]() |
Tags |
axisymmetric, blockmesh, wedge |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
c++ libraries and solver compiling | vaina74 | OpenFOAM Installation | 13 | February 3, 2012 17:43 |
[swak4Foam] groovyBC: problems compiling: "flex: not found" and "undefined reference to ..." | sega | OpenFOAM Community Contributions | 12 | February 17, 2010 09:30 |
OpenFOAM on MinGW crosscompiler hosted on Linux | allenzhao | OpenFOAM Installation | 127 | January 30, 2009 19:08 |
Problem with compile the setParabolicInlet | ivanyao | OpenFOAM Running, Solving & CFD | 6 | September 5, 2008 20:50 |
user defined function | cfduser | CFX | 0 | April 29, 2006 10:58 |