1.Autoignition of a mixture of hydrogen and air

This tutorial presents a transient simulation of the spontaneous ignition of a stoichiometric hydrogen/air mixture at constant pressure. This tutorial uses the POLIMI_H2CO_1412 kinetic mechanism developed by CRECK Modeling Group at Politecnico di Milano. The POLIMI_H2CO_1412 mechanism is distributed with the current version of OpenSMOKE++ Suite or can be downloaded directly from the web site (http://creckmodeling.chem.polimi.it/). Here we are interested in determining the ignition time under a specified set of initial pressure and temperature conditions, assuming no heat loss to the environment (adiabatic conditions). In addition, we would like to determine which reactions contribute most to the autoignition process, using sensitivity analysis. The system is a closed or batch process, which means there is no flow of mass into or out of the reactor.
 

1.1 Setup

This tutorial project is located in the examples\autoignition-h2-air directory. A single, batch reactor at constant pressure will be simulated. The input data are provided though the input.dic file (see below). In particular, the end time of the simulation is set to 0.25 ms. The initial temperature is equal to 1000 K and the pressure is kept equal to 1 atm (constant pressure). The volume is not important for the results of this simulation, so the default value of 1 cm3 will be used for the initial volume. Since this is a closed homogeneous system, the results in terms of species fraction and temperature will be the same, regardless of the volume value. If surface chemistry were included, the volume-to-surface ratio would be important, but in this case it is gas only.
 
The starting gas mixture is given in relative moles as 2.0 H2, 1.0 O2, and 3.76 N2. Writing it this way makes it easy to see that the O2/N2 ratio matches the composition of air, and that the fuel/air ratio is stoichiometric (two H2 per one O2). The normalization will occur automatically. The sensitivity analysis is enabled and this results in sensitivity coefficients being calculated for all species and all reactions and saved in the proper XML files. As already reported in the previous sections, this option should be used with care, as the computation time and solution-file sizes increase as a higher power of the size of the reaction mechanism. Except in the case of a very small reaction mechanism, such as the one being used in the sample problem, it is better to use the @Species option to request that sensitivity coefficients be output only for a few species of highest interest.
 
Dictionary BatchReactor 

{
     @KineticsPreProcessor POLIMI_H2CO_1412;
     @Type NonIsothermal-ConstantPressure;
     @InitialStatus initial-mixture;  
     @EndTime 0.25 ms;  
     @SensitivityAnalysis sensitivity-options;
}

Dictionary POLIMI_H2CO_1412
{
     @Kinetics ../../kinetic-mechanisms/POLIMI_1412/Kinetics/POLIMI_H2CO_1412.CKI;
     @Thermodynamics ../../kinetic-mechanisms/POLIMI_1412/Thermodynamics/POLIMI_TOT_NOX_1412.CKT;
     @Output kinetics;
}

Dictionary initial-mixture
{
     @Temperature 1000. K ;
     @Pressure 101325. Pa ;
     @Moles H2 2. O2 1. N2 3.76;
}

Dictionary sensitivity-options
{
     @Type arrhenius-parameters;
     @DenseSolver Eigen;
     @DenseFullPivoting false;
     @SubSteps 2;
     @Species H2 O2 H2O;
}

1.2 Results

Output results are located in the Output folder. The OpenSMOKE++ PostProcessor can be conveniently used to post process the results. Alternatively, the Output.out file can be post-processed using different tools, such as Gnuplot, Matlab, etc. Plots reported in the following were obtained using the OpenSMOKE++ PostProcessor.
 
The following Figure (top) shows the temperature profile as a function of time for this problem. At the end of this simulation, the temperature is still rising; if it is run much longer, the temperature increases another ~300 K, nearing the adiabatic flame temperature. Although not shown, the volume in this constant-pressure system shows a corresponding increase at ignition. The calculated ignition time, defined as the time at which the gas reaches a temperature of 1400 K (i.e. corresponding to an increase of 400 K), is equal to 0.186 ms. The Figure on the bottom shows a close-up of species mole fractions as a function of time. Note that zooming in on the x-axis shows the expected increase in radical species and the products at ignition, along with a decrease in hydrogen and oxygen reactants.
OpenSMOKE++ Tutorial temperature profile
 
OpenSMOKE++ Tutorial species profiles
 
The following Figures shows normalized sensitivity coefficients as a function of time for the four reactions that have the largest effect on the gas temperature. As one might expect, the largest sensitivity occurs near the time of ignition, when the most rapid change in temperature is taking place. The results also show that the dominant reaction for determining the temperature during ignition is the exothermic radical-recombination reaction #1: O2+H=O+OH. The sensitivity coefficient for this reaction is positive, indicating that increasing the rate of this reaction will lead to a higher temperature (more heat production). In contrast, the sensitivity coefficient for reaction #3 is large and negative, indicating that increasing the rate of this reaction will lead to a lower temperature (less heat production).
OpenSMOKE++ Tutorial sensitivity bars
 
OpenSMOKE++ Tutorial sensitivity profiles

1.3 Note

This tutorial was adapted from the Tutorials Manual (CK-TUT-15082-0809-UG-1) distributed with the CHEMKIN-PRO Software.
 

2. Ignition delay times for propane autoignition

This user tutorial presents an ignition-delay time calculation for the homogeneous, isobaric, adiabatic combustion of propane in air. There are various ways of defining the ignition time, experimentally as well as computationally, for combustion applications. For example, it is often defined as the time at which either the maximum or onset of certain species concentrations is reached, the time at which a specified rate of increase of temperature occurs, the time at which luminous radiant output from the system is first observed, etc. The reported experimental data can vary greatly, depending on which definition was used in the experiments. Thus, it is often useful to select which ignition-delay time definition should be used in numerical computations. In this particular example, the ignition times are computed using two distinct definitions:
 
  • as the time during which the maximum amount of heat is released (as indicated by the inflection point in the temperature profile)
  • as the time corresponding to the maximum of a certain species (OH in this case) concentration
Discrepancies between results are presented.
 

2.1 Setup

This tutorial project is located in the examples\autoignition_propane directory. A single, batch reactor at constant pressure will be simulated. The input data are provided though the input.dic file (see below). The initial temperature is equal to 1200 K, while the pressure is kept constant and equal to 1 atm. The volume is not important for the results of this simulation, so the default value of 1 cm3 will be used for the initial volume. Since this is an isobaric closed homogeneous system, the results in terms of species fraction and temperature will be the same, regardless of the volume value. If surface chemistry were included, the volume-tosurface ratio would be important, but in this case only gas-phase chemistry is present. The starting gas mixture is given as 0.02 C3H8, 0.05 O2, and 0.93 Ar. These rather dilute conditions are representative of shock-tube experimental conditions. The end time is specified on through the @EndTime option. It is important to check the resulting output file after the run is complete to make sure that the @EndTime is large enough to allow for ignition to occur. If no ignition time is provided at the end of the output file, ignition has not yet occurred and the @EndTime of the simulation should be adjusted.
 
Dictionary BatchReactor 

{
     @KineticsPreProcessor POLIMI_C1C3HT_1412;
     @Type NonIsothermal-ConstantPressure;
     @InitialStatus initial-mixture;
     @EndTime 0.30 s;
}

Dictionary POLIMI_C1C3HT_1412
{
     @Kinetics ../../kinetic-mechanisms/POLIMI_1412/Kinetics/POLIMI_C1C3HT_1412.CKI;
     @Thermodynamics ../../kinetic-mechanisms/POLIMI_1412/Thermodynamics/POLIMI_TOT_NOX_1412.CKT;
     @Output kinetics;
}

Dictionary initial-mixture
{
     @Temperature 1200. K ;
     @Pressure 101325. Pa ;
     @Moles C3H8 0.02 O2 0.05 AR 0.93;
}

2.2 Results

Output results are located in the Output folder. The OpenSMOKE++ PostProcessor can be conveniently used to post process the results. Alternatively, the Output.out file can be post-processed using different tools, such as Gnuplot, Matlab, etc. Plots reported in the following were obtained using the OpenSMOKE++ PostProcessor.
 
The following Figures shows the temperature (left) and OH mole fraction (right) profiles as a function of time. The calculated ignition times, according to the defintiions reported above, are very similar: in particular, the temperaturre inflection point is located at 13.29 ms, while the peak in the OH mole fraction profile is located at 13.34 ms.
OpenSMOKE++ Tutorial temperature profile
 
OpenSMOKE++ Tutorial OH profile
 
However, this result, is not necessarily true for every operating condition. Some discrepancies can be observed between the two proposed criteria. As an example, we can repeat our calculations using a higher initial temperature, equal to 2600 K. The new results are reported in the Figures below. In this case, the calculated ignition times are very different: in particular, the temperaturre inflection point is located at 0.8 microseconds, while the peak in the OH mole fraction profile is located at 4.1 microseconds.
OpenSMOKE++ Tutorial temperature profile
 
OpenSMOKE++ Tutorial OH profile

2.3 Note

This tutorial was adapted from the Tutorials Manual (CK-TUT-15082-0809-UG-1) distributed with the CHEMKIN-PRO Software.
 

3. Simulating a Shock-Tube experiment

Shock tube experiments are often used to obtain chemical kinetic data at high temperatures, which is especially relevant to combustion modeling. In particular, they are commonly used to study reaction paths and to measure reaction rates at elevated temperatures. We can apply the OpenSMOKE++ Shock Tube solver to validate the reaction mechanism or kinetic parameters derived from such experiments. In this tutorial, we want to reproduce one of the shock tube experiments done by Camac and Feinberg (1967). Camac and Feinberg measured the production rates of nitric oxide (NO) in shock-heated air over the temperature range of 2300 K to 6000 K. They also assembled a reaction mechanism with kinetic parameters derived from their experimental results. The reaction N2+M=N+N+M in their mechanism has a different temperature dependency when the third body is a nitrogen atom (N). To properly incorporate different temperature dependencies for different third bodies, we exclude N from participating as a third body in the original reaction, i.e., the effective third body efficiency for N is set to zero. And we add a new reaction N2+N=N+N to explicitly address the different temperature dependence of nitrogen atom as the third body.

3.1 Setup

Setting up a shock tube model requires information from the corresponding experiment. In addition to the conditions of the initial (unshocked) gas mixture, we will need to provide information on the diameter of the shock tube, the viscosity of the gas at 300 K, and the velocity of the incident shock. If we do not know the shock velocity from the experiment, we can estimate it by using the Chapman-Jouguet detonation model. The shock tube diameter and the gas viscosity at 300 K are only required when the boundary-layer correction is used in the shock simulation.
 
This tutorial project is located in the projects\shock_tube_experiment directory. The input data are provided though the input.dic file (see below). In this example, we are considering an incident shock problem with boundary layer corrections. The unshocked temperature is 296K, the pressure is 6.58E-3 atm, and the shock velocity is 2.8E5 cm/sec. The initial mole fractions are 0.78118 N2, 0.20948 O2, and 0.00934 Ar. The problem will terminate at 200 microseconds. The shock tube diameter is 3.81 cm, and the viscosity of the gas at 300K is 1.777E-4 gm/cm/s; these parameters are used for the boundary layer corrections.
 
Dictionary ShockTubeReactor 

{
     @KineticsPreProcessor Camac-Feinberg;
     @Type IncidentShock;
     @IncidentShockVelocity 2800 m/s;
     @BeforeShockStatus initial-mixture;
     @EndTime 2 ms;
     @Options output-options;

     @BoundaryLayerCorrection true;
     @Diameter 3.81 cm;
     @Viscosity 1.777e-5 kg/m/s;
}

Dictionary Camac-Feinberg
{
     @Kinetics ../../kinetic-mechanisms/Camac-Feinberg/kinetics.CKI;
     @Thermodynamics ../../kinetic-mechanisms/Camac-Feinberg/thermo.CKT;
     @Output kinetics;
}

Dictionary initial-mixture
{
     @Temperature 296. K;
     @Pressure 6.58E-3 atm;
     @MoleFractions AR 0.00934 N2 0.78118 O2 0.20948;
}

Dictionary output-options
{
     @StepsFile 1;
}

3.2 Results

The NO mole fraction behind the incident shock is shown in the Figure below as a function of time. The NO mole fraction profile rapidly rises to a peak value then gradually falls back to its equilibrium level. Reasons for the greater-than-equilibrium peak NO concentration can be found in the paper by Camac and Feinberg and references therein. The predicted peak NO mole fraction is 0.046 and is in good agreement with the measured and the computed data by Camac and Feinberg.
OpenSMOKE++ Tutorial NO profile

3.3 Note

This tutorial was adapted from the Tutorials Manual (CK-TUT-15082-0809-UG-1) distributed with the CHEMKIN-PRO Software.
 

4. Perfectly Stirred Reactor

This tutorial presents the simulation of the steady-state combustion of a mixture of hydrogen, nitrogen, and oxygen in an adiabatic perfectly-stirred reactor. This tutorial uses the POLIMI_H2CO_1412 kinetic mechanism developed by CRECK Modeling Group at Politecnico di Milano. This project demonstrates the use of parameteric analysis features of OpenSMOKE++ Suite for solving multiple reactors at different operating conditions.

4.1 Setup

This tutorial project is located in the tutorials\perfectly-stirred-reactor directory. The input data are provided though the input.dic file (see below). The residence time of the gas in the PSR is assumed to be 0.03 ms, the volume equal to 67.4 cm3, and the pressure is kept constant. The inlet temperature is equal to 298 K and the initial gas temperature in the PSR is equal to 1800 K. No heat loss is taken into account, so the system will be treated as adiabatic. No estimate of the gas composition is needed to help the solver converge on a solution. The fuel stream is composed of 60% H2 and 40% N2. The oxidizer is defined as 79% N2 and 21% O2 (air). An equivalence ratio of 1 is assumed.
 
A parametric analysis is performed, by studying the effects of pressure on the reactor's performances. In particular, the pressure was gradually increased from 1 atm to 10 atm. 
 
Dictionary POLIMI_H2CO_1412 

{
     @Kinetics ../../kinetic-mechanisms/POLIMI_1412/Kinetics/POLIMI_H2CO_1412.CKI;
     @Thermodynamics ../../kinetic-mechanisms/POLIMI_1412/Thermodynamics/POLIMI_TOT_NOX_1412.CKT;
     @Output kinetics;
}

Dictionary PerfectlyStirredReactor
{
     @KineticsPreProcessor POLIMI_H2CO_1412;
     @Type NonIsothermal-ConstantPressure;
     @InletStatus inlet-mixture;
     @InitialStatus initial-mixture;
     @ResidenceTime 0.03 ms;
     @Volume 67.4 cm3;
     @Options output-options;
     @ParametricAnalysis parametric-analysis;
}

Dictionary inlet-mixture
{
     @Temperature 298. K ;
     @Pressure 1. atm ;
     @EquivalenceRatio 1.;
     @FuelMoles H2 60 N2 40;
     @OxidizerMoles O2 21 N2 79;
}

Dictionary parametric-analysis
{
     @Type pressure;
     @ListOfValues 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. atm;
}

Dictionary output-options
{
     @StepsFile 1000;
     @StepsVideo 5000;
     @VerboseASCIIFile true;
     @VerboseVideo false;
}

4.2 Results

Output results are located in the Output folder. Since a parametric analysis was performed, the Ouptut folder contains several subfolders with names Case0, Case1, Case2, and so on, for each reactor which was simulated (10 in this specific example). In addition, the ParametricAnalysis.out file summarizes the output results for all the reactors simulated. The following Figures show the temperature (top) and H2O mole fraction (bottom) of outlet mixture as a function of the reactor pressure (according to the results reported in ParametricAnalysis.out file).
OpenSMOKE++ Tutorial temperature profile
 
OpenSMOKE++ Tutorial OH profile
 

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok