CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Error when I try a case with pimple instead of simple solver (http://www.cfd-online.com/Forums/openfoam/118796-error-when-i-try-case-pimple-instead-simple-solver.html)

samiam1000 June 4, 2013 10:55

Error when I try a case with pimple instead of simple solver
 
Dear All,

I have a problem with a transient simulation. Actually, I do have a case with a steady solution and I have calculated it.
I am now trying to calculate the same solution as the limit of the unsteady counterpart.

But as soos as I run
Code:

buoyanPimpleFoam
instead of
Code:

buoyanSimpleFoam
I get this error message:

Code:

lab@lab-laptop:~/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient$ buoyantPimpleFoam
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.1.0-0bc225064152
Exec  : buoyantPimpleFoam
Date  : Jun 04 2013
Time  : 16:30:09
Host  : "lab-laptop"
PID    : 4178
Case  : /home/lab/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient
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 mesh for time = 0


Reading g
Reading thermophysical properties

Selecting thermodynamics package hRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
--> Upgrading k to employ run-time selectable wall functions
    Backup original k to k.old
    Writing updated k
--> Upgrading epsilon to employ run-time selectable wall functions
    Backup original epsilon to epsilon.old
    Writing updated epsilon
--> Creating mut to employ run-time selectable wall functions
    Writing new mut
--> Creating alphat to employ run-time selectable wall functions
    Writing new alphat
kEpsilonCoeffs
{
    Cmu            0.09;
    C1              1.44;
    C2              1.92;
    C3              -0.33;
    sigmak          1;
    sigmaEps        1.3;
    Prt            1;
}

Calculating field g.h

Reading field p_rgh

Creating field dpdt

Creating field kinetic energy K

Courant Number mean: 0 max: 0


--> FOAM FATAL ERROR:
Residual data for p_rgh must be specified as a dictionary

    From function bool Foam::solutionControl::read()
    in file cfdTools/general/solutionControl/solutionControl/solutionControl.C at line 79.

FOAM exiting

lab@lab-laptop:~/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient$

Could you please help?

Thanks a lot,
Samuele

samiam1000 June 4, 2013 11:11

I forgot my fvSolution file. Here it is:

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p_rgh
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance      1e-06;
        relTol          0.01;
    }

    "(U|h|k|epsilon)"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance      1e-05;
        relTol          0.1;
    }

    G
    {
        $p_rgh;
        tolerance      1e-05;
        relTol          0.1;
    }
}

PIMPLE
{
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue      0;

    residualControl
    {
        p_rgh          1e-2;
        U              1e-3;
        h              1e-3;
        G              1e-3;
    }
}

relaxationFactors
{
    fields
    {
        rho            1.0;
        p_rgh          0.7;
    }
    equations
    {
        U              0.2;
        h              0.2;
        "(k|epsilon|R)" 0.5;
        G              0.7;
    }
}


// ************************************************************************* //


Ank June 5, 2013 02:36

Hey

I did not understand the problem completely but you can make a small change in your fvSolution by this
PIMPLE
{
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;

residualControl
{
p_rgh 1e-2;
U 1e-3;
h 1e-3;
G 1e-3;
}
}

replace it by this

PIMPLE
{
momentumPredictor no;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
relaxationFactors
{
p 0.7;
U 0.3;
T 0.5;
k 0.5;
omega 0.5;
nut 0.5;
R 0.5;
nuTilda 0.5;
}


see if it works.

samiam1000 June 5, 2013 02:47

I get this error

Code:

lab@lab-laptop:~/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient$ buoyantPimpleFoam
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.1.0-0bc225064152
Exec  : buoyantPimpleFoam
Date  : Jun 05 2013
Time  : 08:44:24
Host  : "lab-laptop"
PID    : 2367
Case  : /home/lab/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient
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 mesh for time = 0


Reading g
Reading thermophysical properties

Selecting thermodynamics package hRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
    Cmu            0.09;
    C1              1.44;
    C2              1.92;
    C3              -0.33;
    sigmak          1;
    sigmaEps        1.3;
    Prt            1;
}

Calculating field g.h

Reading field p_rgh

Creating field dpdt

Creating field kinetic energy K

Courant Number mean: 0 max: 0

PIMPLE: Operating solver in PISO mode


Starting time loop

Courant Number mean: 0 max: 0
Time = 0.1

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/libc.so.6"
#3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::operator/(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::diagonalSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#7  Foam::fvMatrix<double>::solve() in "/opt/openfoam210/platforms/linux64GccDPOpt/bin/buoyantPimpleFoam"
#8 
 in "/opt/openfoam210/platforms/linux64GccDPOpt/bin/buoyantPimpleFoam"
#9  __libc_start_main in "/lib/libc.so.6"
#10 
 in "/opt/openfoam210/platforms/linux64GccDPOpt/bin/buoyantPimpleFoam"
Floating point exception
lab@lab-laptop:~/Documenti/Ethics/FRISBEE/CFD/testVerticalTN_PCM/NOPCM/pseudoTransient$

It is probably due to the BC. But using the steady solver it works fine and I can not und why.

Ank June 5, 2013 02:52

Can you describe your case a little bit? and the boundary conditions as welll

samiam1000 June 5, 2013 04:16

Sure. I can share it, if you agree. Please, send an email to samuele.zampini@gmail.com and I'll send the case back to you.

jherb July 29, 2013 12:56

residualControl
 
Hi,

I got the same error message as you and was able to fix it by adding this to my fvSolution file:

Code:

    residualControl
    {
        p_rgh         
        {
            relTol          0;
            tolerance      0.0001;
        }
        U
        {
            relTol          0;
            tolerance      0.0001;
        }
        h
        {
            relTol          0;
            tolerance      0.0001;
        }
        // possibly check turbulence fields
        "(k|epsilon|omega)"        {
            relTol          0;
            tolerance      0.0001;
        }
       
    }

I guess that buoyantPimpleFoam expects the residual control information in this way "as a dictionary", i.e. inside braces with the two entries relTol and tolerance (the latter is probably the absolute value of the residual whereas the first one is the change between two time steps). buoyantSimpleFoam does not need the relTol as there are no time steps.

Joachim


Quote:

Originally Posted by samiam1000 (Post 431960)
Code:

buoyantSimpleFoam
I get this error message:

Code:

...

Courant Number mean: 0 max: 0


--> FOAM FATAL ERROR:
Residual data for p_rgh must be specified as a dictionary

    From function bool Foam::solutionControl::read()
    in file cfdTools/general/solutionControl/solutionControl/solutionControl.C at line 79.

FOAM exiting




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