CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

Problem using GGI

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   August 4, 2010, 10:34
Default Problem using GGI
  #1
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Hello dearest community,

well, i'm trying to run the old well know problem of a rotating cylinder in a static (closed) domain. After looking at different options for this problem i tried to use the ggi of version 1.5-dev.
However the simulation does not run, but stops with a floating point exception. The output is:

Quote:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Exec : turbDyMFoam
Date : Aug 03 2010
Time : 16:03:53
Host : laptop
PID : 12707
Case : test2
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh mixerGgiFvMesh
void mixerGgiFvMesh::addZonesAndModifiers() : Zones and modifiers already present. Skipping.
Mixer mesh:
origin: (0 0 0)
axis : (1 0 0)
rpm : 40
Reading field p

Reading field U

Reading/calculating face flux field phi

Rescaling of weighting factor:
Largest slave weighting factor correction : 0 average: 0
Largest master weighting factor correction: 8.9695158e-07 average: 1.0775447e-07
Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kOmegaSST

Floating point exception
Basicly i kept the setup in the way it is described by http://www.openfoamworkshop.org/2009/4th_Workshop/4_Mesh_Generation_and_Handling/OFW4_2009_Jasak_slides.pdf
. The output suggests, it could be something with the turbulence model (k-omega SST). However if i turn it off in the RASproperties, there is no change.

Here are the main setup files:

boundary:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.5-dev                               |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

5
(
    CYLINDER
    {
        type            ggi;
        nFaces          2166;
        startFace       211296;
        shadowPatch     CYLINDER2;
        bridegOverlap   false;
        zone            CYLINDER_ZONE;
        }
    GEOM
    {
        type            wall;
        nFaces          7143;
        startFace       213462;
    }
    INFLOW
    {
        type            patch;
        nFaces          399;
        startFace       220605;
    }
    OUTFLOW
    {
        type            patch;
        nFaces          5208;
        startFace       221004;
    }
    CYLINDER2
    {
        type            ggi;
        nFaces          2166;
        startFace       226212;
        shadowPatch     CYLINDER;
        bridgeOverlap   false;
        zone            CYLINDER2_ZONE;
    }
)
dynamicMeshDict
Code:
dynamicFvMesh         mixerGgiFvMesh;
dynamicFvMeshLib      "libtopoChangerFvMesh.so";

mixerGgiFvMeshCoeffs
{
        coordinateSystem
        {
                type    cylindrical;
                origin  (0 0 0);
                axis    (1 0 0);
                direction (0 0 1);
        }
     rpm     40;
      slider
    {
        moving      CYLINDER;
        static      CYLINDER2;
    }
U
Code:
    #include "fixedInlet" 

    OUTFLOW
    {
        type            inletOutlet;
        inletValue      $internalField;
        value           $internalField;
    }

    GEOM
    {
        type            fixedValue;
        value           uniform (0 0 0);
  }

    INFLOW
    {
        type            fixedValue;
        value           uniform (10 0 0);
    }

    CYLINDER2
    {
        type            ggi;
    }

    CYLINDER
    {
        type            ggi;
    }
p
Code:
internalField   uniform $pressure;

boundaryField
{
    INFLOW
    {
        type            zeroGradient;
    }

    OUTFLOW
    {
        type            fixedValue;
        value           $internalField;
    }

    GEOM
    {
        type            zeroGradient;
    }
 
    CYLINDER2
    {
        type            ggi;
    }

    CYLINDER
    {
        type            ggi;
    }
Anybody has an idea what's wrong?

Bernhard
besto is offline   Reply With Quote

Old   August 4, 2010, 21:05
Default
  #2
Member
 
Masashi Ohbuchi
Join Date: Oct 2009
Posts: 72
Rep Power: 7
Ohbuchi is on a distinguished road
Hello, Bernd !
Did you check non-rotating case ?
If you could run the case by turbFoam, setting for GGI might be OK
and the problem would be setting for dynamicMesh.
Ohbuchi is offline   Reply With Quote

Old   August 4, 2010, 22:56
Default
  #3
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 330
Rep Power: 13
mbeaudoin will become famous soon enough
Hello,

Not enough information.

Please specify the Svn revision number of your local 1.5-dev source code working copy.

Please enable the FOAM_ABORT env. variable so we can see the stack trace dump when your error occurs.

Martin
mbeaudoin is offline   Reply With Quote

Old   August 5, 2010, 09:56
Default Not all information
  #4
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Hi,

thanx for the response. Sad but true, i used an old version without subversion. So do not have a subversion number (Sorry). The file has a date however:
OpenFOAM-1.5-dev.General_2009-01-20.tgz
Setting FOAM_ABORT i get:

Code:
Selecting RAS turbulence model kOmegaSST

#0  Foam::error::printStack(Foam::Ostream&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  ?? in "/lib/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#6  Foam::incompressible::RASModels::kOmegaSST::F2() const in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#7  Foam::incompressible::RASModels::kOmegaSST::kOmegaSST(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#8  Foam::incompressible::RASModel::adddictionaryConstructorToTable<Foam::incompressible::RASModels::kOmegaSST>::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#9  Foam::incompressible::RASModel::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#10  main in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linux64GccDPOpt/turbDyMFoam"
#11  __libc_start_main in "/lib/libc.so.6"
#12  _start at /build/buildd/eglibc-2.10.1/csu/../sysdeps/x86_64/elf/start.S:116
Floating point exception
Does this help?

Bernhard
besto is offline   Reply With Quote

Old   August 5, 2010, 10:01
Default Further
  #5
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Now looking at the output i posted, i found that, even if i set the turbulence in RASproperties to off, the k-omega SST was chosen.
So i set it now to laminar. This did make a change - however this still doesn't work. I get:
Unknown GAMGInterface type ggi.
Valid GAMGInterface types are :
2
(
cyclic
processor
)

Obviously i do have to change the schemes as well. However i will need the turbulence model ...
besto is offline   Reply With Quote

Old   August 5, 2010, 10:44
Default
  #6
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
O.k.! Using PCG instead of GAMG as solver works (laminar). So only the problem using the k-omega SST remains ...
besto is offline   Reply With Quote

Old   August 5, 2010, 10:50
Default And the conditions are ..
  #7
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Yes, as this is the case - here are the initial conditions for the turbulence:

Code:
boundaryField
{

    OUTFLOW
    {
        type            inletOutlet;
        inletValue      $internalField;
        value           $internalField;
    }

    GEOM
    {
        type            zeroGradient;
    }

    INFLOW
    {
        type            fixedValue;
        value           $internalField;
    }

    CYLINDER2
    {
        type            ggi;
    }

    CYLINDER
    {
        type            ggi;
    }

}
and the values for the $internalField are:
turbulentKE 0.24;
turbulentOmega 1.78;

Bernhard
besto is offline   Reply With Quote

Old   August 6, 2010, 10:25
Default
  #8
Senior Member
 
Martin Beaudoin
Join Date: Mar 2009
Posts: 330
Rep Power: 13
mbeaudoin will become famous soon enough
1: your version of OF-1.5-dev is too old. Many bug fixes have been contributed since then, including improvements to the GGI interfaces.

2: From your stack trace information, we can see that your case is crashing because of a division by zero in the method KOmegaSST::F2() when evaluating a patch field. Go check the list of fields being used for division in that method, and check your boundary fields dictionnary definitions or your kOmegaSST parameters.

Martin


Quote:
Originally Posted by besto View Post
Hi,

thanx for the response. Sad but true, i used an old version without subversion. So do not have a subversion number (Sorry). The file has a date however:
OpenFOAM-1.5-dev.General_2009-01-20.tgz
Setting FOAM_ABORT i get:

Code:
Selecting RAS turbulence model kOmegaSST

#0  Foam::error::printStack(Foam::Ostream&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  ?? in "/lib/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#5  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#6  Foam::incompressible::RASModels::kOmegaSST::F2() const in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#7  Foam::incompressible::RASModels::kOmegaSST::kOmegaSST(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#8  Foam::incompressible::RASModel::adddictionaryConstructorToTable<Foam::incompressible::RASModels::kOmegaSST>::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#9  Foam::incompressible::RASModel::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#10  main in "/home/bstoeve/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linux64GccDPOpt/turbDyMFoam"
#11  __libc_start_main in "/lib/libc.so.6"
#12  _start at /build/buildd/eglibc-2.10.1/csu/../sysdeps/x86_64/elf/start.S:116
Floating point exception
Does this help?

Bernhard
mbeaudoin is offline   Reply With Quote

Old   August 23, 2010, 03:40
Default This solved it so far
  #9
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Hi,

well, downloading the new version did not solve the problem directly - but the error messages were a lot better! Thus i could resolve this problem (got new ones, but new problem should get new threads).

Thanx

Bernd
besto is offline   Reply With Quote

Old   August 30, 2010, 03:24
Default
  #10
Senior Member
 
Karl-Johan Nogenmyr
Join Date: Mar 2009
Location: Linköping
Posts: 256
Rep Power: 12
kalle is on a distinguished road
Hi Bernd,

Is it possible you share your solution? I am experiencing a similar problem using 1.5-dev from August 19. I try to run a simulation of a two-stroke engine, but the simulation can only start if I select laminar as turbulence 'model'. All other RANS models I tried fails with the same output:

Code:
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting RAS turbulence model kEpsilon
Floating point exception
I've tried setting all patches to 0, 1e-10 and 'zeroGradient' and internally I use epsilon=0.000765 m2/s3 and k=3.5 m2/s2. I tried a few solvers, which works with the same settings on k and epsion for other cases but without dynamic meshes, and there it works. It seems to me that it is the sliding interfaces which fails. (For this case I don't use GGI). If you or anyone have any idea how to solve this, I would be very happy!

Regards,
Kalle
kalle is offline   Reply With Quote

Old   August 30, 2010, 03:41
Default Solution
  #11
New Member
 
Bernd Stöver
Join Date: Mar 2009
Posts: 16
Rep Power: 8
besto is on a distinguished road
Hi Kalle,

well, the solution was rather simple: First there was a spelling error in the boundary file. Afterwards there was another similar error. So it was really simple.
The point was to set FOAM_ABORT (for detailed error messages) and use a new version. Due to the new version i actually got the error output that told me what's wrong.
So always try to use new versions!
I'm now at subversion number 1816 and 1817
besto is offline   Reply With Quote

Old   August 30, 2010, 07:12
Default
  #12
Senior Member
 
Karl-Johan Nogenmyr
Join Date: Mar 2009
Location: Linköping
Posts: 256
Rep Power: 12
kalle is on a distinguished road
Hi,

Thanks for your reply!

The only thing I could find out from the full error message was that there was a floating point exception as the kEpsilon object was created (if I understood it right). Since all fields seemed reasonable, including p and T, I did the classical way: Start with something that works and add things until the error appears. It turned out to be that viscosity was set to zero in the thermophysicalProperties. Having that fixed, it works fine! One should be careful to be too quick when setting up test cases by copying files from various tutorials

Regards,
Kalle
kalle is offline   Reply With Quote

Old   October 29, 2010, 13:36
Default ggi problem
  #13
New Member
 
Bastian Schnepf
Join Date: Oct 2010
Posts: 2
Rep Power: 0
bschnepf is on a distinguished road
Hello everybody!
I try to get the mixerGgi tutorial working but I get the following error message:

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: exported |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
Exec : icoDyMFoam
Date : Oct 29 2010
Time : 19:16:13
Host : linux-3zx0.site
PID : 18771
Case : /home/bschnepf/OpenFOAM/OpenFOAM-1.5-dev/tutorials/icoDyMFoam/mixerGgi
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh mixerGgiFvMesh
void mixerGgiFvMesh::addZonesAndModifiers() : Zones and modifiers already present. Skipping.
Mixer mesh:
origin: (0 0 0)
axis : (1.51863e-314 2.122e-314 -6.22849e-49)
rpm : 60
Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi

Initializing the GGI interpolator between master/shadow patches: insideSlider/outsideSlider
Evaluation of GGI weighting factors:

From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
in file /home/bschnepf/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 534
Uncovered faces found. On master: 8 on slave: 20
Largest slave weighting factor correction : 1 average: 0.362385
Largest master weighting factor correction: 0.903086 average: 0.103186

Reading field rAU if present


Starting time loop

Volume: new = 0.0147948 old = 0.0147948 change = 0 ratio = 0
Courant Number mean: 0 max: -0 velocity magnitude: 0
deltaT = 0.006
--> FOAM Warning :
From function dlLibraryTable:pen(const dictionary& dict, const word& libsEntry, const TablePtr tablePtr)
in file lnInclude/dlLibraryTableTemplates.C at line 68
library "libsampling.so" did not introduce any new entries

Creating ggi check
Time = 0.006

Initializing the GGI interpolator between master/shadow patches: insideSlider/outsideSlider
Evaluation of GGI weighting factors:


plane normal has got zero length

From function plane:lane(const point&, const vector&)
in file meshes/primitiveShapes/plane/plane.C at line 148.

FOAM aborting

Abgebrochen

I guess the error is a consequence of the bad definition of the axis:
Mixer mesh:
origin: (0 0 0)
axis : (1.51863e-314 2.122e-314 -6.22849e-49)
rpm : 60
Hopefully you are able to help me on this one, thank you!
(I downloaded my release of OpenFOAM 1.5-dev from the svn platform on October 27, 2010)

Bastian
bschnepf is offline   Reply With Quote

Old   October 30, 2010, 07:34
Default addition
  #14
New Member
 
Bastian Schnepf
Join Date: Oct 2010
Posts: 2
Rep Power: 0
bschnepf is on a distinguished road
I realized that there is something wrong with blockMesh, too, since it is not able to create the arc edges of the mesh.
I compiled OpenFOAM 1.5-dev again because I thought the errors were a result of an incorrect compiling process, but the problem stays the same.
The system compiler was used (gcc4.5.0) and the OS is OpenSUSE 11.3.

Thanks in advance!

I attached the log of Allwmake:
Attached Files
File Type: gz make.log.tar.gz (69.2 KB, 1 views)
bschnepf is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Incoherent problem table in hollow-fiber spinning Gianni FLUENT 0 April 5, 2008 10:33
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 19:13
problem with GGI interfaces strider CFX 6 May 29, 2006 14:20
GGI interface problem (CFX-5.7.1) Jesper CFX 3 May 14, 2005 18:06
Is this problem well posed? Thomas P. Abraham Main CFD Forum 5 September 8, 1999 14:52


All times are GMT -4. The time now is 00:10.