Extinction strain rates (Counterflow non-premixed flame)

1,028 views
Skip to first unread message

Parth shah

unread,
Oct 29, 2012, 5:26:49 AM10/29/12
to Cantera User's Group
Hello,

I was wondering how to compute the extinction strain rate in the
counterflow non-premixed flame problem (Matlab module). I am trying to
compute the extinction strain rates for propane-air flames at
different pressures. What I was doing until now was increasing the
mass flux hence the strain rates of fuel and air and then measuring
the corresponding flame temperature and the strain rate at which the
flame temperature would be more or less equal to the initial or the
ambient temperature would be my extinction strain rate.
But when I increased the resolution on the initial grid and also
changed the refine criteria I am getting a flame even at the strain
rate when earlier it would not give me a flame. How is this possible?
Is there a better way to find the extinction strain rate? (I couldn't
find any function that would do that)

Any help would be appreciated!

Thanks a lot!

Parth Shah

Ray Speth

unread,
Oct 30, 2012, 12:11:16 PM10/30/12
to canter...@googlegroups.com
Parth,

There is no built-in function for calculating the extinction strain rate in Cantera. I think gradually increasing the mass flux until you blow out the flame is the correct approach for finding the extinction strain rate using Cantera's flame solver. What you should do, though, is use the refined solution from the lower strain rate case as the initial condition for the next step up in mass flow rate. As you approach the extinction strain rate, the initial condition of a stable flame at a lower strain rate is more likely to converge to the non-extinguished solution (if it exists) than the guessed profiles on a coarse initial grid. Several of the 1D flame examples show how to restart a simulation from an existing set of profiles, so that should give you a good starting point.

Regards,
Ray

Parth shah

unread,
Oct 30, 2012, 12:59:59 PM10/30/12
to Cantera User's Group
Hi Ray,

Thank you for your input. Do you mean the 'restore' function to use
the previous solution?

Parth Shah

Ray Speth

unread,
Oct 30, 2012, 5:02:26 PM10/30/12
to canter...@googlegroups.com
Parth,

You don't even need to use the "restore" function. You can just change properties of the solver and flow objects between calls to "solve". I made some modifications to the npflame1.py example that seem to work reasonably well. Just replace everything after "f.set(energy='on')" with the following:

for i in range(20):
    try:
        f.solve(1)
    except Exception as e:
        print e

    # write the velocity, temperature, and mole fractions to a CSV file                                                                              
    z = f.flame.grid()
    T = f.T()
    u = f.u()
    V = f.V()
    fcsv = open('npflame%02i.csv' % i,'w')
    writeCSV(fcsv, ['z (m)', 'u (m/s)', 'V (1/s)', 'T (K)']
             + list(gas.speciesNames()))
    for n in range(f.flame.nPoints()):
        f.setGasState(n)
        writeCSV(fcsv, [z[n], u[n], V[n], T[n]]+list(gas.moleFractions()))
    fcsv.close()

    print 'solution saved to npflame%02i.csv' % i
    f.showStats(0)

    if max(T) < 1000:
        break

    mdot_f *= 1.25
    mdot_o *= 1.25
    f.fuel_inlet.set(massflux = mdot_f)
    f.oxidizer_inlet.set(massflux = mdot_o)

I'm sure you can adapt this idea to work with the Cantera Matlab toolbox.

Regards,
Ray

Parth shah

unread,
Oct 30, 2012, 9:34:03 PM10/30/12
to Cantera User's Group
Thanks Ray, you're the best!

beta81

unread,
Oct 31, 2012, 9:31:40 PM10/31/12
to canter...@googlegroups.com
Hello,
   I find a bug in my ctml_writer.py in cantera.2.0.0 downloaded from http://code.google.com/p/cantera/downloads/list.
   When I change "length = cm " to "length = m " in gri30.cti, the outpout file gri30.xml (using 'python ctml_writer.py gri30.cti' ) didn't have any change.
 That means the Arrhenius parameter A is independent of units.
Line 1162 in ctml_writer.py had used a funtion unit_factor() to change the unit, but the function is not defined in reaction class.
Dose anyone has a complete version ctml_writer.py ?
Thanks,
Hua Li


beta81

unread,
Nov 1, 2012, 2:19:11 AM11/1/12
to canter...@googlegroups.com
sorry, everyone,
I  find the function unit_factor() in ctml_writer.py, and there is no bug in the script.
Thanks.
Hua Li
--
You received this message because you are subscribed to the Google Groups "Cantera User's Group" group.
To post to this group, send email to canter...@googlegroups.com.
To unsubscribe from this group, send email to cantera-users+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cantera-users?hl=en.


Reply all
Reply to author
Forward
0 new messages