There is no dark side in the moon, really Matter of fact it’s all dark The only thing that makes it look light is the sun...

### C O N T E N T S

1 _{reaction mechanism reduction} 3
1.1 Sensitivity and Jacobian Analysis 4
1.2 Computational Singular Perturbation 5
1.3 Directed Relation Graph 6

1.3.1 Algorithm 9

1.3.2 DRG with Error Propagation 11

2 _{opensmoke++} 13
2.1 OpenSMOKE++ framework 14
2.1.1 Object-oriented features 14
2.1.2 Kernel 14
2.1.3 Efficiency 15
2.2 OpenSMOKE++ suite 15
2.3 Solvers for ideal reactors 16

2.3.1 Batch reactors 16

2.3.2 Transient stirred reactors 17

2.4 Slover for laminar flames: laminarSMOKE 17 2.4.1 Numerical Algorithms 18

3 _{drg analysis of ideal reactors} 20
3.1 DRG code 20

3.2 Preliminary Analysis 22

3.3 Coupling DRG and OpenSMOKE++ 23 3.4 Numerical simulation set up 23

3.5 Results 24

4 _{drg analysis of laminar flames} 37
4.1 Coupling DRG and laminarSMOKE 37
4.2 Numerical simulation set up 37

4.3 Results 38

4.3.1 Mass fractions and temperature 39 4.3.2 Transient behaviour 39

4.3.3 CPU time saving 40 bibliography 60

### L I S T O F F I G U R E S

Figure 1 Reaction pathways in methane flames [Law and Lu,2006a]. 4

Figure 2 Schematic showing typical evolution of fast and slow modes obtained from CSP analysis [Law and Lu,2006a]. 6

Figure 3 Dependence of the species number of skeletal mechanism on the threshold value, specified to truncate the weak relations of the species [Law and Lu,2005]. 8

Figure 4 Schematics showing typical configuration of the directed relation graph (DRG); the vertices cor-respond to the species and the directed edges correspond to the immediate requirement of one species to another [Law and Lu,2006b]. (a) Basic configuration and identification of skele-tal species. (b) Demonstration of strongly cou-pled species groups. 8

Figure 5 Pseudo code of DRG [Law and Lu,2006b]. 10 Figure 6 Schematic example of a directed relation graph.

The R connection weights are shown in blue, the DRG importance coefficients relative to the target species A are shown in black, and be-low them the DRGEP coefficients are shown in red [Tosatto et al.,2013]. 12

Figure 7 Structure of the OpenSMOKE++ Suite [Cuoci, Frassoldati, Faravelli, and Ranzi,2015]. 16 Figure 8 Numerical procedure used inlaminarSMOKE[Cuoci,

Frassoldati, Faravelli, and Ranzi,2013a] 19 Figure 9 Formation rates for three main species with different threshold value: (a) CH4, (b) O2 and (c) CO. 25

Figure 10 Formation rates for three main species with different threshold value: (a) NO2, (b) NO and (c) N2O. 26

Figure 11 Formation rates for three main species with different threshold value: (a) HO2, (b) CO2 and (c) OH. 27

Figure 12 Mass fraction for main species in isothermal batch reactor with GRI-Mech 3.0 kinetic mech-anism: (a) CH4, (b) CO, (c) CO2, (d) H2O, (e)

O_{2} and (f) OH. 28

List of Figures iv

Figure 13 Mass fraction for main species in isothermal batch reactor with GRI-Mech 3.0 without NOX

kinetic mechanism: (a) CH4, (b) CO, (c) CO2,

(d) H2O, (e) O2 and (f) OH. 29

Figure 14 Mass fraction for main species in isothermal batch reactor with POLIMI-TOT-C1C3HT-noNOX kinetic mechanism: (a) CH4, (b) CO, (c) CO2,

(d) H2O, (e) O2 and (f) OH. 30

Figure 15 Mass fraction for main species in isothermal transient stirred reactor with GRI-Mech 3.0 ki-netic mechanism: (a) CH4, (b) CO, (c) CO2, (d)

H2O, (e) O2 and (f) OH. 31

Figure 16 Mass fraction for main species in isothermal transient stirred reactor with GRI-Mech 3.0 withot NOX kinetic mechanism: (a) CH4, (b) CO, (c)

CO_{2}, (d) H2O, (e) O2 and (f) OH. 32

Figure 17 Mass fraction for main species in adiabatic batch reactor with GRI-Mech 3.0 kinetic mechanism: (a) CH4, (b) CO, (c) CO2, (d) H2O, (e) O2 and

(f) OH. 33

Figure 18 Mass fraction for main species in adiabatic batch reactor with GRI-Mech 3.0 without NOX

ki-netic mechanism: (a) CH4, (b) CO, (c) CO2,

(d) H2O, (e) O2 and (f) OH. 34

Figure 19 Mass fraction for main species in adiabatic batch reactor with POLIMI-TOT-C1C3HT-noNOX ki-netic mechanism: (a) CH4, (b) CO, (c) CO2, (d)

H_{2}O, (e) O2 and (f) OH. 35

Figure 20 Temperature profiles in adiabatic batch reac-tor for three different mechanism with differ-ent key species set: (a) Mech 3.0, (b) GRI-Mech 3.0 without NOX, (c)

POLIMI-TOT-C1C3HT-noNOX. 36

Figure 21 (a) Schematic for the burner used for the flame [Bennett et al.,2001]. (b) Structured mesh used in the simulations. 38

Figure 22 Temperature trends at different axial position. The results of the DRG analysis with differ-ent species set are compared with the numeri-cal simulation without the reduction of kinetic mechanism. 41

Figure 23 C2H4 mass fractions trends at different axial

position. The results of the DRG analysis with different species set are compared with the nu-merical simulation without the reduction of ki-netic mechanism. 42

List of Figures v

Figure 24 COmass fractions trends at different axial po-sition. The results of the DRG analysis with different species set are compared with the nu-merical simulation without the reduction of ki-netic mechanism. 43

Figure 25 CO_{2}mass fractions trends at different axial
po-sition. The results of the DRG analysis with
different species set are compared with the
nu-merical simulation without the reduction of
ki-netic mechanism. 44

Figure 26 H_{2}O mass fractions trends at different axial
position. The results of the DRG analysis with
different species set are compared with the
nu-merical simulation without the reduction of
ki-netic mechanism. 45

Figure 27 N_{2} mass fractions trends at different axial
po-sition. The results of the DRG analysis with
different species set are compared with the
nu-merical simulation without the reduction of
ki-netic mechanism. 46

Figure 28 NO2 mass fractions trends at different axial

position. The results of the DRG analysis with different species set are compared with the nu-merical simulation without the reduction of ki-netic mechanism. 47

Figure 29 O_{2} mass fractions trends at different axial
po-sition. The results of the DRG analysis with
different species set are compared with the
nu-merical simulation without the reduction of
ki-netic mechanism. 48

Figure 30 OHmass fractions trends at different axial po-sition. The results of the DRG analysis with different species set are compared with the nu-merical simulation without the reduction of ki-netic mechanism. 49

Figure 31 Number of species and reactions at the axial position of 3 mm to explain different result of temperature trends obtained with DRGCO,

DRGOHand DRG. 50

Figure 32 Number of reactions (a) and species (b) con-sidered important by DRG analysis. 51 Figure 33 Temperature fields at different time step. The

results of the DRG analysis, right side, are com-pared with the numerical simulation without the reduction of kinetic mechanism, left side. 52

Figure 34 Mass fractions of CO at different time step. The results of the DRG analysis, right side, are compared with the numerical simulation with-out the reduction of kinetic mechanism, left side. 53

Figure 35 Mass fractions of CO2 at different time step.

The results of the DRG analysis, right side, are compared with the numerical simulation with-out the reduction of kinetic mechanism, left side. 54

Figure 36 Mass fractions of NO at different time step. The results of the DRG analysis, right side, are compared with the numerical simulation with-out the reduction of kinetic mechanism, left side. 55

Figure 37 Mass fractions of NO2 at different time step.

The results of the DRG analysis, right side, are compared with the numerical simulation with-out the reduction of kinetic mechanism, left side. 56

Figure 38 Mass fractions of H2O at different time step:

(a) and (b). The results of the DRG analy-sis, right side, are compared with the numeri-cal simulation without the reduction of kinetic mechanism, left side. 57

Figure 39 DRG coupling with OpenSMOKE++ solvers. 58

### L I S T O F T A B L E S

Table 1 List of stiff ODE solvers available in the current version of OpenSMOKE++. 13

Table 2 List of key species set used in the laminar flame simulations. 38

Table 3 Time for solving the numerical simulations. 40

### A B S T R A C T

Only the use of large detailed kinetic mechanisms is able to de-scribe accurately combustion phenomena. However, it is prohibitive to use them for CFD simulations of practical systems that involve complex geometries, heat exchanges, radiation and turbolent flows. Hence, the reduction of detailed kinetic mechanisms is widely ap-plied with the purpose to provide affordable (skeeltal, reduced or even global) schemes. Usually reduction is preformed with a pre-processing analysis in which a specific range of operating conditions is used; however the reduced scheme will be applied to a flame in which characteristics may differ in space and time.

The objective of this Thesis is to implement a reduction method to be used on-the-fly in numerical simulations of reactive flows, thus able to adapt the reduction procedure to the different conditions across the flame. The Directed Relation Graph method was chose because its simplicity and implemented using an open-source library called OpenSMOKE++. The DRG method was validate first in 1-D systems, batch and transient stirred reactors, to verify the accuracy of the algorithm. Than, it was used in laminar pulsating coflow flames, confirming the ability to provide results similar to those obtained with detiled schemes but with a strong reduction of CPU time.

### I N T R O D U C T I O N

The modelling of combustion processes requires the description of chemical reactions as well as of physical and thermodynamic proper-ties of the gas mixture. Only the use of detailed kinetic mechanisms is able to describe combustion with a high accuracy, however, the number of reactions and species increases according to the complex-ity and the size of the fuel molecule and this makes difficult the use of large combustion mechanisms in numerical simulations. Indeed the use of detailed mechanisms with hundreds of species and thou-sands of reactions leads to prohibitive CPU times even when ideal or simplified systems are numerically modelled.

Things are further complicated by the stiffness of the system of non-linear chemical equations, hence requiring robust numerical al-gorithms. It is well recognized that extensive reduction is required for large simulations involving 2-D, 3-D, or complex geometries. In-deed several global (one step) mechanisms are available and largely used for the simulations of industrial systems, although they are valid only on a specific range of operating conditions and do not allow any analysis of minor species and radicals.

Considering that, the reduction of large mechanisms to an extent that could limit the loss of information but at the same time allow the applicabity to the modelling of most practical combustion sys-tems, is very appealing. So, the reduction of detailed kinetic mech-anisms is widely studied in literature and different methods have been proposed in the last decades. The common approach consists in performing a sensitivity analysis of the detailed kinetic scheme for specific conditions of temperature and concentrations of species in order to derive information on the main reaction paths and species. Hence, skeletal or reduced mechanisms are generated during this pre-processing analysis and then used to describe the chemistry of the system in numerical simulation.

The objective of this Thesis is to implement a reduction method to be used on-the-fly in numerical simulations of reactive flows. This means that no pre-processing is required and that the reduction pro-cedure is applied to different regions (in space and time) of the flame, thus characterised by different conditions of temperature species. To this purpose the Directed Relations Graph algorithm will be chosen because of its simplicity and robustness.

The DGR methods will be developed and coupled with a library, OpenSMOKE++, able to manage large kinetic mechanisms. Firstly the DRG algorithsm will be validated in ideal 1-D systems, namely batch and transient stirred reactors. Subsequently it will be used to

introduction 2

model laminar flames in order to assess the accuracy of the method and the possibility of CPU time reduction.

### 1

### R E A C T I O N M E C H A N I S M

### R E D U C T I O N

A reliable description of combustion phenomena requires accurate and comprehensive detailed mechanisms. These mechanisms are ex-pected to be able to describe the combustion phenomena over all pos-sible ranges of thermodynamic parameters of the system such as tem-perature, pressure and reactant composition. However, the need to reduce detailed mechanisms maintaining accuracy and comprehen-siveness arises from three considerations [Law and Lu,2006a]:

• The calculation using detailed mechanisms is computationally demanding because of the large number of species and reaction involved.

• The conservation equations system is computationally stiff due to the vastly different time scales the different reactions have because of the Arrhenius kinetics.

• It is difficult to identify the dominant reaction species and path-ways because species variation and reactions are strongly cou-pled, see fig1.

It is necessary to reduce the mechanisms especially in computa-tional fluid dynamics (CFD) calculations that involve turbulence or complex geometries in which the numerical solution results in long CPU time.

The approach used by mechanisms reduction methods has the aim to generate skeletal mechanisms that are able to represent the com-bustion phenomena for a wide range of operating conditions. Mech-anisms reduction can be conducted at two levels of detail. The first level is a skeletal reduction, which eliminates the unimportant species and reactions on the basis of comprehensive considerations. The second level of reduction involves the partial equilibrium and quasi-steady-state assumptions application to the skeletal mechanisms.

The most important methods used to generate skeletal mechanisms are described In this chapter: Sensitivity and Jacobian Analysis [Tu-ranyi, 1990], Computational Singular Perturbation (CSP) [Messias et al.,1999] and Direct Relation Graph (DRG) [Law and Lu,2005]. The DRG method will be better described since it has been chosen for this work purpose. The on-the-fly use of DRG allows the local and in-stantaneous conditions evaluation without the necessity to generate a reduced mechanism based on a preprocessing analysis.

1.1 sensitivity and jacobian analysis 4

**Figure 1: Reaction pathways in methane flames [**Law and Lu,2006a].

### 1.1

### sensitivity and jacobian analysis

Sensitivity analysis is one of the earliest methods for skeletal re-duction and other methods have subsequently been developed based on it. The sensitivity of a system response parameter y in response to the perturbation of the reaction rate constant k of a reaction is defined as ∂y/∂k.The measure of the relative error induced by the re-moval of this reaction is given by its lognormal form ∂ln y/∂ln k. All the reactions with sensitivity smaller than a threshold values can be neglected.

A basic analysis can be conducted by expressing the rate equations system as:

∂y

∂t = g(y; a) (1)

where y is the dependent variable vector that in a combustion phe-nomena analysis consist of the reaction scalars such as the temper-ature and the species concentrations, g(y; a) is the production rate term, and a is the vector for the preexponential factor A. The sensi-tivity matrix E can be defined as:

E = ∂y

1.2 computational singular perturbation 5

Taking the time derivative of equation2it is obtained ∂E ∂y = ∂ ∂t( ∂y ∂a) = ∂ ∂a( ∂y ∂t) = ∂g(y, a) ∂a = ∂g ∂a+ ∂g ∂a ∂y ∂a = ∂g ∂a+ J( ∂y ∂a) (3)

where J = ∂g/∂y is the Jacobian matrix of equation 1. Solving equa-tion 3 and equation 1 for y and E, it can be readily evaluated the lognormal sensitivity.

Even if sensitivity analysis is very simple to apply, the computation is typically time consuming because of the large number of equations to be solved.

### 1.2

### computational singular perturbation

Computational singular perturbation separates the fast and slow subspaces by a refinement procedure and remove the short time scales in the general system of equations:

dy

dt = g(y). (4)

By taking the time derivative of equation4, it is obtained: dg

dt = J·g (5)

where J = dg/dy is the time-dependent Jacobian matrix . It is possi-ble to decompose the Jacobian matrix into J = AΛB, where B = A−1, so equation5become: df dt = Λ·f (6) f = B·g (7) Λ = dB dt + B·JA (8)

fcomponents are called the system modes and they are related with g because are linear combination of the components of this latter one. The CSP analys recognizes two possible cases:

• time-independent Jacobian matrix,

• time-dependent Jacobian matrix.

If the Jacobian matrix is time-independent, Λ can be a diagonal matrix or it is possible to apply the eigenvalue decomposition in order to rewrite Λ in Jordan form. In this form is it possible to decoupled the system modes as:

dfi

1.3 directed relation graph 6

In this way fi ∼ exp(λit), where the λi are the elements of Λ, and

1/|λ_{i}| yields the time scales of the modes. The rapid decay of f_{i} for
the fast modes relative to the slow modes is shown in figure2.

If J is time dependent a CSP iterative procedure can be applied to separate the fast and the slow spaces. The fast modes vanish after a short transient period. This algebraic equations set can be also em-ployed to reduce the stiffness and number of differential equations.

The CSP method fully considers the time dependency of the Jaco-bian matrix and can accurately identify the fast modes, although the refinement procedure for time-dependent Jacobian matrix demands heavy computation time.

**Figure 2: Schematic showing typical evolution of fast and slow modes **
ob-tained from CSP analysis [Law and Lu,2006a].

### 1.3

### directed relation graph

The method of directed relation graph (DRG) is based on produc-tion rate analysis. DRG identifies unimportant species by resolving species coupling with high efficiency and minimal system-dependent knowledge requirement.

Species coupling is mapped to a graph and strongly coupled species are identified by linear-time graph searching. In DRG species and reactions are related with a parameter that considers the species rate expressions and the reactions in the detailed mechanism. The produc-tion rate RAof species A in a mechanism with I reversible elementary

reactions is expressed as:

R_{A} = X
i=1,I
ν_{A,i}ω_{i}, (10)
ωi= ωfi+ ωbi, (11)
ω_{fi}= k_{fi}
n
Y
j=1
Cν
0
ij
j , (12)

1.3 directed relation graph 7
ω_{bi} = k_{bi}
n
Y
j=1
Cνij"
j , (13)
k_{fi}=AiTniexp(−
T_{ai}
T )Fi, (14)
k_{bi}= kfi
K_{c} (15)

where i and j indicate the ith elementary reaction and jth species, respectively, and f and b denote forward and backward directions of a reaction, respectively. ν is the net stoichiometric coefficient of species A and ν0 and ν" are the stoichiometric coefficients for the reactants and products. C is the species molar concentration, A, n, and Tai are the reaction parameters, F is a correction term including

the third body concentration, fall-off, and other special effects, T is the temperature, and Kc the equilibrium constant.

DRG method was developed [Law and Lu,2006b] to resolve species
coupling efficiently. Considering the species straight coupled, if one
species, B, is removed from the mechanism an immediate error to
another species, A, production rate is induced. The normalized
con-tribution of species B to the production rate of species A, noted as
r_{AB}, is used to quantify the relationship between two species and can
be expressed as:

r_{AB}=
P

i=1,I|νA,iωiδB,i|

P

i=1,I|νA,iωi|

(16)

δ_{B,i}=

1, if the ith reaction involves species B,

0, otherwise. (17)

If species A has to be kept in the skeletal mechanism and the error
r_{AB} is significant, than B should also be kept. It is important to
define a small threshold value because in large mechanism there are
both strongly and weakly inter-group couplings so that the number
of species in the skeletal mechanism could hugely vary in function
of . Figure 3 shows the jumps in species number because of the
existence of strongly coupled group.

For the directed relation graph construction, as shown in Figure 4, is necessary to follow two simple rules:

1. Each node in DRG is uniquely mapped to a species in the de-tailed mechanism,

2. There exists a directed edge from A to B if and only if r_{AB}> .
The arrow shows the direction of one species dependence to another
and its width indicates the strength of the dependence. Considering
Figure4, for a species A it clearly results that the set [B, D] has to be
kept in the skeletal mechanism because A depends on B strongly
cou-pled with D. However, species C, E, and F can be eliminated because

1.3 directed relation graph 8

**Figure 3: Dependence of the species number of skeletal mechanism on the**
threshold value, specified to truncate the weak relations of the
species [Law and Lu,2005].

**(a)** **(b)**

**Figure 4: Schematics showing typical configuration of the directed relation**
graph (DRG); the vertices correspond to the species and the
di-rected edges correspond to the immediate requirement of one
species to another [Law and Lu, 2006b]. (a) Basic

configura-tion and identificaconfigura-tion of skeletal species. (b) Demonstraconfigura-tion of strongly coupled species groups.

1.3 directed relation graph 9

they are not required by either A or any species in the dependent set of A.

The selection of the starting set is fundamental to avoid the elimina-tion of important species. It can simply consist of a single species, the fuel, or if there is the need to evaluate auxiliary phenomena as NOx

formation, NO should also be included as a starting species. Accord-ing toL. Liang et al.,2009, fuel fails to connect to any other species in the post-ignition stage, therefore, additional search-initiating species are needed. L. Liang et al., 2009, starting set is based on categoriz-ing elementary reaction. Hydrocarbon oxidation mechanisms can be divided into three interacting groups:

• hydrocarbon decomposition,

• water production (or H2− O2 system), • COoxidation.

The starting set able to give identical results to the full calculation seems to be fuel + CO + HO2.

1.3.1 Algorithm

According to Law and Lu, 2006b, DRG is an algorithm with lin-early proportional reduction time to the number of reactions in the mechanism. Figure 5 shown the detailed procedure for the graph construction suggested byLaw and Lu,2006b.

There are three main steps in DRG reduction: 1. graph construction using equation16,

2. graph searching to identify the skeletal species,

3. skeletal mechanism generation to create the final mechanism. The first step involves the rAB calculation which means that there

are K2 terms to be evaluated, where K is the number of species, and each term contains O(I) multiplications.1

Therefore the graph con-struction would require O(K2I)evaluations more expensive than the evaluation of the Jacobian matrix. However, every reaction contains a smaller number of species compared of the number of all species describing the detailed mechanism so the stoichiometric coefficient matrices are sparse. The maximum number of edges in the graph and the time complexity of the graph construction step are bounded by a linear function of I. In the second step each edge is compared with the threshold value for truncation. Using then the deep first 1 In computer science, big O notation is used to classify algorithms by how they re-spond to changes in input size. It is a measure of the processing time or the working space requirements.

1.3 directed relation graph 10

1.3 directed relation graph 11

search (DFS) the final species set of the skeletal mechanism is ob-tained. Since the number of edges is bounded by a linear function of I, and DFS features a linear searching time proportional to the num-ber of edges in the graph, the time complexity of the second step is also O(I). The last step of the DRG reduction eliminates the reactions that involves any removed species and generates the final skeletal mechanism. Also for this step the time complexity is O(I) because it depends on the number of species in each reaction like the first one. The overall reduction time for DRG is a linear function of the number of reactions in the detailed mechanism.

1.3.2 DRG with Error Propagation

Various method have been developed as an exstention of DRG. The most famouse is the DRG with Error Propagation (DRGEP). This method, try to eliminate more species with the same threshold value but with a better estimation of the induced error.

In the error calculation made in the prediction of species A if species Bis ignored, equation16, production and consumption reactions are considered equally. However, removing a species that contributes only to the consumption of a species A or removing ones that con-tributes both to the consumption and to the production of the same species A, implies a different effect. For the same value of rAB,

the first one introduces a larger error than the latter. This happens because a species that contributes both to the consumption and to the production compensates the error from removing the produc-tion term with the error from removing the associated consumpproduc-tion term [Pepiot-Desjardins and Pitsch,2008].

The error coefficient is modified in order to consider production and consumption individually:

r_{AB}=
P

i=1,nR|νA,iωiδB,i|
max(PA, CA)
, (18)
where
P_{A} =
nR
X
i=1
max(0, νA,iωi), (19)
CA =
nR
X
i=1
max(0, −νA,iωi). (20)

This coefficient is well defined and bounded between 0 and 1, which can be easily demonstrated:

nR
X
i=1
ν_{A,i}ω_{i}δi_{B}
=
nR
X
i=1
max(0, νA,iωiδiB) −
nR
X
i=1
max(0, −νA,iωiδiB)
=PAB− CAB
.
(21)

1.3 directed relation graph 12

The terms on the right-hand side correspond to the production and consumption of species A from reaction including species B. It is known that 0 6 PAB6 PA and 0 6 CAB6 CA, that is −CA6 PAB−

CAB6 PA, which is equivalent to|PAB− CAB| 6 max(PA, CA). This

inequality means that the net contribution of species B to a species A cannot exceed the total production or consumption of species A. After calculating the rABcoefficient for each pair of species, it is

nec-essary to define the path dependent interaction coefficient rAB,pthat

represents the error propagation through the pathway p to species A to B considering all the species between them:

r_{AB,p}=

n−1Y i=1

r_{S}_{i}_{Si+1}, (22)

where n is the number of species between A and B in pathway p and Si is a placeholder for the intermediate species i starting at A

and ending at B. The overall interaction coefficient is defined as the maximum of all rAB,pas:

RAB≡ max

all path prAB,p. (23)

If some error is introduced in the prediction of B, its effect will be negligible if the pathway this error has to propagate to reach the target A is longer.

DRGEP is a target-oriented technique and provides the selection of chemical paths in order to predict the set of targets by keeping species with large RAB coefficients and discarding species with a small one.

In Figure6each of the connection weights quantifies the direct error that would be introduced in the solution of species i if species j were to be eliminated from the mechanism [Tosatto et al.,2013].

**Figure 6: Schematic example of a directed relation graph. The R connection**
weights are shown in blue, the DRG importance coefficients
rela-tive to the target species A are shown in black, and below them
the DRGEP coefficients are shown in red [Tosatto et al.,2013].
The DRGEP eliminate a major number of species than the DRG but
requires more computation time to complete the entire procedure.

### 2

### O P E N S M O K E + +

The purpose of this work is the implementation of the DRG method to be used on-the-fly to reduce CPU time of numerical simulations of flames with detailed kinetic mechanisms. Since modelling of reac-tive flows calls for a large number of thermodynamic and transport properties, as well as reactions to be considered, the availability of a code able to handle them is fundamental. OpenSMOKE++, devel-oped by Cuoci et al. [Cuoci, Frassoldati, Faravelli, and Ranzi,2015], is chosen as one of the best existing code available in the international overview.

OpenSMOKE++, an open source Library, is a suite of numerical tools intended to be used for simulations involving thermodynamics, trans-port processes and chemical kinetics. It is a flexible system, suit-able for managing very large detailed mechanisms with thousands of species and reactions. OpenSMOKE++ can be also considered an user-friendly system since it is based on the most modern features of C++ which makes it easily incorporated into new or existing numeri-cal codes to efficiently numeri-calculate thermodynamic properties, transport properties, homogeneous and heterogeneous kinetics rates. Moreover it solves the typical ODE (Ordinary Differential Equations) systems describing combustion processes thanks to the OpenSMOKE++ ODE solver provided or interfacing it with different ODE solvers. In Tab1 the complete list of ODE solvers is summarized. All the solvers are open-source and freely available. For more details see [Cuoci, Fras-soldati, Faravelli, and Ranzi,2015].

In the following section, a review of the main OpenSMOKE++ char-acteristics is reported. In particular, the last section describes the mathematical models of the chemical reactors solvers used to test the accuracy of the DRG code.

**Table 1: List of stiff ODE solvers available in the current version of**
OpenSMOKE++.

Name Integration method Order Linear System

CVODE Variable-coefficient BDF Variable Direct,Lu Factorization
DASPK Variable-coefficient BDF Variable Direct,Lu Factorization
DLSODA Fixed-coefficient BDF Variable Direct,Gauss Factorization
DLSODE Fixed-coefficient BDF Variable Direct,Gauss Factorization
DVODA Variable-coefficient BDF Variable Direct,Lu Factorization
RADAU5 Implicit Runge-Kutta Variable Direct,Gauss Factorization
**Native** **Fixed-coefficient BDF** **Variable** **Direct,Lu Factorization**

2.1 opensmoke++ framework 14

### 2.1

### opensmoke++ framework

OpenSMOKE++ has been developed to handle numerical
combus-tion processes simulacombus-tions performed using detailed kinetic
mecha-nisms and involving a huge number of species and reactions that can
be imported from the standard CHEMKIN
R _{format. Efficient }
algo-rithms are used to evaluate reaction and formation rates.

Written in object-oriented C++, the OpenSMOKE++ framework shows the components of a simulation(i.e. gas mixtures, reactors, kinetics models, equations of state, ODE integrators, reaction path diagrams, etc.) by mean of classes. The OpenSMOKE++ library is based on template programming and policy classes.

2.1.1 Object-oriented features

Unlike the most common numerical codes for the reacting flows simulation based on procedural languages, the OpenSMOKE++ frame-work is based on the ‘Object-Oriented Programming (OOP)’ method which is considered easier to write, validate and maintain than proce-dural techniques. The OOP approach is characterized by three main aspects: abstraction, inheritance and polymorphism.

Abstraction consists in representing conceptual constructs in the program and hiding details behind an interface. This is achieved by the concept of classes to represent conceptual objects in the code that encapsulate the data that make up the object. Limited, well-defined access to the encapsulated data are provided by member functions. The class interface is designed to be as simple as possible, while the implementation is not relevant at this level.

Inheritance makes possible relationships between classes to be ex-pressed. Based classes expressing simple objects can be extended in order to assume a new behaviour without the necessity of modifying the existing class.

Polimorphism is that feature of object-oriented languages that allows objects of different types to be treated similarly.

2.1.2 Kernel

OpenSMOKE++ makes easier the management of complex reacting mixtures. In order to gain this aim a kernel is conceived for provid-ing the core capabilities for its integration in numerical codes and interface packages to supplementary numerical libraries.

The real core of the kernel is the Species class. For every single chem-ical species, the Species class evaluates the thermodynamic and trans-port properties.

2.2 opensmoke++ suite 15

The Mixture class is obtained simply collecting the chemical species thanks to a number of policies concerning the mixing rules for the evaluation of mixture properties.

The Reaction class is a virtual class which manages the data about the stoichiometry and kinetic parameters of a different kind of reac-tion.

The Chemestry class is a collection of reactions and evaluates the formation rates of every species.

2.1.3 Efficiency

OpenSMOKE++ library uses the MixtureMap class in the calculation of thermodynamic, transport properties and kinetics data as fast as possible in order to decrease the CPU time to evaluate the Jacobian matrices. MixtureMap uses different techniques to reach efficiency:

• caching: storing items allows to use them without retrieving or recalculating them;

• object pool: the object pool creates the objects only once, so their constructor is called only once;

• optimized function: the numerical algorithms are revised in
or-der to use the Intel
R _{MKL Vector Mathematical Functions }
Li-brary(VML) which includes optimized functions;

• code reformulation: CPU-expensive functions are not used thanks to the reformulation of many parts of the numerical algorithms.

### 2.2

### opensmoke++ suite

OpenSMOKE++ includes also a collection of "standard solvers" able to solve specific tasks when chemical kinetic analysis have to be performed. Figure 7 shows a schematic diagram to explain the structure of the OpenSMOKE++ suite. The list of available solvers includes:

• kinetic preprocessor: it has the function to rewrite the kinetic
mechanism usually available in CHEMKIN
R _{format in XML}
format used by OpenSMOKE++ solvers;

• solvers: they simulate chemical ideal reactors (i.e. batch reac-tors, perfectly stirred reacreac-tors, plug flow reacreac-tors, etc.) or lami-nar flame;

2.3 solvers for ideal reactors 16

**Figure 7: Structure of the OpenSMOKE++ Suite [**Cuoci, Frassoldati,

Far-avelli, and Ranzi,2015].

### 2.3

### solvers for ideal reactors

OpenSMOKE++ allows to perform chemical reactors analysis. The input data as initial conditions, including temperature, pressure and mixture composition are required. In this section the Batch reactor and Transient stirred reactors are described. These reactors have been used to evaluate the accuracy of the DRG algorithm.

2.3.1 Batch reactors

It is possible to solve a variety of batch reactors: constant pressure, assigned or variable volume, in isothermal or adiabatic conditions or with heat exchange. The conservation equations of species are solved in terms of mass fraction:

ρdωi

dt = WiΩ˙ i with i = 1,...,Ns. (24) The conservation equation of energy is written in two different ways according to the kind of reactor used:

ρ ˆC_{P}dT
dt = −
Ns
X
i=1
˙
Ω_{i}H˜_{i}+ Q˙
V, (25)
ρ ˆC_{V}dT
dt = −
Ns
X
i=1
˙
Ω_{i}( ˜H_{i}− RT ) − P
V
dV
dt +
˙
Q
V. (26)

2.4 slover for laminar flames: laminarsmoke 17

In equation 25 and 26, ˙Qis the power exchanged with the external
environment calculated by ˙Q = UA(T_{env}− T ) where U is the global
heat exchange coefficient, A is the exchange surface area and Tenv is

the environment temperature.

2.3.2 Transient stirred reactors

Mass flow rate ˙m, temperature Tinletand composition ωinlet_{i} are the
initial conditions to set for Perfectly Stirred reactor analysis. Inside
the reactor the gases mix instantaneously and perfectly therefore the
temperature and composition within the reactor are uniform. The
conservation equations of species and energy in the unsteady form
are:
ρdωi
dt = ρ
ωinlet
i −ωi
τ + WiΩ˙i with i = 1,...,Ns
ρ ˆCPdT_{dt} = ρ
PNs

i=1xinleti ( ˜Hinleti − ˜Hi)

Winlet mixτ −PNs i=1Ω˙iH˜i+ ˙ Q V. (27)

τis the residence time inside the reactor, defined as: τ = ρV

˙

m. (28)

In steady-state conditions, equation27becomes a system of nonlinear algebraic equations. Newton’s method or modified Newton’s meth-ods are used to obtain the solution. Unfortunately, especially for large kinetic mechanisms, the Newton’s methods are not sufficiently robust, i.e. they require a good first-guess solution to converge. If steady-state simulations are required, OpenSMOKE++ starts solving the conservation equations in the unsteady form to approach a better first guess solution. Then, after solving for a specified time inter-val, OpenSMOKE++ attempts to solve the steady-state problem by the Newton’s method. If the Newton’s method fails, the unsteady equations are solved for an additional time interval to improve the first-guess estimation. This procedure is then repeated up to the con-vergence of the Newton’s method. In the worst scenario, the steady-state solution is obtained through the integration of the ODE system for a sufficiently long time interval.

### 2.4

### slover for laminar flames: laminarsmoke

laminarSMOKE is a computational tool for the numerical simulation of laminar flames and it is able to manage very detailed kinetic mech-anisms. The numerical strategy used for the resolution the stiff large system of equations is based on operator-splitting methods so the governing equations are split in sub-equations. In combustion

prob-2.4 slover for laminar flames: laminarsmoke 18

lems the splitting approaches are easily used by separating the stiff chemical reaction processes from the non-stiff transport processes.

The discretization process of the governing equations end the
com-putational meshes are managed by the open-sourceOpenFOAM
R _{code}

[OpenFOAM 201] whileBzzMath[Guido Buzzi-Ferraris,2010,G. Buzzi-Ferraris and Manenti,2012] andOpenSMOKE++libraries [Cuoci, Frassol-dati, Faravelli, and Ranzi,2015] are used to handle the stiff features of the governing equations. The solverlaminarSMOKEwas validate with several laminar cowflow flames experimentally and numerically by Cuoci et al., [Cuoci, Frassoldati, Faravelli, and Ranzi, 2013a], [Cuoci, Frassoldati, Faravelli, Jin, et al., 2013], [Cuoci, Frassoldati, Faravelli, and Ranzi,2013b] and [Jing et al.,2015].

2.4.1 Numerical Algorithms

The conservation equations of total mass, mixture momentum, indi-vidual species mass fractions and mixture energy are reported below:

∂ρ
∂t +**∇(ρv) = 0** (29)
∂
∂t(ρ**v) + ∇(ρvv + pI) = ∇τ + ρg** (30)
∂
∂t(ρωk) +∇(ρωk**v) = −∇(ρω**k**V**k) + ˙Ωk k = 1, . . . , NC (31)
ρC_{P}∂T
∂t = ρCP**v∇T = −∇q − ρ**
NC
X
k=1
C_{P,k}ω_{k}**V**k−
NC
X
k=1
h_{k}Ω˙_{k} (32)
**where t is the time, ρ is the mixture density, p is the pressure, v is**
**the mixture velocity vector, τ the fluid stress tensor, g the acceleration**
gravity vector, ωk **is the mass fraction of individual species, V**k is

the diffusion velocity of individual species in which both Fickian and thermal diffusion are considered. Ω˙k is the formation rate of

indi-vidual species, T the temperature, CP is the specific heat and hk the

individual species enthalpy.

**The heat flux vector, q, is calculated as:**

**q = −λ∇T + q**_{rad} (33)

**where λ is the mixture thermal conductivity and q**_{rad} the radiative
heat flux.

The gas-phase transport equations described above are solved with theOpenFOAM R

solver calledpisoFoambut to make possible the use of detailed kinetic mechanisms, an operator-splitting approach is used to modified this solver. Figure8schematizes the numerical algorithm used inlaminarSMOKE.

The transport equations of mass species and energy, can be written separating transport terms from the reaction ones. In fact, if it is

2.4 slover for laminar flames: laminarsmoke 19

**Figure 8: Numerical procedure used in** laminarSMOKE [Cuoci, Frassoldati,
Faravelli, and Ranzi,2013a]

considered Ψ the vector of dependent variables, S(Ψ) and M(Ψ, t) the vector of rates of change of Ψ due to to chemical reactions and transport processes, respectively, the equations become:

dΨ

dt = S(Ψ) + M(Ψ, t) (34)

The integration in time to solve Eq.34is performed using Strang
split-ting scheme in three sub-steps. In the first one the reaction terms are
integrated over the interval ∆t/2 with initial condition equal to the
final state of the previous time step. In the second sub-step transport
terms are integrated over the interval ∆t with initial condition equal
to the final state of sub-step 1. The last sub-step is equal to the first
one but the initial conditions become from the second one. The
spa-tial discretization of transport terms is solved using the implicit Euler
method withOpenFOAM
R_{.}

The splitting procedure is applied only to species and energy
equa-tions while the continuity and momentum equaequa-tions are solved with
PISO algorithm available inOpenFOAM
R_{.}

### 3

### D R G A N A L Y S I S O F I D E A L

### R E A C T O R S

In this Chapter the analysis carry-out with the OpenSMOKE++ solvers (Batch reactor and Transient stirred reactor) to test the DRG code is described. The choice to use OpenSMOKE++ made evident that the best way to implement the DRG method was to create a sep-arate member class simple to be called by the user.

The present Chapter starts with a detailed description of how the DRG code works, followed by its coupling with the OpenSMOKE++ solvers. Then, a brief summary of the results obtained is reported.

### 3.1

### drg code

The DRG class provides the tools to perform the reduction on de-tailed kinetic mechanisms with arbitrary number of species and reac-tions. According to the OpenSMOKE++ structure the code is written into two files; the first one contains the declaration of functions and variables and the latter one the real implementation of the functions. Four kinds of input data are required:

1. kinetic mechanism written in XML format;

2. instant conditions described by temperature, pressure and con-centrations of all the species;

3. key-species set; 4. threshold value.

Matrix represents an excellent way to store kinetics mechanism. The DRG code computes in particular three matrices:

**the stoichiometric matrix Its dimensions are N**R× NSwhere NR

is the number of reaction and NS the number of species;

**the δ matrix It has the same size of the stoichiometric matrix and**

each elements is a boolean data type, 1 if the species is involved in the reaction, 0 otherwise;

**the error matrix Its dimensions are N**S × NS and stores all the

r_{AB} coefficients calculated with equation16.

These matrices are stored in sparse format using the compulsory C++ template library Eigen [Gaël, Benoît, et al., 2010] for linear algebra. The first two matrices are computed just once at the beginning of the

3.1 drg code 21

calculation while the third one is computed at every time-step. In-fact, the error matrix computation requires temperature, pressure and all the species concentrations. Those data are recovered from the last time-step and are passed to the thermodynamic and kinetic maps for the calculation of the reaction rates. Once all the data are available, the code starts to select species and reactions.

It has been chosen to use the std::queue class which is a container adapter quite like an array or list but presents a restriction on how elements are inserted, accessed and removed [Rao, 2012]. Queues are FIFO (first-in-first-out) systems where elements can be inserted behind the previous one, and the one inserted first gets removed first.

The structure of the searching algorithm is simple. First the species selected in the key-species set are inserted in the queue, then they are processed with a for-loop which compares all the rAB value of every

species with the threshold value. If the rAB coefficient is grater than

, the compared species is take into the queue systems. The for-loop ends when the queue structure is empty. The searching algorithm is optimized in order to process the species only once.

The result of the DRG calculation is represented by two boolean data type vectors, important species and important reactions. The posi-tion of each elements is the same one stored in the kinetic mechanism, in this way is simple to know which species and reactions are negli-gible.

A piece of code is reported below to clarify the whole procedure.

**Listing 1: The DRG searching algorithm.**

// Reset important species and important reactions important_species_.assign(NS_,false);

important_reactions_.assign(NR_,true); // Initialize the queue with key-species std::queue <int> Q;

for ( int i=0; i<index_key_species_.size(); i++) {

Q.push(index_key_species_[i]);

important_species_[index_key_species_[i]]=true; }

// Searching algorithm with rAB while (!Q.empty()) { for ( int k=0; k<NS_; k++) { if (important_species_[k] == false) { if (r_(Q.front(), k) > epsilon_) { important_species_[k] = true; Q.push(k); }

3.2 preliminary analysis 22 } } Q.pop(); } // Important reactions

for (int k=0; k<delta_sparse_.outerSize(); ++k) {

for (Eigen::SparseMatrix<double>::InnerIterator it(delta_sparse_,k); it; ++it) { if (important_species_[it.row()] == false) { important_reactions_[k] = false; } } }

### 3.2

### preliminary analysis

Before performing on-the-fly the DRG, it is fundamental to verify the correctness of the DRG theory. First, the production rates of the species using the whole kinetic scheme have been compared with the production rates computed without the species considered negligible by the DRG. So a batch reactor was simulated using the GRI-Mech 3.0 [Smith et al.,2010]. The initial condition were set to:

• temperature of 1500 K;

• atmospheric pressure;

• stoichiometric Air/CH4 ratio.

The production rates were computed for every species at every time-step; then the same simulation was made but the production rates of all the species were calculated without the contribute of species eliminate by the DRG. With this procedure the concentrations of the species in every time step are the real ones, differently by the on-the-fly performance in which it does not happen. CH4-O2-OH-N2 were

set as key-species and three threshold values were used: 10−3_{, 10}−2

and 10−1. The graphics below show that the use of DRG method is
licit, since the two curves are very similar to each other. The results
of this preliminary analysis have also given some informations about
the choice of the threshold value. The threshold value of 10−1 gives
the minimum number of important species but the error on the
for-mation rates of the species is consistent. Setting = 10−2 _{instead,}

good results are given and comparable with the ones obtained with = 10−3. The difference persists only in a few species that are not the main representative of the kinetic scheme. In Figures9,10and11

3.3 coupling drg and opensmoke++ 23

the main species, i.e. CH4, CO2 and CO, are reported as a function

of the time step. The good agreement between the two trends vali-dates the DRG as a good method for the detailed kinetic mechanisms reduction.

### 3.3

### coupling drg and opensmoke++

The easier way to use the DRG on-the-fly is to act on the following system of coupled, first-order ODEs (Ordinary Differential Equations) which governs the reacting gas mixture:

dy
dξ = f(y, ξ)
y(ξ_{0}) = y_{0}
(35)

where y is the vector of unknowns (species concentrations, tempera-ture, pressure, etc., depending on the specific problem under investi-gation), ξ is the independent variable (usually the time or a spatial coordinate) and f(y, ξ) is a non-linear function of the unknowns.

In the OpenSMOKE++ framework the fundamentals equations that describe reactor behaviour are inserted in a function called Equations member of the class Reactor. This function Equations is modified in order to consider important species and reactions described by the DRG analysis.

To use the reduction method on-the-fly, it has been decided to purely and simply proceed with the calculation of the concentrations of the important species selected by the DRG at every time-step. So the derivative of the first equation of system 35for the unimportant species is set to zero.

### 3.4

### numerical simulation set up

The batch and the perfectly stirred reactor were used to carry out simulation with the DRG code. The reactors were fed with a mix-ture of methane and air in stoichiometric conditions. Three different kinetic mechanisms were adopted to perform the simulations, with increasing number of species:

• the GRI-Mech 3.0 without NOx subset [Smith et al., 2010] (36 species and 219 reactions),

• the GRI-Mech 3.0 [Smith et al., 2010](53 species and 625 reac-tions),

• the POLIMI-TOT-C1C3HT-noNOX [Ranzi et al.,2014] (84 species and 1699 reactions).

3.5 results 24

A temperature of 1500 K and atmospheric pressure were set at the
be-ginning of the calculation. The same absolute and relative tolerances,
respectively equal to 10−12 _{and 10}−7_{, were used for all the }

simula-tions. To evaluate better the DRG method, three different key set of species were tested:

• CH_{4}-O2-OH-N2,
• CH4-CO-HO2-N2,
• CH4-O2-N2.

The threshold value was set to 10−2 for all the cases since the pre-liminary analysis reported in section3.2showed that this value is the right compromise between accuracy and number of species consid-ered.

### 3.5

### results

The following graphs, Figure 12 to Figure19, show the mass frac-tions of the species obtained with the on-the-fly run of the DRG method compared with the mass fractions obtained with standard use of OpenSMOKE++ solvers. The mass fractions are presented as a function of time. It is evident that the choice of the key species set is irrelevant in this kind of analysis; the three curves are equiv-alent. Those trends are compared with the results obtained without the DRG method; they have the same tendency but even if there is a shift in time, the same final solution is reached.

Figure 20 shows the temperature profiles in a batch reactors. The same initial conditions were used and each figure is relative at one of the three kinetics schemes used. The same temperature profile is obtained. No difference in the prediction of temperature profiles related to the different key species set, the three curves are coincident.

The DRG method used on-the-fly predicts well the solution of the ideal reactors; also final values of minor species are the same. The final solution is reached with a 10−6 order of magnitude delay.

3.5 results 25

**(a)**

**(b)**

**(c)**

**Figure 9: Formation rates for three main species with different threshold**
value: (a) CH4, (b) O2 and (c) CO.

3.5 results 26

**(a)**

**(b)**

**(c)**

**Figure 10: Formation rates for three main species with different threshold**
value: (a) NO2, (b) NO and (c) N2O.

3.5 results 27

**(a)**

**(b)**

**(c)**

**Figure 11: Formation rates for three main species with different threshold**
value: (a) HO2, (b) CO2 and (c) OH.

3.5 results 28

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 12: Mass fraction for main species in isothermal batch reactor with**
GRI-Mech 3.0 kinetic mechanism: (a) CH4, (b) CO, (c) CO2, (d)
H2O, (e) O2 and (f) OH.

3.5 results 29

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 13: Mass fraction for main species in isothermal batch reactor with**
GRI-Mech 3.0 without NOXkinetic mechanism: (a) CH4, (b) CO,
(c) CO2, (d) H2O, (e) O2and (f) OH.

3.5 results 30

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 14: Mass fraction for main species in isothermal batch reactor with**
POLIMI-TOT-C1C3HT-noNOX kinetic mechanism: (a) CH4, (b)
CO, (c) CO2, (d) H2O, (e) O2and (f) OH.

3.5 results 31

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 15: Mass fraction for main species in isothermal transient stirred **
re-actor with GRI-Mech 3.0 kinetic mechanism: (a) CH4, (b) CO, (c)
CO2, (d) H2O, (e) O2 and (f) OH.

3.5 results 32

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 16: Mass fraction for main species in isothermal transient stirred **
re-actor with GRI-Mech 3.0 withot NOX kinetic mechanism: (a)
CH4, (b) CO, (c) CO2, (d) H2O, (e) O2and (f) OH.

3.5 results 33

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 17: Mass fraction for main species in adiabatic batch reactor with**
GRI-Mech 3.0 kinetic mechanism: (a) CH4, (b) CO, (c) CO2, (d)
H2O, (e) O2 and (f) OH.

3.5 results 34

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 18: Mass fraction for main species in adiabatic batch reactor with**
GRI-Mech 3.0 without NOXkinetic mechanism: (a) CH4, (b) CO,
(c) CO2, (d) H2O, (e) O2and (f) OH.

3.5 results 35

**(a)** **(b)**

**(c)** **(d)**

**(e)** **(f )**

**Figure 19: Mass fraction for main species in adiabatic batch reactor with**
POLIMI-TOT-C1C3HT-noNOX kinetic mechanism: (a) CH4, (b)
CO, (c) CO2, (d) H2O, (e) O2and (f) OH.

3.5 results 36

**(a)**

**(b)**

**(c)**

**Figure 20: Temperature profiles in adiabatic batch reactor for three different**
mechanism with different key species set: (a) GRI-Mech 3.0, (b)
GRI-Mech 3.0 without NOX, (c) POLIMI-TOT-C1C3HT-noNOX.

### 4

### D R G A N A L Y S I S O F L A M I N A R

### F L A M E S

In the previous chapter the DRG code was validate using ideal reactors. The results showed that mass fractions species are well pre-dicted by the DRG. In this chapter the same DRG code was coupled with the open source solverlaminarSMOKEand used in computational simulations performed to study laminar flame.

### 4.1

### coupling drg and laminarsmoke

The DRG is set up in the solverOption file which is inserted in the constant folder of the simulation. In order to perform a more detailed DRG analysis, the threshold value, , can be set as a function of the temperature. Therefore, it is possible to set a more conservative value of in the reactive zones.

Every cell of the computational domain is considered as a batch reactor. The chemistry is solved with the same procedure described in section3.3so the DRG is performed in every cell of the computational domain.

### 4.2

### numerical simulation set up

A pulsating laminar coflow flame fed with a mixture of 34% ethy-lene diluted in nitrogen was simulated to test the DRG behaviour. This kind of flames was widely studied by Smooke et al. in [Bennett et al., 2001], [McEnally et al., 1998], [Shaddix and Smyth, 1996] and [Mohammed et al.,1998]. The inner jet is assumed to have a flowrate about vfuel = 12, 5 cm/s. The coflow is composed of air (YO2 = 0, 23 and YN2 = 0, 78) with a flowrate of vair = 32 cm/s. Simulations were carried out using a rectangular, 120x40 [mm], structured mesh of 6500 cells, with finest cells in the region immediately above the burner surface. In Figure 21 the schematic for the burner and the computational domain are reported. The simulation was performed to obtain the stationary solution, then the fuel velocity is modified in order to have a time-dependent diffusion flame [S. B. Dworkin et al., 2009], [S. Dworkin et al., 2007] to study the transient behaviour

4.3 results 38

**(a)** **(b)**

**Figure 21: (a) Schematic for the burner used for the flame [**Bennett et al.,

2001]. (b) Structured mesh used in the simulations.

of the DRG method. The time-variation in the flame is produced by imposing a sinusoidal velocity fluctuation across the fuel jet:

vz= 2vfuel(1 −

r2

r2_{I})[1 + αsin(2πft)] (36)
where the velocity amplitude α is 50% and the frequency is f = 20Hz.
This function is the same used byS. B. Dworkin et al.,2009.

Three different initial set of key species were investigate and
com-pared with the numerical solution obtained without the use of the
reduction method. They are summarized in Table 2. Two
thresh-old values were set: 10−_{1}_{for temperature interval between 320 − 700}

Kelvin and 10−2 for temperature interval between 700 − 4000 Kelvin and the GRI-Mech 3.0 detailed kinetic scheme was used.

**Table 2: List of key species set used in the laminar flame simulations.**

Initial set name Species DRG C2H4− O2− N2

DRGOH C2H4− O2− N2− OH

DRGCO C2H4− CO − HO2− N2

### 4.3

### results

In this section, the results of the computational simulations are pre-sented. The mass fractions trends of the major species and temper-ature profiles are compared at different axial positions for the same time step. To show the DRG behaviour in transient problem, the tem-perature and main species fields obtained in with DRG are compared

4.3 results 39

with the numerical simulations. The results about the CPU saving time are reported at the end of this section.

4.3.1 Mass fractions and temperature

The solution of the numerical simulation with the complete kinetic scheme is well predicted by all the initial sets reported in Table 2. In Figure 23 the ethylene mass fractions are showed; the accordance with the numerical solution is obtained in the first axial positions, then there is a little difference between the numerical solution and the results obtained with the DRG but the mass fraction is so small that this difference is not significant. Temperature and Species CO, CO2,

H_{2}O, NO2, N2, O2 and OH are showed in Figure22,24,25,26,27,28,
29 and 30; the trends obtain with the three different key species set
are almost the same obtained with the numerical solution, especially
at the farthest axial positions. The DRGOH and DRG underestimate

the temperature on the order of ∼ 70 K in the reactive zone at the first axial positions; Figure 31 focus the attention on the number of species, hence reactions, considered important by the DRG analysis. Even if the DRGCO selects a minus number of species, the results

show that this key species set is better than the other ones.

It is evident that the key species initial set is important to predict the species mass fraction and the temperature. In Figure 31 temper-ature trends at axial position of 3 mm is used to focus the attention on the different behaviour of key species set. DRGOH and DRG set

select a different number of species than the DRGCO but this latter

one predicts better result than the other two. In Figure31the number of species and reactions selected by the three different sets are shown.

4.3.2 Transient behaviour

The DRG simulation with the initial key species set [C2H4− CO −

HO_{2}− N_{2}] is used in this section to demonstrate that the DRG is able
to well predict the variables, such as temperature and species mass
fractions, even in a transient system. Figures 31, 33, 34, 35, 36 and
37 show the results obtained in the numerical simulation, left side,
compared with the ones obtained with the DRG reduction, right side
at three different inlet velocity: 37.5 cm/s, 25 cm/s and 12, 5 cm/s.
The transient behaviour of the DRG is the confirm that the
on-the-fly use of DRG method in CFD simulation is possible with no big
differences in the results.

4.3 results 40

4.3.3 CPU time saving

The simulations were run in parallel with the same number of pro-cessors. In Table 3 the time spent to carry out the same number of time step to complete the simulations is summarized.

**Table 3: Time for solving the numerical simulations.**

Simulation Time [h] no DRG ∼ 58

DRG ∼ 34

DRGOH ∼ 36

DRGCO ∼ 34

The DRG method reduced the CPU time and predict almost the same results of the numerical simulation with the complete detailed mechanism. Figure32, show he number of species and reactions at a specific time step. The reactive zone is the one with the major number of species, therefore reactions, considered. Surroundings the reactive zone, the number of species decreases until very low numbers; never-theless the good agreement of the mass fractions species in this zone confirms the DRG as a good reduction method to run on-the-fly for CPU time saving.

4.3 results 41

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 22: Temperature trends at different axial position.** The results of
the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 42

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 23: C**2H4 mass fractions trends at different axial position. The
re-sults of the DRG analysis with different species set are compared
with the numerical simulation without the reduction of kinetic
mechanism.

4.3 results 43

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 24: CO mass fractions trends at different axial position. The results**
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 44

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 25: CO**2mass fractions trends at different axial position. The results
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 45

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 26: H**2Omass fractions trends at different axial position. The results
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 46

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 27: N**2 mass fractions trends at different axial position. The results
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 47

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 28: NO**2mass fractions trends at different axial position. The results
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 48

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 29: O**2 mass fractions trends at different axial position. The results
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 49

**(a) 3 mm****(b) 10 mm**

**(c) 20 mm****(d) 30 mm**

**(e) 40 mm****(f ) 50 mm**

**(g) 60 mm****(h) 70 mm**

**Figure 30: OH mass fractions trends at different axial position. The results**
of the DRG analysis with different species set are compared with
the numerical simulation without the reduction of kinetic
mech-anism.

4.3 results 50

**(a) Temperature trends at axial position of 3 mm.**

* (b) Number of reactions at axial position of 3 mm for DRG*CO, DRGOHand DRG.

* (c) Number of species at axial position of 3 mm for DRG*CO, DRGOHand DRG.

**Figure 31: Number of species and reactions at the axial position of 3 mm**
to explain different result of temperature trends obtained with
DRGCO, DRGOHand DRG.

4.3 results 51

**(a)**

**(b)**

**Figure 32: Number of reactions (a) and species (b) considered important by**
DRG analysis.

4.3 results 52
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )** π2

**Figure 33: Temperature fields at different time step. The results of the DRG**
analysis, right side, are compared with the numerical simulation
without the reduction of kinetic mechanism, left side.

4.3 results 53
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )** π2

**Figure 34: Mass fractions of CO at different time step. The results of the**
DRG analysis, right side, are compared with the numerical
sim-ulation without the reduction of kinetic mechanism, left side.

4.3 results 54
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )** π2

**Figure 35: Mass fractions of CO**2 at different time step. The results of the
DRG analysis, right side, are compared with the numerical
sim-ulation without the reduction of kinetic mechanism, left side.

4.3 results 55
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )** π2

**Figure 36: Mass fractions of NO at different time step. The results of the**
DRG analysis, right side, are compared with the numerical
sim-ulation without the reduction of kinetic mechanism, left side.

4.3 results 56
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )** π2

**Figure 37: Mass fractions of NO**2 at different time step. The results of the
DRG analysis, right side, are compared with the numerical
sim-ulation without the reduction of kinetic mechanism, left side.

4.3 results 57
**(a)** 32π **(b)**
3
2π
**(c) π** **(d) π**
**(e)** π2 **(f )**
π
2

**Figure 38: Mass fractions of H**2Oat different time step: (a) and (b). The
re-sults of the DRG analysis, right side, are compared with the
nu-merical simulation without the reduction of kinetic mechanism,
left side.