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

reactingFoam crashes mysteriously

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 20, 2011, 08:30
Default reactingFoam crashes mysteriously
  #1
Member
 
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 15
jose_rodrig is on a distinguished road
hi forum,

I am experiencing lots of instability with the solver reactionFoam with parallelization and they are not the janafthermo sort

My domain has around 260 000 elements and was divided in 32 domains for parallelization - divided as (16 2 1) to minimize proc borders. Im using the chemkin reader to read a single step combustion of CH4 oxidation in a GT combustor (diffusion flames). Inlet velocities are between 20 and 50 m/s.

I started fixing Courant No to 0.1. Everything looks good for about thousands of iterations but suddenly it crashes with a floating point exception. I say suddendly because I dont see a change in timestep or even the problematic janafThermo error message.

Also, it never crashes at the same timestep: if I simply restart the solver with the same parameters (no CourantNo change or any other) it will crash in a different timeStep.

It just goes!... as you can see in the following output after decreasing CourantNo to 0.035 (it still crashes!). I also attached a txt with the complete error message. Bellow the output i also posted the fvSolution and fvSchemes so you can take and criticize.

Thank you

José

[...]
DILUPBiCG: Solving for epsilon, Initial residual = 4.32044e-06, Final residual = 9.94436e-09, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1.74131e-06, Final residual = 3.09184e-09, No Iterations 1
ExecutionTime = 161537 s ClockTime = 164174 s

Courant Number mean: 0.00125684 max: 0.0349221
deltaT = 3.80307e-07
Time = 0.3549768

Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for Ux, Initial residual = 1.19096e-05, Final residual = 6.46123e-09, No Iterations 1
[24] #0 Foam::error:rintStack(Foam::Ostream&)[25] #0 Foam::error:rintStack(Foam::Ostream&)[26] #0 Foam::error:rintStack(Foam::Ostream&)[27] #0
[...]


fvSolution

solvers
{
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
p
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.0;
}
pFinal
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.0;
}

"(U|Yi|hs|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
}

PISO
{
nCorrectors 3;
nNonOrthogonalCorrectors 6;
}
relaxationFactors
{
rho 0.6;
U 0.6;
pFinal 0.4;
p 0.4;
k 0.6;
epsilon 0.6;
hs 0.6;
T 0.6;
}

fvSchemes

ddtSchemes
{
default Euler; //CrankNicholson 1; //Euler;
}

gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}

divSchemes
{
default none;

div(phi,U) Gauss limitedLinearV 1;
div(phi,Yi_h) Gauss limitedLinear01 1;
div(phi,hs) Gauss limitedLinear 1;
div(phiU,p) Gauss limitedLinear 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div((muEff*dev2(grad(U).T()))) Gauss linear;
}

laplacianSchemes
{
default Gauss linear uncorrected;
laplacian(muEff,U) Gauss linear uncorrected;
laplacian(mut,U) Gauss linear uncorrected;
laplacian(DkEff,k) Gauss linear uncorrected;
laplacian(DepsilonEff,epsilon) Gauss linear uncorrected;
laplacian((rho*(1|A(U))),p) Gauss linear uncorrected;
laplacian(alphaEff,hs) Gauss linear uncorrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default uncorrected;
}

fluxRequired
{
default no;
p;
}
jose_rodrig is offline   Reply With Quote

Old   March 20, 2011, 09:01
Default error log
  #2
Member
 
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 15
jose_rodrig is on a distinguished road
sorry, forgot the attachment
Attached Files
File Type: txt errorlog.txt (40.9 KB, 40 views)
jose_rodrig is offline   Reply With Quote

Old   March 21, 2011, 03:52
Default
  #3
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hi,

does it always crash on the same equation, namely Uy?

I have a similar problem with another solver, if I use PBiCG solvers with DILU preconditioner. You might want to try with another type of linear solver for that equation to verify if it still happens.

Best,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   March 21, 2011, 04:52
Default
  #4
Member
 
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 15
jose_rodrig is on a distinguished road
Hi alberto,

No, it crashes pretty randomly.

Actually, my simulation crashes in two ways:

a) mpi sends a message of "floating point exception" error (signal 8);

b) mpi sends a message of "Hang Up" (signal 1)

Are these 2 types of error related?

A workmate told me that openFoam sometimes hangs on opensuse (i am using 11.4): do you think this might be the problem?
jose_rodrig is offline   Reply With Quote

Old   March 21, 2011, 05:05
Default
  #5
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Quote:
Originally Posted by jose_rodrig View Post
Hi alberto,

No, it crashes pretty randomly.

Actually, my simulation crashes in two ways:

a) mpi sends a message of "floating point exception" error (signal 8);

b) mpi sends a message of "Hang Up" (signal 1)

Are these 2 types of error related?

A workmate told me that openFoam sometimes hangs on opensuse (i am using 11.4): do you think this might be the problem?
I am using the same distribution, but I use openMPI from the ThirdParty package, even though I use the system gcc compiler (4.5), so I would exclude distro-specific problems. I also observe a similar behaviour on RHEL 5.2.

Out of curiosity, do you use the system OpenMPI, the one in ThirdParty or a different version?

Best,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   March 21, 2011, 05:15
Default
  #6
Member
 
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 15
jose_rodrig is on a distinguished road
hi,

I am using openMPI 1.4.1 from the Third Party package. I've compiled OpenFOAM myself.

regards

jose
jose_rodrig is offline   Reply With Quote

Old   March 21, 2011, 05:35
Default
  #7
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
OK, we are using exactly the same configuration then. I am going to test a different MPI implementation to see if it might depend on that, and I'll let you know.

Maybe you should report it as a bug however. I reported mine, but we believed it was specific to the solver. You just confirmed it is not.

Best,
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   March 21, 2011, 07:32
Default
  #8
Member
 
José Rodrigues
Join Date: Jun 2010
Location: IN+/IST Lisbon
Posts: 53
Rep Power: 15
jose_rodrig is on a distinguished road
Ok, I ll report my problem ASAP.

One more thing, I d like you to take a look in my other post. It is not related to this one but is also turning my head around.

Here is the link http://www.cfd-online.com/Forums/ope...dary-face.html

Regards
jose_rodrig is offline   Reply With Quote

Old   June 26, 2012, 04:42
Default
  #9
Member
 
achinta
Join Date: May 2010
Location: Sydney
Posts: 66
Rep Power: 15
achinta is on a distinguished road
hello reactingFoamers ,
i am new to reactingFoam solver. I am first interested in mixing of gases(without reaction). Some threads suggested reactingFoam (with chemistry switched off). I ran the solver and it crashed after 16 milliseconds. Here is my set-up
------------------------
chemistry properties file
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;

chemistry off; // switch off chemistry

chemistrySolver ode;

initialChemicalTimeStep 1e-07;

sequentialCoeffs
{
cTauChem 0.001;
}

EulerImplicitCoeffs
{
cTauChem 0.05;
equilibriumRateLimiter off;
}

odeCoeffs
{
solver SIBS;
eps 0.05;
scale 1;
}
// ************************************************** *********************** //
Combustion properties file
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel PaSR<psiChemistryCombustionModel>;

active false; //combustion switched off

infinitelyFastChemistryCoeffs
{
C 10.0;
}

PaSRCoeffs
{
Cmix Cmix [ 0 0 0 0 0 0 0 ] 0.1;
turbulentReaction off; //switched off
}
// ************************************************** *********************** //
reactions file
-------------
species
(
O2
H2O
CH4
CO2
N2
);

reactions
{
methaneReaction
{
type irreversibleArrheniusReaction;
reaction "CH4 + 2O2 = CO2 + 2H2O";
A 5.2e16;
beta 0;
Ta 14906;
}
}
-----------------
Thermophysical properties file
----------------------
thermoType hsPsiMixtureThermo<reactingMixture<gasThermoPhysic s>>;

inertSpecie N2;

chemistryReader foamChemistryReader;

foamChemistryFile "$FOAM_CASE/constant/reactions";

foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
--------------------

i am using SST turbulence model. Below are the boundary conditions:
------------
mut and alphat
internalField uniform 0;

boundaryField
{
INLET
{
type fixedValue;
value uniform 0;
}
OUTLET
{
type zeroGradient;
}

mut for walls
type mutUSpaldingWallFunction;
value uniform 0;

alphat for walls
type alphatWallFunction;
Prt 0.85;
value uniform 0;
-----------
T:
internalField uniform 550;

boundaryField
{
INLET_FUEL
{
type fixedValue;
value uniform 293;
}

INLET_AIR
{
type fixedValue;
value uniform 550;
}

OUTLET
{
type zeroGradient;
}

WALL
{
type zeroGradient;
}
-----------------
I don't think there could be problems with boundary conditions of U,CH4,N2,O2,k,omega and Ydefault and i won't write them here as it will lengthen the post.

There error message seems to do something with mut wall function and happens because its diverging-Tempearure is going out of range. But the Courant number is below 1. Probably, i have to improve my fvSchemes and fvSolution
:
----------
fvSchemes
ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss linearUpwindV grad(U);
div(phi,Yi_h) Gauss limitedLinear01 1;
div(phi,h) Gauss limitedLinear 1;
div(phi,K) Gauss limitedLinear 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,omega) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div((muEff*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p;
}
------------
fvSolution
solvers
{
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.05;
}

rhoFinal
{
$rho;
tolerance 1e-06;
relTol 0;
}

p
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.05;
}

pFinal
{
$p;
tolerance 1e-6;
relTol 0.0;
}

"(U|hs||k|omega)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0.05;
}

"(U|hs||k|omega)Final"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}

Yi
{
$hsFinal;
}
}

PIMPLE
{
momentumPredictor no;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 1;
}
-----------------------
I kindly request OpeFOAM experts to help me. I have spent lot of time on this problem. I didn't find many tutorials about reacting foam and i am not able to proceed with my simulation.

Regards,
Achinta
achinta is offline   Reply With Quote

Old   August 4, 2015, 10:18
Default
  #10
Member
 
Zhiyi Li
Join Date: Mar 2015
Location: Germany
Posts: 43
Rep Power: 11
comingdaytime is on a distinguished road
Quote:
Originally Posted by jose_rodrig View Post
hi forum,

I am experiencing lots of instability with the solver reactionFoam with parallelization and they are not the janafthermo sort

My domain has around 260 000 elements and was divided in 32 domains for parallelization - divided as (16 2 1) to minimize proc borders. Im using the chemkin reader to read a single step combustion of CH4 oxidation in a GT combustor (diffusion flames). Inlet velocities are between 20 and 50 m/s.

I started fixing Courant No to 0.1. Everything looks good for about thousands of iterations but suddenly it crashes with a floating point exception. I say suddendly because I dont see a change in timestep or even the problematic janafThermo error message.

Also, it never crashes at the same timestep: if I simply restart the solver with the same parameters (no CourantNo change or any other) it will crash in a different timeStep.

It just goes!... as you can see in the following output after decreasing CourantNo to 0.035 (it still crashes!). I also attached a txt with the complete error message. Bellow the output i also posted the fvSolution and fvSchemes so you can take and criticize.

Thank you

José

[...]
DILUPBiCG: Solving for epsilon, Initial residual = 4.32044e-06, Final residual = 9.94436e-09, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1.74131e-06, Final residual = 3.09184e-09, No Iterations 1
ExecutionTime = 161537 s ClockTime = 164174 s

Courant Number mean: 0.00125684 max: 0.0349221
deltaT = 3.80307e-07
Time = 0.3549768

Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for Ux, Initial residual = 1.19096e-05, Final residual = 6.46123e-09, No Iterations 1
[24] #0 Foam::error:rintStack(Foam::Ostream&)[25] #0 Foam::error:rintStack(Foam::Ostream&)[26] #0 Foam::error:rintStack(Foam::Ostream&)[27] #0
[...]


fvSolution

solvers
{
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
p
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.0;
}
pFinal
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.0;
}

"(U|Yi|hs|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
}

PISO
{
nCorrectors 3;
nNonOrthogonalCorrectors 6;
}
relaxationFactors
{
rho 0.6;
U 0.6;
pFinal 0.4;
p 0.4;
k 0.6;
epsilon 0.6;
hs 0.6;
T 0.6;
}

fvSchemes

ddtSchemes
{
default Euler; //CrankNicholson 1; //Euler;
}

gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}

divSchemes
{
default none;

div(phi,U) Gauss limitedLinearV 1;
div(phi,Yi_h) Gauss limitedLinear01 1;
div(phi,hs) Gauss limitedLinear 1;
div(phiU,p) Gauss limitedLinear 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div((muEff*dev2(grad(U).T()))) Gauss linear;
}

laplacianSchemes
{
default Gauss linear uncorrected;
laplacian(muEff,U) Gauss linear uncorrected;
laplacian(mut,U) Gauss linear uncorrected;
laplacian(DkEff,k) Gauss linear uncorrected;
laplacian(DepsilonEff,epsilon) Gauss linear uncorrected;
laplacian((rho*(1|A(U))),p) Gauss linear uncorrected;
laplacian(alphaEff,hs) Gauss linear uncorrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default uncorrected;
}

fluxRequired
{
default no;
p;
}
Hey,

I saw in your case, fvSolution, you used PISO algorithm. But when I don't define PIMPLE in the fvSolution, there will be an error message. Do you think the PIMPLE keyword is required necessarily?

Thank you

Bes Regard

Litchy
comingdaytime is offline   Reply With Quote

Reply


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
[OpenFOAM] paraFoam crashes with channelFoam example mgdenno ParaView 2 February 5, 2011 07:46
reactingFoam wedge handling wrong U dhondupant OpenFOAM Bugs 1 December 9, 2010 07:34
reactingFoam floating point exception pajofego OpenFOAM 0 November 6, 2010 17:29
reactingFoam - turbulent reacting flow hamburgFoam OpenFOAM 0 December 7, 2009 12:57
Solver crashes only while writing a bak file hagupta CFX 1 April 11, 2006 18:10


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