CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   full mechanism don't combust in openfoam (

conceptone January 24, 2013 23:33

full mechanism don't combust in openfoam
1 Attachment(s)
Hi everyone, I am doing LES combustion spray in openfoam. I tried one global reaction for combustion, which works OK. But when I try full mechanism reactions, it nearly doesn't burn or burn very slow(the highest T is like only 1200K). I tried heptane and dodecane, both meet this problem. The mechanism of heptane is from the openfoam wiki tutorial case. I attached one heat release rate plot for dodecane case. I wonder is there any other extra set for using full mechanism? Because when I run one global reaction, it burns normally. Any hinit about this problem? Or you can tell me how to check the mechanism that is read by openFoam.

Another problem I got is how to simulate like use dodecane for calculating liquid properties while use heptane for reaction mechanism. I know this can be done in Kiva, so I guess it also can be done in openfoam.


Case setup : T = 900[k], p = 5.92[MPa], Ignition Delay = 0.44[ms], O2 = 15.00; N2 = 75.15; CO2 = 6.22; H2O = 3.62, fuel: dodecane;

Likun February 10, 2013 10:17

Hi conceptone, hope you have solved your problem. I also would like to do some LES simulation on spray combustion using OpenFoam. But I totally have no idea, if OpenFoam can be readily used to simulate spray combustion or not? Do I need to develop my own code?


conceptone February 10, 2013 15:19

Hi, I don't solve this problem yet...But we can keep sharing if any progress

sushant February 11, 2013 12:06

2 Attachment(s)
I am seeing the same behaviour with n-heptane combustion using the 44-species Pitsch et al. mechanism [1] in that the temperature never exceeds 1200 K. For the same case if I switch to a 159-species mechanism [2] a temperature in the right range is predicted, as is the case with the 544-species mechanism that comes with the OpenFOAM tutorial.

By the way you can quickly test various mechanisms using the chemFoam solver instead of doing it on a mesh.

An attached plot shows the temperature evolution in time, using a one-step reaction mechanism and the three other mechanisms referred to above. Additionally I also threw in the curve for chemFoam's 544-species mechanism evaluated by SENKIN, this data of course comes from the chemFoam/nc7h16/validation folder. Check this solver and the corresponding tutorial.

Does anyone have ideas on what is going wrong or how to diagnose this behaviour?


[1] Comb. Flame 137, pp. 320-339, 2004;
files at
(the therm.dat file in the URL above is missing an END at the end)

[2] Proceedings of the Combustion Institute 28, p. 2029-2037, 2000;
files at

conceptone February 12, 2013 16:45

2 Attachment(s)
Hi sushant,
Thanks for discussing. I wanna share one plot run by chemFoam, compared with the result by chemkin software. The result matches good, which may demonstrate the chemisty part in openfoam is good.

One thing I wanna make sure is that for the first plot you post, what solver do you use? Is it chemFoam or sprayFoam?
And what version of openfoam are you using?

sushant February 13, 2013 10:06

Hi, it's all chemFoam on 2.1.x so far.

sushant February 14, 2013 05:45


In case of the H2 tutorial (chemFoam 2.1.x) the predicted temperature is much lower than SENKIN data. Has anyone been able to get it working correctly?

conceptone February 14, 2013 14:06

Hi sushant, one thing important here I found is you got to set the Tcommon the same, you can try this.
And you can refer to the post

sushant February 14, 2013 14:30


The Tcommon value is the same for all species in the 44-specie mechanism I am using (or rather would like to use).

In the 159-species mechanism Tcommon is vastly different for many species. Even Tmin and Tmax are different for some species. This mechanism works flawlessly and the results are also good for the first few ms of the sandia bomb, but I simply cannot afford the computational time it requires.

sushant February 23, 2013 12:00

This problem is fixed by modifying the file src/thermophysicalModels/specie/thermo/specieThermo/specieThermoI.H, and replacing the definition of K(T) with


template<class Thermo>
inline Foam::scalar Foam::specieThermo<Thermo>::K(const scalar T) const
    scalar arg = -this->nMoles()*this->g(T)/(this->RR*T);

    if (arg < 600.0)
        return ::exp(arg);
        return VGREAT;

(Recompile libspecie; on OS X I need to wclean first, YMMV)

For more info see:

This results from using a 2.1.x from before 01.11.2012 which hasn't been updated thereafter. Doing a

git pull
and recompiling will fix this without the need for the above manual step.

Thanks to: Tommaso Lucchini

conceptone February 23, 2013 13:46

Good detection,buddy!
Also, I found if you meet any crashing problem like
[3] #3 Foam::ODEChemistryModel<Foam::psiChemistryModel, Foam::sutherlandTransport<Foam::specieThermo<Foam: :janafThermo<Foam::perfectGas> > > >::omega(Foam::Reaction<Foam::sutherlandTransport< Foam::specieThermo<Foam::janafThermo<Foam::perfect Gas> > > > const&, Foam::Field<double> const&, double, double, double&, double&, int&, double&, double&, int&) const at sigaction.c:0
[0] #3 Foam::ODEChemistryModel<Foam::psiChemistryModel, Foam::sutherlandTransport<Foam::specieThermo<Foam: :janafThermo<Foam::perfectGas> > > >::omega(Foam::Reaction<Foam::sutherlandTransport< Foam::specieThermo<Foam::janafThermo<Foam::perfect Gas> > > > const&, Foam::Field<double> const&, double, double, double&, double&, int&, double&, double&, int&) const in in "/usr"/usr/er/erc/people/lc/people/liaoiao23/OpenFOAM/li23/OpenFOao23-2.1.1AM/liao23-2./platforms1.1/platform/linux64Gcc44DPOpts/lin/lib/"/lib/
(basically the omega function in chemistryModel class)
you can adjust the "eps" parameter in chemistyProperties dict to a smaller value,this would solve the problem.

conceptone February 25, 2013 14:13

Hi sushant, I am not sure why the nmoles is a problem mentioned in the post, though when the nmoles can be a very small number, the exp(-small) still approaches 1(essentially 1) as the exp is continous function.

RJ87 September 9, 2013 01:12

Hi Foamer,

May I know how do you guys set boundary condition for liquid n-heptane. Did you guys kept it to density of 1000 and specific heat of 4187? Or you guys have change it according to the respective n-heptane density of approx 684 and specific heat of 2465?

Because the spray behaviour with new parameters does not look correct to me. =(

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