View Issue Details

IDProjectCategoryView StatusLast Update
0000574OpenFOAMBugpublic2013-02-12 09:25
Reporteruser466Assigned Touser2 
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSUbuntuOS Version10.04
Summary0000574: sprayFoam aachenBomb case problem when chemistry & combustion are turned on
DescriptionIn the sprayFoam/aachenBomb testcase, I turned on chemistry (in constant/chemistryProperties, I set "chemistry on;"), and I turned on combustion (in constant/combustionProperties, I set "active true;"), and ran the case on 24 cores (Dell R815, 48 cores AMD Opteron 6176). I left everything else the same as in the original tutorial (which runs fine without chemistry "on" and combustion "active true"), and I get an error that says the "maximum number of iterations exceeded" from "specieThermoI.H" (see attached log file).
Additional Information1) sprayFoam/aachenBomb runs fine as original tutorial case
2) sprayFoam/aachenBomb runs fine when I only turn on chemistry
3) sprayFoam/aachenBomb experiences "FOAM FATAL ERROR" when I turn on chemistry and combustion.
TagsNo tags attached.

Activities

user466

2012-07-06 17:51

 

log.run (12,621 bytes)   
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.1.1-221db2718bbb
Exec   : sprayFoam -parallel
Date   : Jul 06 2012
Time   : 09:35:01
Host   : "dsm2ap01"
PID    : 8755
Case   : /home/peob/work/tutorials_2.1.1/sprayFoam/aachenBomb_rxn
nProcs : 24
Slaves : 
23
(
"dsm2ap01.8756"
"dsm2ap01.8757"
"dsm2ap01.8758"
"dsm2ap01.8759"
"dsm2ap01.8760"
"dsm2ap01.8761"
"dsm2ap01.8762"
"dsm2ap01.8763"
"dsm2ap01.8764"
"dsm2ap01.8765"
"dsm2ap01.8766"
"dsm2ap01.8767"
"dsm2ap01.8768"
"dsm2ap01.8769"
"dsm2ap01.8770"
"dsm2ap01.8771"
"dsm2ap01.8772"
"dsm2ap01.8773"
"dsm2ap01.8774"
"dsm2ap01.8775"
"dsm2ap01.8776"
"dsm2ap01.8777"
"dsm2ap01.8778"
)

Pstream initialized with:
    floatTransfer     : 0
    nProcsSimpleSum   : 0
    commsType         : nonBlocking
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
Creating combustion model

Selecting combustion model PaSR<psiChemistryCombustionModel>
Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistryReader chemkinReader
ODEChemistryModel: Number of species = 5 and reactions = 1
Selecting ODE solver SIBS
Creating component thermo properties:
    multi-component carrier - 5 species
    liquids - 1 components
    solids - 0 components

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;
}

Creating field dpdt

Creating field kinetic energy K


Constructing reacting cloud
Constructing particle forces
    Selecting particle force sphereDrag
Constructing cloud functions
    none
Selecting dispersion model none
Selecting injection model coneNozzleInjection
    Constructing 3-D injection
Selecting distribution model RosinRammler
Selecting patch interaction model standardWallInteraction
Selecting surface film model none
Selecting U integration scheme Euler
Selecting heat transfer model RanzMarshall
Selecting T integration scheme analytical
Selecting composition model singlePhaseMixture
Selecting phase change model liquidEvaporationBoil
Participating liquid species:
    C7H16
Selecting AtomizationModel none
Selecting BreakupModel ReitzDiwakar
Selecting StochasticCollisionModel none
Average parcel mass: 2.4e-10
Selecting radiationModel none
Courant Number mean: 0 max: 0

PIMPLE: Operating solver in PISO mode


Starting time loop

Courant Number mean: 0 max: 0
deltaT = 2.94118e-06
Time = 2.94118e-06


Solving cloud sprayCloud

--> Cloud: sprayCloud
    Added 58 new parcels

Cloud: sprayCloud
    Current number of parcels       = 58
    Current mass in system          = 6.86832e-10
    Linear momentum                 = (2.48554e-11 -9.24816e-09 7.76549e-11)
   |Linear momentum|                = 9.24852e-09
    Linear kinetic energy           = 7.11574e-08
    Rotational kinetic energy       = 0
    Total number of parcels added   = 58
    Total mass introduced           = 6.86839e-10
    Parcel fate (number, mass)
      - escape                      = 0, 0
      - stick                       = 0, 0
    Mass transfer phase change      = 8.6095e-15
    D10, D32, Dmax (mu)             = 69.0532, 93.5336, 144.356
    Liquid penetration 95% mass (m) = 6.42925e-05

diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for Ux, Initial residual = 1, Final residual = 1.04276e-07, No Iterations 3
DILUPBiCG:  Solving for Uy, Initial residual = 1, Final residual = 2.33715e-07, No Iterations 3
DILUPBiCG:  Solving for Uz, Initial residual = 1, Final residual = 1.04277e-07, No Iterations 3
DILUPBiCG:  Solving for C7H16, Initial residual = 1, Final residual = 1.04306e-07, No Iterations 3
DILUPBiCG:  Solving for O2, Initial residual = 0.9835, Final residual = 1.02585e-07, No Iterations 3
DILUPBiCG:  Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for hs, Initial residual = 0.99995, Final residual = 1.04674e-07, No Iterations 3
T gas min/max   = 799.765, 800
DICPCG:  Solving for p, Initial residual = 0.999999, Final residual = 0.0693854, No Iterations 8
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.66722e-10, global = -1.03973e-10, cumulative = -1.03973e-10
DICPCG:  Solving for p, Initial residual = 0.0346337, Final residual = 7.32576e-07, No Iterations 21
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.24573e-14, global = -1.64591e-15, cumulative = -1.03974e-10
DILUPBiCG:  Solving for epsilon, Initial residual = 0.00242078, Final residual = 3.51685e-06, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 1, Final residual = 5.87404e-06, No Iterations 2
ExecutionTime = 0.92 s  ClockTime = 1 s

Courant Number mean: 9.34521e-08 max: 0.000139867
deltaT = 3.36134e-06
Time = 6.30252e-06

.
.
.
.
.
.
.
(NOTE:  I DELETED MOST OF THE INTERMEDIATE STEPS TO MAKE THE FILE SIZE SMALLER)
.
.
.
.
.
.


Solving cloud sprayCloud

--> Cloud: sprayCloud
    Added 9 new parcels

Cloud: sprayCloud
    Current number of parcels       = 2512
    Current mass in system          = 4.5257e-07
    Linear momentum                 = (-3.62853e-08 -6.04167e-05 5.75495e-10)
   |Linear momentum|                = 6.04168e-05
    Linear kinetic energy           = 0.00472221
    Rotational kinetic energy       = 0
    Total number of parcels added   = 14451
    Total mass introduced           = 4.25925e-06
    Parcel fate (number, mass)
      - escape                      = 0, 0
      - stick                       = 0, 0
    Mass transfer phase change      = 3.80669e-06
    D10, D32, Dmax (mu)             = 7.05662, 11.732, 146.219
    Liquid penetration 95% mass (m) = 2108.58

diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for Ux, Initial residual = 0.00228699, Final residual = 1.99739e-06, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.00160603, Final residual = 4.56858e-08, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.00228671, Final residual = 2.78688e-06, No Iterations 1
DILUPBiCG:  Solving for C7H16, Initial residual = 0.000535041, Final residual = 2.22015e-06, No Iterations 1
DILUPBiCG:  Solving for O2, Initial residual = 0.000710123, Final residual = 2.48565e-06, No Iterations 1
DILUPBiCG:  Solving for CO2, Initial residual = 0.00104135, Final residual = 3.0479e-06, No Iterations 1
DILUPBiCG:  Solving for H2O, Initial residual = 0.00104135, Final residual = 3.0479e-06, No Iterations 1
DILUPBiCG:  Solving for hs, Initial residual = 0.00155452, Final residual = 4.42337e-06, No Iterations 1
T gas min/max   = 529.491, 1387.92
DICPCG:  Solving for p, Initial residual = 0.0113015, Final residual = 0.000394949, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.08031e-06, global = 2.4072e-07, cumulative = 0.000136469
DICPCG:  Solving for p, Initial residual = 0.000393502, Final residual = 6.22282e-07, No Iterations 3
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 3.28724e-09, global = -2.52462e-09, cumulative = 0.000136467
DILUPBiCG:  Solving for epsilon, Initial residual = 0.000395722, Final residual = 2.2906e-06, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 0.000419593, Final residual = 1.99461e-06, No Iterations 1
ExecutionTime = 939.07 s  ClockTime = 940 s

Courant Number mean: 0.00236007 max: 0.0997891
deltaT = 4.62011e-07
Time = 0.000769507


Solving cloud sprayCloud

--> Cloud: sprayCloud
    Added 9 new parcels

Cloud: sprayCloud
    Current number of parcels       = 2511
    Current mass in system          = 4.52666e-07
    Linear momentum                 = (-3.48275e-08 -6.04123e-05 4.48584e-09)
   |Linear momentum|                = 6.04123e-05
    Linear kinetic energy           = 0.00472044
    Rotational kinetic energy       = 0
    Total number of parcels added   = 14460
    Total mass introduced           = 4.26138e-06
    Parcel fate (number, mass)
      - escape                      = 0, 0
      - stick                       = 0, 0
    Mass transfer phase change      = 3.80872e-06
    D10, D32, Dmax (mu)             = 7.0799, 11.73, 144.133
    Liquid penetration 95% mass (m) = 2.27195

diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for Ux, Initial residual = 0.00227911, Final residual = 1.92589e-06, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.00160885, Final residual = 4.67677e-08, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.00228081, Final residual = 2.7862e-06, No Iterations 1
[19] 
[19] 
[19] --> FOAM FATAL ERROR: 
[19] Maximum number of iterations exceeded
[19] 
[19]     From function specieThermo<Thermo>::T(scalar f, scalar T0, scalar (specieThermo<Thermo>::*F)(const scalar) const, scalar (specieThermo<Thermo>::*dFdT)(const scalar) const) const
[19]     in file /opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 69.
[19] 
FOAM parallel run aborting
[19] 
[19] #0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[19] #1  Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[19] #2  Foam::ODEChemistryModel<Foam::psiChemistryModel, Foam::sutherlandTransport<Foam::specieThermo<Foam::janafThermo<Foam::perfectGas> > > >::solve(double, double) in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libchemistryModel.so"
[19] #3  Foam::combustionModels::PaSR<Foam::combustionModels::psiChemistryCombustionModel>::correct() in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libcombustionModels.so"
[19] #4  
[19]  in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/sprayFoam"
[19] #5  __libc_start_main in "/lib/libc.so.6"
[19] #6  
[19]  in "/opt/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/sprayFoam"
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 19 in communicator MPI_COMM_WORLD 
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun has exited due to process rank 19 with PID 8774 on
node dsm2ap01 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
log.run (12,621 bytes)   

nogenmyr

2012-08-24 06:41

reporter   ~0001622

This post might clarify: http://www.cfd-online.com/Forums/openfoam-bugs/104318-sprayfoam-aachenbomb-fatal-error-when-running-combustion.html#post378328

nogenmyr

2012-10-29 06:35

reporter   ~0001756

It was elaborated further in the post and the issue seems to boil down to the fact that Janaf thermo for a mixture may use Tcommon from one of the mixture's components Tcommon (see operators in janafThermoI.H). This does not in general work, as you may get H(T) and, worse, Cp(T) as the figures show in the thrid post in the thread. Of course the enthalpy inversion becomes hard for the solver, given such data. In this case the crash is good as the solution is clearly flawed. It would be good if janaf refused to accept unequal Tcommon (and not only crash upon this in debug mode). If the code should really accept different Tcommons, a polynomial refit should maybe be done at start (http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html). I'd guess such a refit cannot be too computationally demanding. The choice of a common Tcommon may be tricky, as janaf do not know which specie will be added next. Maybe for starters, janaf should use the first specie's Tcommon, and when you try to add a specie with another Tcommon, a refit is done.

This is also elaborated upon in http://www.openfoam.org/mantisbt/view.php?id=327

user2

2013-02-12 09:25

  ~0001907

This has been corrected for the next major release

Issue History

Date Modified Username Field Change
2012-07-06 17:51 user466 New Issue
2012-07-06 17:51 user466 File Added: log.run
2012-07-18 09:47 user2 Priority high => low
2012-07-18 09:47 user2 Severity major => minor
2012-08-24 06:41 nogenmyr Note Added: 0001622
2012-10-29 06:35 nogenmyr Note Added: 0001756
2013-02-12 09:25 user2 Note Added: 0001907
2013-02-12 09:25 user2 Status new => resolved
2013-02-12 09:25 user2 Resolution open => fixed
2013-02-12 09:25 user2 Assigned To => user2