CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

rhoPimpleFoam Max Iteration Problem

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 8, 2017, 16:23
Default rhoPimpleFoam Max Iteration Problem
  #1
New Member
 
JonathanG
Join Date: May 2017
Posts: 11
Rep Power: 9
JonathanG is on a distinguished road
Hi all,

I'm new to openFoam, and trying to simulate wind over a 3D naca0012 air foil.

The wind velocity is 85 m/s, Ma = 0.25, entering at 15 deg w/o turbulence intensity

I'm using rhoPimpleFoam as the application with LES simulation and WALE as the model.

I'm having 2 issues:

1) My Courant number tends to increase over time
- I've played around with the timestep but it didn't help, the simulation
crashed around 100 iterations despite the changes.
- The same simulation ran well when the velocity was at 0.53 m/s

2) I get an error:
Code:
[51]
[51] --> FOAM FATAL ERROR:
[51] Maximum number of iterations exceeded[15]
[15]
[15]
--> FOAM FATAL ERROR:
[15] Maximum number of iterations exceeded
[15]
[15]    From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar) const) const [with Thermo = Foam::eConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy>]
[15]     in file /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 66.
[15]
FOAM parallel run aborting
[15]
[51]
[51]     From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar) const) const [with Thermo = Foam::eConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy>]
[51]     in file /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 66.
[51]
FOAM parallel run aborting
[51]
[51] #0  Foam::error::printStack(Foam::Ostream&)[15] #0  Foam::error::printStack(Foam::Ostream&) addr2line failed
[51] #1  Foam::error::abort() addr2line failed
[51] #2  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() addr2line failed
[51] #3  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::eConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() addr2line failed
[51] #4  #0?
[51] #5  __libc_start_main  [cp2448:11965] *** Process received signal ***
[cp2448:11965] Signal: Segmentation fault (11)
[cp2448:11965] Signal code: Address not mapped (1)
[cp2448:11965] Failing at address: 0x68d11d0
 addr2line failed
[51] #6  [cp2448:11965] [ 0] /lib64/libc.so.6[0x341e432660]
[cp2448:11965] [ 1] /lib64/libc.so.6[0x341e479c85]
[cp2448:11965] [ 2] /cvmfs/opt.usherbrooke.ca/gcc/5.2.0/lib64/libstdc++.so.6(_Znwm+0x18)[0x2b4c965ce2d8]
[cp2448:11965] [ 3] /cvmfs/opt.usherbrooke.ca/gcc/5.2.0/lib64/libstdc++.so.6(_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_+0x82)[0x2b4c96669062]
[cp2448:11965] [ 4] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam14demangleSymbolEPKc+0xb4)[0x2b4c96156df4]
[cp2448:11965] [ 5] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam5error10printStackERNS_7OstreamE+0x1ab)[0x2b4c961578bb]
?
[cp2448:11965] [ 6] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam7sigSegv10sigHandlerEi+0x30)[0x2b4c9614bff0]
[cp2448:11965] [ 7] /lib64/libc.so.6[0x341e432660]
[cp2448:11965] [ 8] /lib64/libc.so.6(__libc_fork+0x14d)[0x341e4acd5d]
[cp2448:11965] [ 9] /lib64/libc.so.6(_IO_proc_open+0x137)[0x341e4685b7]
[cp2448:11965] [10] /lib64/libc.so.6(popen+0x69)[0x341e4688a9]
[cp2448:11965] [11] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam5pOpenERKNS_6stringEi+0x4f)[0x2b4c96155a1f]
[cp2448:11965] [12] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam22printSourceFileAndLineERNS_7OstreamERKNS_8fileNameEP7Dl_infoPv+0x2ed)[0x2b4c9615602d]
[cp2448:11965] [13] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam5error10printStackERNS_7OstreamE+0x102)[0x2b4c96157812]
[cp2448:11965] [14] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam5error5abortEv+0x121)[0x2b4c95cf0871]
[cp2448:11965] [15] /cvmfs/opt.usherbrooke.ca/OpenFOAM/OpenFOAM-4.0/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZN4Foam11hePsiThermoINS_9psiThermoENS_11pureMixtureINS_14constTransportINS_7species6thermoINS_12eConstThermoINS_10perfectGasINS_6specieEEEEENS_22sensibleInternalEnergyEEEEEEEE9calculateEv+0x633)[0x2b4c91b06c63]
- I've searched around for solutions to this error, modified fvSchemes and
fvSolutions without any luck
- I do not have access to the ThermoI.H file (openFoam 4.0) since I'm
running it off a cluster and do not have permission to increase the max
iterations greater than 100.


I also have the output for the residuals:



Any ideas would be greater appreciated!

-Jonathan

Last edited by JonathanG; July 10, 2017 at 17:29.
JonathanG is offline   Reply With Quote

Old   July 10, 2017, 22:46
Default
  #2
New Member
 
JonathanG
Join Date: May 2017
Posts: 11
Rep Power: 9
JonathanG is on a distinguished road
Anyone have any idea?
JonathanG is offline   Reply With Quote

Old   July 11, 2017, 03:15
Default
  #3
New Member
 
Join Date: Feb 2017
Posts: 4
Rep Power: 9
icab is on a distinguished road
Dear JonathanG,

I am not an expert in compressible flows, I have just some thoughts on your post:

Have you tried limiting the timestep through
Code:
adjustTimeStep  yes;

maxCo           0.5;
in your controlDict?

Did the simulation work with RANS turbulence modelling?

Have you checked your mesh through
Code:
checkMesh
?

Maybe you should try to run the simulation as incompressible in a first step since Ma<0.3 and then switch to a compressible solver if it works.

Kind regards

icab
icab is offline   Reply With Quote

Old   July 11, 2017, 09:10
Default
  #4
New Member
 
JonathanG
Join Date: May 2017
Posts: 11
Rep Power: 9
JonathanG is on a distinguished road
Hi icab,

Thanks for the response. I have tried adding the adjustTimeStep, as well as playing around with the Courant number, increasing it all the way to 10. It stays well below 1 for the first 20 or so iterations and then jumps to 2, then 12, then crashes.

I have not tried the RANS model since the application we are trying to use and compare results for is based on LES.
The LES application did work very well with the incompressible version of the case - which is the exact same case besides the following changes:

1) Velocity changed from 0.53 m/s to 85 m/s (in order to keep the same Re=35,000)

2) Used rhoPimpleFoam in place of pimpleFoam

3) rhoInf (in forceCoeffs) was changed to 1.17, magUInf to 85

I've also played around with fvSchemes and fvSolution which I've included below:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         backward;//Euler;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default                                                none;
    div(phi,U)                                            Gauss LUST grad(U);
    div(phi,e)                                            Gauss LUST grad(e);
    div(phi,K)                                            Gauss limitedLinear .75;
    div(phi,B)                                            Gauss limitedLinear .75;
    div(phi,muTilda)                                  Gauss limitedLinear .75;
    div(B)                                                 Gauss linear;
    div(((rho*nuEff)*dev2(T(grad(U)))))     Gauss linear;
    div(phi,s)                                            bounded Gauss limitedLinear .75;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}
I've read that second order scheme may be the cause of the divergence, so I tried first order which didn't work, and now I'm doing a combination of first and second.

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    "(p|rho)"
    {
        solver                   PCG;
        preconditioner       DIC;
        tolerance              5e-4;
        relTol                    0.1;//Trying increase of relTol from 0.05;
        smoother              DICGaussSeidel;

    }

    "(p|rho)Final"
    {
        $p;
        relTol          0;
    }

//Going to try unique solvers for U

    "(U)"
 {
        solver               PBiCG;
        preconditioner   DILU;
        tolerance          5e-04;
        relTol               0.1;//Trying a high value to see, replace with 0.01 if 0.1 doesn't help
    }

    "(U)Final"
    {
        $U;
        relTol          0;
    }

    "(k|e|nuTilda)"
    {
        solver             smoothSolver;
        smoother        DILU;//symGaussSeidel;
        tolerance        5e-05;
        relTol             0.05;
    }

    "(k|e|nuTilda)Final"
    {
        $k;//changed from U, tried calling any name from the group, since they have the same settings
        relTol          0;
    }

    s
    {
        solver               GAMG;
        preconditioner   DIC;//trying with it now
        tolerance          1e-5;
        relTol               0.05;
        smoother         DILUGaussSeidel;
    }

    "(rho)"
    {
        solver               PCG;
        preconditioner   DIC;
        tolerance          5e-05;
        relTol               0.1;//this is high, change after trial
    }
 "(rho)Final"
    {
        $rho;
        relTol          0.05;//the sample from www.simscale.com foil case had 0.01, leaving it higher as a trial
    }

}

PIMPLE

{
        momentumPredictor       off;//Was yes, but according to site below, its off for low Reynold's number which is 35,000 in this case
        rhoMin                  0.5;//I had a range of 1 to 1.4, but most cases had a range from 0.5 to 2;
        rhoMax                  2;
        nNonOrthogonalCorrectors 1;//0, but according to https://cfd.direct/openfoam/user-guide/fvsolution/ 0 is usually for steday state
        nCorrectors         3; //from 1
        nOuter Correctors   1; //from 10, then 50

}

relaxationFactors
{
   fields
{
        "(p|rho)"       0.3;
        "(p|rho)Final"  1;
        "(U)"           0.3;
        "(U)Final"      1;
}

}
I removed residual control and equations since it seemed that the case crashed sooner with these on.

The s file has no unit (0 0 0 0), which is very odd and I couldn't find any other case with them on, though when iterating, it looks for the s file which works when running, which is boggling since there are no units defined. Any idea why?

I tried checkMesh, it seems ok:
Code:
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           1649280
    faces:            4720600
    internal faces:   4495400
    cells:            1536000
    faces per cell:   6
    boundary patches: 7
    point zones:      0
    face zones:       1
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     1536000
    prisms:        0
    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
    FAM7                6000     6416     ok (non-closed singly connected)
    FAM6                4800     5136     ok (non-closed singly connected)
    FAM13               102400   103080   ok (non-closed singly connected)
    periodic_sh         102400   103080   ok (non-closed singly connected)
    FAM3                6000     6400     ok (non-closed singly connected)
    TOP                 1800     1936     ok (non-closed singly connected)
    BOTTOM              1800     1936     ok (non-closed singly connected)

Checking geometry...
    Overall domain bounding box (-20 -20 -1.49012e-08) (20 20 0.2)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-1.64442e-17 2.57034e-17 -4.21821e-15) OK.
    Max cell openness = 5.43081e-16 OK.
    Max aspect ratio = 826.129 OK.
    Minimum face area = 2.92746e-07. Maximum face area = 0.45742.  Face area magnitudes OK.
    Min volume = 3.90328e-09. Max volume = 0.00609965.  Total volume = 285.638.  Cell volumes OK.
    Mesh non-orthogonality Max: 44.9864 average: 11.3695
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.715806 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
I realize the solution will probably have similar results to the incompressible case since we're at Ma=0.25, and the incompressible did work well, so I'm really not sure what else to change.

Thanks in advance for any more help.

Jonathan
JonathanG is offline   Reply With Quote

Old   July 11, 2017, 10:21
Default
  #5
New Member
 
JonathanG
Join Date: May 2017
Posts: 11
Rep Power: 9
JonathanG is on a distinguished road
I just wanted to clarify that I did put a turbulent inlet (code seen below). I need to mention that I put probes between the inlet and the airfoil to test the wind velocity, and there was barely any difference (order of 0.01-0.03% difference in U) between turbulentInlet and just fixedValue. Seems it dissipates quite quickly, maybe due to the integration method between cells?

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];
internalField   uniform (82.1037 22 0);//15 deg A.O.A. 

boundaryField
{
    FAM7//Inlet
    {
        type                    turbulentInlet;
        referenceField      uniform (82.1037 22 0);
        fluctuationScale   (0.058 0.156 0.00); //(85xcos15 85xsin15 85x0)
        value                  uniform (82.1037 22 0);
  }

    FAM6//Outlet
    {
        type              pressureInletOutletVelocity;
        value             uniform (82.1037 22 0);
        inletValue      uniform (82.1037 22 0);
  }

    periodic_sh//Top
    {
        type            symmetry;
    }

    FAM13//Bottom
    {
        type            symmetry;
    }

    TOP //upper wall
    {
        type            symmetry;
    }

    BOTTOM //lower wall
    {
        type            symmetry;
    }

    FAM3//airFoilFace
    {
        type            noSlip;
    }

}
JonathanG is offline   Reply With Quote

Reply

Tags
divergence of temperature, divergence of velocity, max iterations exceeded, openfoam, rhopimplefoam


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
multiphaseEulerFoam (OF2.3.0) : Courant number explodes when running in parallel Mehrez OpenFOAM Running, Solving & CFD 10 May 18, 2016 12:44
Floating point exception error lpz_michele OpenFOAM Running, Solving & CFD 53 October 19, 2015 03:50
[ICEM] Max Element Problem a.sarami ANSYS Meshing & Geometry 0 December 12, 2013 10:41
Force can not converge colopolo CFX 13 October 4, 2011 23:03
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 bookie56 OpenFOAM Installation 8 August 13, 2011 05:03


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