|
[Sponsors] |
December 7, 2010, 13:01 |
channelFoam for a 3D pipe
|
#1 |
Senior Member
Robert Sawko
Join Date: Mar 2009
Posts: 117
Rep Power: 22 |
Dear All,
I would value your advice on the case I am trying to set up. Basically I wish to adapt channelFoam tutorial to a certain type of 3D pipeline mesh. (see attached). I believe I have already sorted out the meshing. However blockMesh still gives me an output with warnings about negative volumes. Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.7.1-03e7e056c215 Exec : blockMesh Date : Dec 07 2010 Time : 17:44:19 Host : soli31888c PID : 28450 Case : /home/c111269/OpenFOAM/c111269-1.7.1/cases nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Creating block mesh from "/home/c111269/OpenFOAM/c111269-1.7.1/cases/constant/polyMesh/blockMeshDict" Creating blockCorners Creating curved edges Creating blocks Creating patches Creating block mesh topology --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 0 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 1 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 2 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 3 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 4 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 5 --> FOAM Warning : From function blockMesh::createTopology(IOdictionary&) in file createTopology.C at line 397 negative volume block : 0, probably defined inside-out --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 0 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 1 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 2 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 3 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.333333 for face 4 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 5 --> FOAM Warning : From function blockMesh::createTopology(IOdictionary&) in file createTopology.C at line 397 negative volume block : 1, probably defined inside-out --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 0 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 1 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 2 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 3 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.333333 for face 4 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 5 --> FOAM Warning : From function blockMesh::createTopology(IOdictionary&) in file createTopology.C at line 397 negative volume block : 2, probably defined inside-out --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 0 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 1 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 2 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 3 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.333333 for face 4 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 5 --> FOAM Warning : From function blockMesh::createTopology(IOdictionary&) in file createTopology.C at line 397 negative volume block : 3, probably defined inside-out --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 0 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 1 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 2 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.5 for face 3 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.333333 for face 4 --> FOAM Warning : From function cellModel::mag(const labelList&, const pointField&) in file meshes/meshShapes/cellModel/cellModel.C at line 128 zero or negative pyramid volume: -0.666667 for face 5 --> FOAM Warning : From function blockMesh::createTopology(IOdictionary&) in file createTopology.C at line 397 negative volume block : 4, probably defined inside-out Default patch type set to empty Check block mesh topology Basic statistics Number of internal faces : 8 Number of boundary faces : 14 Number of defined boundary faces : 14 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 Here's my blockMeshDict: Code:
/*--------------------------------*- 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 ( //internal square (0 -1 -1) //0 (1 -1 -1) //1 (1 -1 1) //2 (0 -1 1) //3 (0 1 -1) //4 (1 1 -1) //5 (1 1 1) //6 (0 1 1) //7 //Going clockwise with sections //North section (0 2 2) //8 (0 -2 2) //9 (1 2 2) //10 (1 -2 2) //11 //East section (0 2 -2) //12 (1 2 -2) //13 //South section (0 -2 -2) //14 (1 -2 -2) //15 ); edges ( //North section arc 8 9 (0 0 2.82) arc 10 11 (1 0 2.82) //East section arc 8 12 (0 2.82 0) arc 10 13 (1 2.82 0) //South section arc 12 14 (0 0 -2.82 ) arc 13 15 (1 0 -2.82 ) //West section arc 14 9 (0 -2.82 0) arc 15 11 (1 -2.82 0) ); blocks ( //Centre hex (0 1 2 3 4 5 6 7) (32 48 48) simpleGrading (1 1 1) //East section hex (7 6 2 3 8 10 11 9) (32 48 92) simpleGrading (1 1 0.25) //East section hex (4 5 6 7 12 13 10 8) (32 48 92) simpleGrading (1 1 0.25) //South section hex (0 1 5 4 14 15 13 12) (32 48 92) simpleGrading (1 1 0.25) //West section hex (3 2 1 0 9 11 15 14) (32 48 92) simpleGrading (1 1 0.25) ); patches ( wall pipeWall ( (9 11 10 8) (8 10 13 12) (12 14 15 13) (14 9 11 15) ) cyclic cNorth ( (9 3 7 8) (11 2 6 10) ) cyclic cEast ( (7 4 12 8) (6 5 13 10) ) cyclic cSouth ( (0 14 12 4) (1 5 13 15) ) cyclic cWest ( (0 14 9 3) (1 15 11 2) ) cyclic cCentre ( (0 4 7 3) (1 2 6 5) ) ); mergePatchPairs ( ); // ************************************************************************* // After setting up all other dictionaries, running channelFoam results in an error: Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.7.1-03e7e056c215 Exec : channelFoam Date : Dec 07 2010 Time : 17:46:09 Host : soli31888c PID : 28478 Case : /home/c111269/OpenFOAM/c111269-1.7.1/cases nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading transportProperties Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting LES turbulence model oneEqEddy oneEqEddyCoeffs { ce 1.048; ck 0.094; } Initializing with 0 pressure gradient Starting time loop Reading/calculating field UMean Reading/calculating field pMean Reading/calculating field UPrime2Mean Reading/calculating field pPrime2Mean fieldAverage: starting averaging at time 0 Time = 0.02 Courant Number mean: 0.519785 max: 1.7088 #0 Foam::error::printStack(Foam::Ostream&) in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libOpenFOAM.so" #2 in "/lib64/libc.so.6" #3 void Foam::magSqr<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> const&) in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libincompressibleLESModels.so" #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::magSqr<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<Foam::SymmTensor<double>, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libincompressibleLESModels.so" #5 Foam::incompressible::LESModels::oneEqEddy::correct(Foam::tmp<Foam::GeometricField<Foam::Tensor<double>, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libincompressibleLESModels.so" #6 Foam::incompressible::LESModel::correct() in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libincompressibleLESModels.so" #7 in "/home/c111269/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/channelFoam" #8 __libc_start_main in "/lib64/libc.so.6" #9 at /usr/src/packages/BUILD/glibc-2.11.2/csu/../sysdeps/x86_64/elf/start.S:116 Floating point exception My questions are 1) Can I run channelFoam for any other geometry than channel? 2) Why do I get warnings about negative volumes? 3) Do I have to specify each cyclic patch separately? Please let me know if you know of any other references on running 3D pipeline simulation in openFoam with cyclic boundary conditions. It would be great if you could advise me if I am on the right track at least with setting up my case. Many thanks, Robert |
|
December 7, 2010, 13:19 |
|
#2 |
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 21 |
Hi Robert,
change your block definition to: Code:
blocks ( //Centre hex (4 5 6 7 0 1 2 3) (32 48 48) simpleGrading (1 1 1) //East section hex (8 10 11 9 7 6 2 3) (32 48 92) simpleGrading (1 1 0.25) //East section hex (12 13 10 8 4 5 6 7) (32 48 92) simpleGrading (1 1 0.25) //South section hex (14 15 13 12 0 1 5 4) (32 48 92) simpleGrading (1 1 0.25) //West section hex (9 11 15 14 3 2 1 0) (32 48 92) simpleGrading (1 1 0.25) ); Martin |
|
December 7, 2010, 13:41 |
|
#3 |
Senior Member
Robert Sawko
Join Date: Mar 2009
Posts: 117
Rep Power: 22 |
Thanks Martin for such prompt and accurate reply. Yes the negative volumes were the issue. Now the simulation runs smoothly. I an eagerly waiting for some results now.
I am awfully sorry! Have I violated the right-hand side rule? |
|
June 24, 2011, 13:06 |
|
#4 |
New Member
Join Date: Oct 2010
Posts: 27
Rep Power: 16 |
Hello
Could anybody help me to fix a grid for a square channel with curved edges? Any reference is welcome thanks in advance Alberto |
|
Tags |
channelfoam, pipe |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
pipe in pipe heat exchanger | JohannV | FLUENT | 3 | December 3, 2009 02:53 |
CYCLIC BC in pipe flows | matthias | OpenFOAM | 0 | November 5, 2009 10:52 |
My Revised "Time Vs Energy" Article For Review | Abhi | Main CFD Forum | 2 | July 9, 2002 09:08 |
Terrible Mistake In Fluid Dynamics History | Abhi | Main CFD Forum | 12 | July 8, 2002 09:11 |
fluid flow fundas | ram | Main CFD Forum | 5 | June 17, 2000 21:31 |