Project

1D Flame speed analysis

The main aim of this project is to simulate combustion of CH4CH4 and H2H2fuel in the presence of air and oxygen respectively and carry out 1D flame analysis. For the analysis, flame characteristics like laminar flame speed (taken as flame velocity) and temperature of mixture after passing through flame were determined. For the CH4CH4combustion GRI 3.0 mechanism is used and for the H2H2 combustion hydrogen mechanism is utilised. Stoichiometric fully premixed mixture is considered for the CH4CH4 and H2H2 combustion.

The analysis is done with the help of Cantera. A freely propogating flame is considered for the both CH4CH4 and H2H2 combustion and the total domain length of 0.03m is defined via width parameter of Freeflame. The initial temperature of the premixed mixture is taken as 300K and pressure is taken as one atm. Even though analysing 1D flame is a transient process here the flame front is considered stationary with the unburnt mixture (yet to be combusted) moving through it with the same velocity a flame front will move through the unburnt mixture.

Grid points are generated along the domain length and at each grid point, continuity, energy and species transport equations (includes the diffusion coefficients) are solved. For both cases, grid is refined for the whenever the ratio (dx2dx1dx2dx1 where dx2 is the neighbouring grid size and dx1 is the current grid size, here if the ratio exceeds the value specified the neighbourhood grid will be refined) exceeds 3, or the slope (dydxdydx where y is any solution parameter and x is length) exceeds 0.07 or whenever the curve (d2ydx2d2ydx2where y is any solution parameter and x is length) exceeds 0.14.

CH4CH4 combustion flame speed analysis:

The equation:

CH4+2(O2+3.76N2)→CO2+2H2O+7.52N2CH4+2(O2+3.76N2)→CO2+2H2O+7.52N2

The link to the code is given below:

https://drive.google.com/file/d/1-hj1B_1iJ5ikxQoKjbbl5R81xTI3F2qQ/view?usp=sharing

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

T = 300 
P = ct.one_atm

reactants = {'CH4':1,'O2':2,'N2':7.52}

gas = ct.Solution('gri30.xml','gri30_mix')
gas.TPX = T, P, reactants

F = ct.FreeFlame(gas, width = 0.03)
F.set_refine_criteria(ratio=3,slope=0.07,curve=0.14)

F.solve(loglevel=1, refine_grid=True, auto=False)

plt.figure(1)
plt.plot(F.grid,F.T)
plt.title("Flame temperature profile with CH4 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('Temperature(K) -->')
plt.tight_layout()
plt.figure(2)
plt.plot(F.grid,F.u)
plt.title("Flame velocity profile with CH4 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('Velocity(m/s) -->')
plt.tight_layout()
plt.figure(3)
plt.plot(F.grid,F.X[gas.species_index('CO2')])
plt.title("CO2 concentration profile with CH4 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('CO2 molar concentration -->')
plt.tight_layout()
plt.show()

#print(F.T)
#print(F.u)
#print(F.X[gas.species_index('CO2')])
#help(F)

The results obtained from the above code are attached below:

H2H2combustion flame speed analysis:

The equation:

2H2+O2→2H2O2H2+O2→2H2O

The link to flame speed analysis code is given below:

https://drive.google.com/file/d/1PlVaIZBDfKaTF8AmdoG5EsOKY4zI73Ar/view?usp=sharing

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

T = 300 
P = ct.one_atm

reactants2 = {'H2':2,'O2':1}

gas2 = ct.Solution('H2_mech.cti')
gas2.TPX = T, P, reactants2

F2 = ct.FreeFlame(gas2, width = 0.03)
F2.set_refine_criteria(ratio=3,slope=0.07,curve=0.14)

F2.solve(loglevel=1, refine_grid=True,auto=False)

plt.figure(1)
plt.plot(F2.grid,F2.T)
plt.title("Flame temperature profile with H2 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('Temperature(K) -->')
plt.tight_layout()
plt.figure(2)
plt.plot(F2.grid,F2.u)
plt.title("Flame velocity profile with H2 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('Velocity(m/s) -->')
plt.tight_layout()
plt.figure(3)
plt.plot(F2.grid,F2.X[gas2.species_index('CO2')])
plt.title("CO2 concentration profile with H2 as fuel")
plt.xlabel('Length along the domain(m) -->')
plt.ylabel('CO2 molar concentration -->')
plt.show()

#print(F2.T)
#print(F2.u)
#print(F2.X[gas2.species_index('CO2')])
#help(F)

The results obtained from the above code are attached below:

What type of analysis is this, steady-state or transient?

This is a steady state analysis using flame as a reference coordinate, i.e., the flame is considered stationary whereas the unburnt gas is considered to be moving through the flame to combust to burnt gas. The velocity of flame is considered the same as the velocity of the unburnt gases going through the flame front. Since the flame is considered stationary, steady state type analysis is used for the analysis.

Why do we need a separate file to simulate Hydrogen Mechanism can't it be done using GRI3.0?

GRI 3.0 is a general reaction mechanism whereas Hydrogen mechanism is specifically designed for hydrogen combustion. Using the GRI 3.0 for hydrogen combustion will give inaccurate results so using Hydrogen mechanism is advisable.

What do you infer from the graphs, Explain in detail for both the graphs, So if you had to state one value as the 1D Flame which one would you say it is and Why? What does the sudden increase in velocity or temperature tell us?

In both the cases of combustion, unburnt mixture meets the flame front around the 0.01m mark from the start of the grid resulting in combustion. The combustion is indicated by the sudden increase of velocity and temperature.

For the CH4CH4 combustion case, from the velocity and temperature plots, one can infer that the flame velocity (laminar flame speed) is 2.84488667 m/s and the temperature of mixture after passing through flame is 2224.19131528K whereas in the case of H2H2 combustion the flame velocity and temperature of mixture after passing through flame is found to be 89.13822355 m/s and 3071.62517237K respectively.

Substantiate your answer for the previous question by plotting variation in the concentration for "CO2" and explain what you infer from it (to find a function to find the change in concentration of CO2 find it using the help() command)

In the CO2CO2 plot where the fuel isCH4CH4, the sudden rise of CO2CO2 molar concentration indicates combustion taking place of which the molar concentration is found to be 8.45277564e-02 whereas in the case of H2H2 combustion since CO2CO2 is not a product of combustion, negligeable amounts of CO2CO2 to the point of error can be observed with molar concentration found to be -8.25348326e-17.

Does the "width" parameter have an effect on the solution, If so or not so, please explain why?

No width parameter does not have any effect on the solution like flame velocity, temperature of mixture after passing through flame and CO2CO2molar concentration. Adjusting the width parameter only changes the distance needed to be traveled by the unburnt mixture before reaching the flame front.

Extra point : The thickness of the flame is usually off the size of 0.1mm to 1mm including the preheat zone.

For further reference:

http://cerfacs.fr/~cfdbib/repository/TR_CFD_04_122.pdf

https://www.researchgate.net/publication/268807456_Laminar_Burning_Velocities_of_Methane-Hydrogen-Air_Mixtures

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.