CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Combustion (http://www.cfd-online.com/Forums/openfoam-solving/57815-combustion.html)

Chalothon Thumthae (Thumthae) February 3, 2004 23:46

Hello, I try to model non-pr
 
Hello,
I try to model non-premix combustion in SI engine(inject gaseous fuel into cylinder and ignite it) . Fist I use kivaTest in the tutorial, it have many parameters that I don't know such as Xi,Su,sigmaExt and ...... .
What kind of this combustion model? As I ever model combustion with finnite rate/ eddy breakup, the input parameter is quite different from Foam model. How can I find theory and laterature of Foam combustion model?

Help me please.
Thank
Torn.

Henry Weller (Henry) February 4, 2004 06:37

Currently the FOAM premixed/pa
 
Currently the FOAM premixed/partially-premixed combustion codes are supplied with the Weller flamelet combustion model. This was originally developed by me while I was at Imperial College and the first report I wrote on it is available from
ftp://monet.me.ic.ac.uk/pub/papers/TF9307.ps.gz However I have developed and expended the model significantly since then and the latest implementation in FOAM is a a form I originally developed for LES http://monet.me.ic.ac.uk/publications/abstracts.html#Welleretal:1998
from which I redeveloped a RANS version. There is also a second publication on the final model in the proceedings of the 28th Combustion Symposium.

If you have trouble finding either of these papers let me know and I will dig them out for you.

Tommaso Lucchini (Lucchini) March 7, 2005 05:29

Hi Henry, I am using OpenFo
 
Hi Henry,
I am using OpenFoam to predict combustion in spark-ignition engines. I always have an overestimation of the heat release rate in the first part of the combustion process compared with the experimental one.
I am using the b-Xi combustion model with Xi calculated.
I found on a Comodia Paper, called "Validation of SI Combustion Model over Range of Speed, Load, Equivalence Ratio and Spark timing", that the value of Xi at equilibrium condition is calculated differently from how it is calculated in the bEqn.H.
In fact it contains some extra stuff, like the stretch factor I0, the effetct of laminar flame propagation, turbulence and lenght scale effects when the flame radius is small.
Is this implementation very much different from the OpenFoam one, and more suitable for engine spark-ignition combustion?
If so, which value for the stretch factor?
How to calculate the flame radius? could it be the distance from the ignition point and the farthest point in the flame with b minor than a certain value?
Which value for tOG? I found 1.5 ms, is it ok?
Thanks a lot. wishes.
tommaso

Henry Weller (Henry) March 7, 2005 07:47

"with Xi calculated" using wh
 
"with Xi calculated" using which method?

> Is this implementation very much different from the OpenFoam one

Yes

> and more suitable for engine spark-ignition combustion?

No, that model is a simplified 2-eqn model using a turbulent flame speed correlation fitted to engine data but has been superseded by the model presented at the 27th symposium.

> If so, which value for the stretch factor?

It depends on the fuel, stoichiometry etc. but for engines it's not usually important so set the
SuModel to unstrained.

> How to calculate the flame radius?

What do you need it for? The flame is not necessarly spherical. Wouldn't calculating the flame volume be more useful to you?

What is tOG?

Tommaso Lucchini (Lucchini) March 7, 2005 08:21

Hi, Xi is calculated at the
 
Hi,
Xi is calculated at the equilibrium conditions. (I wanted to write "algebraic" and not calculated... sorry).
So I am using the one-equation model.
tOG is a constant which is used in the eq. number (3) of the comodia 1998 paper.
thanks
tommaso

Henry Weller (Henry) March 7, 2005 08:26

> Xi is calculated at the equ
 
> Xi is calculated at the equilibrium conditions.

That explains your problem of the flame being too fast initially; it's because you are assuming the wrinkling is in equilibrium when it really takes time to develop. Try the transport option, that allows the wrinkling to develop in space and time appropriately for your case.

The model in XiFoam etc. is not based on the model in comodia 1998 and does not have an equivalent of tOG.

lucchini March 9, 2005 04:17

Hi, It seems to me that the i
 
Hi,
It seems to me that the ignition model influences very much all the combustion process.
If, after the igntion duration, the ignition cells have b major than zero, that b value will become the minimum value for b in all the cells.
So, in my opinion, it is not really possible to describe really the flame kernel development with only the 2 equation model.
Maybe, adding a source term in the bEqn.H that takes account of the kernel development, could it be better?
any suggestions?
thanks a lot. wishes.
ciao
tommaso

henry March 9, 2005 04:46

It is VERY important with the
 
It is VERY important with the b-Xi model to ensure that b -> 0 and remains 0 in the ignition region otherwise the minimum b in the field will remain this value. Currently this is done by appropriate choice of the ignition paramerters. This is currently done by trial-and-error.

The ignition model is already introduced as a sink-term in the bEqn.H with correction on the local flame speed corresponding to the bad resolution of the flame kernel in that region (StCorr.H). If you have a better idea for modelling ignition in the b-Xi model I am very interested to hear your thoughts.

sathiah March 11, 2005 10:09

Why is the value of uPrimeCoef
 
Why is the value of uPrimeCoef =2 in tutorial case of XiFoam and Xoodles.
I think it should be equal to 1

henry March 11, 2005 10:22

Yes it should be 1 for all cas
 
Yes it should be 1 for all cases for which the mesh is fine enough to produce good predictions for the turbulence properties and should certainly be 1 for all LES cases but I am not so sure about the XiFoam tutorial case.

henry March 11, 2005 10:29

Also the default should be set
 
Also the default should be set to 1 in the FoamX defaults files:

applications/combustion/Xoodles/defaults/combustionProperties.def
applications/combustion/XiFoam/defaults/combustionProperties.def
applications/combustion/engineFoam/defaults/combustionProperties.def

lucchini March 11, 2005 10:58

Hi, I was running the kivaTe
 
Hi,
I was running the kivaTest tutorial case on the 1.0.2 version (I haven't updated to the 1.1 yet), but it doesn't work. It crashes at about -9 CAD before the top death center because a temperature lower than 298 K was found.
I guess if it could be because of the boundary condition on temperature (T and Tu), which is fixed for the liner, piston, and cylinderHead.
This tutorial was working on the 2.2 version of the "old" foam....
I tried it with different values for the maximum Courant Number but nothing really changed.
Any suggestion please?
thanks a lot. wishes
ciao
tommaso

sathiah March 12, 2005 05:25

When I run XiFoam in my case I
 
When I run XiFoam in my case I get this error

FOAM FATAL ERROR : attempt to use janafThermo<equationofstate> out of temperature range 200 -> 5000; T = 193.577

Function: janafThermo<equationofstate>::checkT(const scalar T) const
in file: /users/tfd/pratap/OpenFOAM/OpenFOAM-1.0.2/src/thermophysicalModels/specie/lnIncl ude/janafThermoI.H at line: 73.

FOAM aborting

I increased the ignition time and ignition diameter, but of no use.
Pratap

henry March 13, 2005 06:20

Tommaso, I ran the kivaTest
 
Tommaso,

I ran the kivaTest tutorial over night and it ran correctly to completion: -180 to 60. How did you perform the run? Did you use the Allrun script or run the equivalent sequence of events?

lucchini March 13, 2005 14:30

I didn't use the Allrun script
 
I didn't use the Allrun script.
Firstly I converted the mesh with the kivaToFoam application. Then I ran the compression using the controlDict.1st file, and then the combustion with the controlDict.2nd.

henry March 13, 2005 14:42

That is what the Allrun script
 
That is what the Allrun script does anyway so it should have worked but try the script anyway just in case because as I say it works fine for me.

lucchini March 15, 2005 05:08

Hi. I have a question about t
 
Hi.
I have a question about the transport equation of Xi. Why is it solved only after the ignition and not before?
Should Xi be something related to the conditions for the flame propagation?
Thanks.
ciao
tommaso

henry March 15, 2005 05:22

The Xi transport MUST be consi
 
The Xi transport MUST be consistent with the b transport and because the latter is implicit it can only be evaluated for the Xi equation after the b equation is solved. Consequently the Xi value used in the b equation is lagged but this isn't an issue if your time-step is sufficiently small. If you would like to check this hypothesis try iterating over bEqn.H a few times to see if it affects your results significantly.

thumthae March 16, 2005 23:30

Hi Tommaso, I also used en
 
Hi Tommaso,

I also used engineFoam and got same problem like as you, kivaTest is not complete run.

the solution diverge with the temperature out of range (lower than 200 K). I also try to run with other mash, and it was the same.

the solution diverge after combustion reach to the wall. I guess it have problem at the wall, so I try to changed boundary condition at wall to wall function at "line" and "cylinderHead" at the piston I changed to movingWallAdiabatic, then it work. I guess the problem probably at the wall.

Henry,
I try run kivaTest with Allrun scrit, yes it work.
However after I check solution, the combustion does not occur. the combustion reach only about 1e-12 percent.

this problem occur since OpenFOAM1.0.x version. in Foam2.2 it can run completely.

I see some changed in the code at pEqu difference from the older version, but I don't know Is it concern or not.

Torn

henry March 17, 2005 04:59

You are quite right, the kivaT
 
You are quite right, the kivaTest case fails to ignite. The problem appears to be with the location of the ignition point which I think is slightly outside the domain and with the new parallelised ignition cell finding routine no ignition cells are found whereas they were before. I will investigate and post a fix.


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