You are on page 1of 7

Computer Physics Communications 177 (2007) 493–499

www.elsevier.com/locate/cpc

Improvements of hierarchical algorithm for equilibrium calculation


Gianpiero Colonna
CNR-IMIP, Bari section and Dipartimento di Chimica, Università di Bari, Italy
Received 18 November 2006; received in revised form 15 January 2007; accepted 29 January 2007
Available online 29 May 2007

Abstract
The hierarchical method for chemical equilibrium computation consists in calculating the equilibrium composition one reaction per time. The
algorithm has been proved to be very efficient and accurate. The method presents some problems in extreme conditions due to truncation errors.
Some solutions have been proposed to overcome such problems, making the hierarchical approach fast and accurate in all the conditions.
© 2007 Elsevier B.V. All rights reserved.

PACS: 82.60.Hc; 52.25.Kn

Keywords: Homogeneous gas phase equilibrium; Chemical equilibrium; Method of calculation; Plasma composition; Stoichiometric algorithm

1. Introduction authors [5,6] in the 1950s and 1960s but they cannot avoid
the problems encountered by Villars in his works [3,4]. Con-
The calculation of equilibrium composition is a problem sequently, the hierarchical approach has been abandoned.
of interest in many fields of physics and chemistry. The algo- In our previous paper [2] we have shown that the problems in
rithms commonly used are based on the simultaneous solution hierarchical approach evidenced in earlier works [3–6] can be
of nonlinear equilibrium equations generated by the minimiza- easily overcome, resulting in a very efficient algorithm. Only in
tion of Gibbs free energy. The equations are usually solved by some extreme cases, when equilibrium constants are very small
Newton–Raphson method for nonlinear systems [1]. or very high, the algorithm described in [2] looses efficiency
In a previous paper we have proposed an alternative method and precision due to truncation errors. The efficiency loss is
to calculate equilibrium composition of complex systems [2]. relevant when the equilibrium algorithm is included in other
The method has been applied to ionized gases that present the numerical programs, such as fluid dynamic codes [7], where
further difficulty of having equilibrium constants depending on chemical equilibrium is calculated under constant volume and
the composition (electron concentration, particle density) and energy constraints.
can consider different constraints such as constant volume or In this paper we will suggest how to improve considerably
pressure and constant temperature or energy. We improve the stability, efficiency and precision of the method previously pro-
approach of Villars [3,4] that brings to equilibrium one reac- posed. The algorithm has been tested at constant pressure and
tion at time in an appropriate order (hierarchical approach). temperature.
This method has the advantage of avoiding inversion of large
matrices and, solving nonlinear equations directly, speeding up 2. Theory summary
the convergence [1]. Villars [3,4] asserts that the hierarchical
algorithm always converges, but the speed of convergence (ef- Consider a set of chemical reactions written in the form
ficiency) depends on many conditions and it can be improved 
nr 
np
by ad hoc intervention of the researcher, reducing the degree of Crj,i Ri ⇔ Cpj,i Pi , (1)
automatization. This method has been explored also by other i=1 i=1

where j is the reaction index, Ri and Pi are the reacting species


E-mail address: gianpiero.colonna@ba.imip.cnr.it. and Crj,i and Cpj,i are the stoichiometric coefficients, which
0010-4655/$ – see front matter © 2007 Elsevier B.V. All rights reserved.
doi:10.1016/j.cpc.2007.01.012
494 G. Colonna / Computer Physics Communications 177 (2007) 493–499

are all positive. The species at the left side (Ri ) are called reac- For many-reaction systems, Eq. (7) must be solved one reac-
tants and those on the right side (Pi ) are called products. Once tion after the other. The critical point is to choose the reaction
assigned the concentrations [Xi ] to all the species, it is possible ordering that gives the fastest convergence. Reaction distance
to define a quantity for each reaction called reaction quotient is the quantity used to determine the ordering: the equilibrium
(Πj ) composition is calculated solving Eq. (7) for the reaction with
np the highest distance. Then, positions and distances are recalcu-
[Pi ]Cpj,i Πpj
Πj = i=1 nr = . (2) lated according to the updated concentrations. The procedure is
i=1 [Ri ]
Cr j,i Πrj repeated until convergence (see detail in [2]). The two distances
The unit of the species concentration [Xi ] can be the molarity, (Eqs. (4), (5)) have different properties that make them useful
the molar fraction or the partial pressure. The mass action low for different purposes; ϑ1 is suitable to determine a first approx-
(equilibrium equation) can be written as imation giving very good accuracy only for majority species, ϑ2
np Cp is used to refine the solution calculating the secondary species
(eq) [Pi ]eq j,i Πpj (eq) concentration.
Kj = Πj = i=1 Cr
= (3)
nr
[Ri ]eq j,i Πrj (eq) The main problem of the hierarchical method is that some
i=1
reactions are solved cyclically making at each iteration a small
where Kj is the appropriate equilibrium constant of the j th
step toward equilibrium. An important feature of the algorithm
reaction and the index (eq) refers to quantities calculate at equi-
in Ref. [2] was to automatically build new reactions that short-
librium.
For each reaction it is possible to define a quantity, that we cut the slow converging reaction set: if two reactions are solved
call “reaction position” (with respect to equilibrium) and indi- one after the other for a given number of times, they are com-
cated as “ϑ ”, with the following properties: bined to give a new reaction that is added to the system (see
details in [2]), doing in one step what the original set does in
(a) ϑ > 0 if the reaction is shifted towards reactants; hundreds or thousands. The new reaction can substitute one of
(b) ϑ < 0 if the reaction is shifted towards products; the parent reactions, maintaining the same number of reactions
(c) ϑ = 0 if the reaction is at equilibrium. for all the calculation. Alternatively the “shortcut” reaction can
be added to the system; with the hierarchical approach it is pos-
The reaction distance is defined as the absolute value of the sible also to consider nonminimal reaction sets because there is
position. no matrix to invert.
We introduce two different definitions of the reaction posi- The solution algorithm is built as follows
tion, both continuous functions of the concentrations
(1) External cycle in which the convergence criterion is checked.
ϑ1j = Kj Πrj − Πpj , (4) (2) Internal cycle performed a given number of times (Nstp).
⎧ Kj Πrj

⎨ Πpj − 1, Kj Πrj < Πpj , (3) Equilibrium calculation of the reaction with highest dis-
ϑ2j = 1 − Πpj , Kj Πrj > Πpj , (5) tance.

⎩ Kj Πrj (4) Check of the number of times each reaction has been solved
0, Kj Πrj = Πpj . inside the internal cycle.
These two distances present different properties; the first dis- (5) If one reaction is solved a given number of times (Nrep) it
tance is not limited while the second one ranges from −1 to 1 is combined with another one, having in common at least
(see Ref. [2]). one species, to create the shortcut reaction.
Given an initial set of species concentration, each reaction (6) Internal cycle closing.
is mono-variant and therefore the distance depends on one real (7) Check of distances and errors for the convergence.
variable x (the extent of reaction), defined by the relation (8) External cycle closing.
[Ri ] = [Ri ]0 − Crj,i x,
The convergence criterion can consider either the maximum
[Pi ] = [Pi ]0 + Cpj,i x. (6) distance or the relative variation of concentration. We prefer to
For a given reaction the equilibrium composition is given by use both conditions, which make the algorithm less sensitive to
the solution of the polynomial equation related to the distance numerical errors [2].
ϑ1 in Eq. (4) calculated for concentration given in Eq. (6). The number of steps of the internal cycle and the number
of times a reaction is repeated before a shortcut reaction is cre-
Fj (x) = Kj Πrj − Πpj = 0. (7) ated are strictly connected: Nrep does not need to be very large
Eq. (7) has always a physical solution whose bracketing can to avoid useless repetition of the reaction trap and Nrep = 4
be determined by Eq. (6) [2], considering that all the concen- is sufficient to understand if a trap is encountered. Introducing
trations must be positive. For second order polynomials, the the concept of “trap order” as the number of reactions involved
solution can be calculated directly, otherwise Newton or secant in the trap, the quantity MTO = (Nstp − 1)/(Nrep − 1) gives
methods are adequate, with minimal computational require- the maximum trap order detectable. A good compromise is to
ments. choose MTO between 3 and 5.
G. Colonna / Computer Physics Communications 177 (2007) 493–499 495

Steps 1 to 8 are done twice, first considering ϑ1 position and the ordering regardless the value of the equilibrium constants.
after ϑ2 . This approach is very fast and accurate allowing also It should be reminded that the algorithm is separated in two
a precision close to the computer limit. stages: the first one uses ϑ1 that is suitable to determine major-
ity species, while the second stage uses ϑ2 to refine the solution
3. Problems and solutions and to calculate minority species. To solve the problems of the
first stage, where the distance is ϑ1 , we follow this procedure:
The algorithm described above presents problems in some if ϑ2 is lower than a given tolerance, the distance ϑ1 must be
cases, reducing accuracy for low concentrations and, more im- considered null, attributing its value to truncation errors. Sim-
portant, decreasing the efficiency. The loss of accuracy and ef- ilarly, this approach can be applied also to ϑ2 : if ϑ1 is smaller
ficiency are connected, because the reaction sequence chosen than a given tolerance, ϑ2 must be considered null. In the two
to reach the equilibrium is not adequate, and the series needs cases this method has different consequences; for ϑ1 this ap-
so many iterations to converge. It can occur also that the sys- proach finds numerical errors, while for ϑ2 it neglects reactions
tem has already reached the convergence, but the convergence with small extent, reducing the accuracy of the algorithm.
criterion is not fulfilled due to numerical errors. The source of Alternatively, for the second stage a combination of ϑ1 and
these problems is the limited numerical precision of computer ϑ2 can be used to decide which is the reaction to bring to equi-
representation of numbers (machine epsilon). librium. If two reactions have the same value of ϑ2 the one
The first cause of efficiency loss is related to the inaccurate to solve is that one with the larger value of ϑ1 . The algorithm
determination of the physical root of the polynomial in Eq. (7). works better if the condition on ϑ2 is relaxed, in the sense that
This problem rises when some equilibrium constants are very firstly we select all the reactions with ϑ2 in a given interval and
high or very small and consequently the extent of such reactions then we choose the reaction with the largest value of ϑ1 .
is very small. Direct or numerical root-finding procedure cannot Eq. (4) presents another characteristic, that in some cases
get an adequate approximation of the solution of Eq. (7), es- can give convergence problems; if a reaction is the reverse of
pecially for the inaccuracy of the polynomial coefficients. This another one, they have different values for ϑ1 , being the equi-
kind of error is relevant when the ϑ2 position is used, making its librium constants one the inverse of the other. This situation
value, for some reactions, to oscillate between −1 and 1. In this can be relevant if the reaction set is not minimal and one of the
situation the algorithm behavior mimics, erroneously, the con- created shortcut reactions is equal to the reverse of a reaction
dition that brings to the creation of a shortcut reaction, slowing already present in the minimal set. To overcome this problem
convergence. A possible solution of this problem is to mask re- we define in Eq. (8) a new distance that is invariant with respect
actions with very small value of ϑ1 , improving the efficiency of to reaction inversion, as ϑ2 , but that is unlimited as ϑ1 .
the algorithm but reducing its accuracy, because some reactions 
Kj Πrj − Πpj , Kj < 1,
are neglected. ϑ3j = Πp (8)
Πrj − Kjj , Kj > 1.
It is possible also to use a “special” root-finding algorithm
when numerical errors are very relevant in Eq. (7), considering This distance can be used in place of ϑ1 in selecting between
that, being the root of the polynomial very close to one of the the reactions in the second stage. The distance ϑ3 is used only
extremes, Newton and secant methods converge very slowly. at this purpose and not to substitute ϑ1 in the first stage of the
A weighted bisection method has been demonstrated to be more algorithm, where it induces a dramatic loss of efficiency.
efficient: a weight coefficient “α” is considered and the next
guess is calculated as αxl + (1 − α)xh where xl and xh are the 4. Results and discussion
bracketing values. Choosing a very small “α” value (∼10−3 ),
the convergence is speeded up of many orders of magnitude. In this section we investigate the effects of the improvements
The method can be improved adapting “α” to the needs of the discussed in the previous section on the precision and efficiency
program. If |ϑ2 (x)| > 0.999, the weight is further reduced by a of the hierarchical algorithm. Using the two-stage algorithm,
factor 10, otherwise, if |ϑ2 (x)|  1, α is increased. We use this with the error control on ϑ1 based on ϑ2 , we focused on the
root-finding algorithm only for “bad” reactions, when all the effects of the following features:
other methods fail. The weighted bisection method is applied to
calculate the extent of reaction solving the equation ϑ2 (x) = 0, (1) Weighted bisection root-finding algorithm for “bad” reac-
which is less sensitive to machine epsilon than Eq. (7). tions;
Machine epsilon is relevant also in the calculation of the re- (2) Choice of the reaction using the combination of ϑ2 and ϑ1 ;
action distances (Eqs. (4), (5)). If the equilibrium constant of a (3) Use of ϑ3 in place of ϑ1 in point (2);
reaction is very high, at the equilibrium, its ϑ1 can be larger than (4) Error control on ϑ2 : ϑ2 = 0 if ϑ1 < εϑ12 .
the value corresponding to a reaction far from equilibrium and
characterized by a small K. It must be noted that the distance We test the algorithm on air plasma [2] at the pressure of
ϑ2 , being a relative value, is very small if a reaction is close 1 atm and starting from XN2 = 0.8 and XO2 = 0.2 molar frac-
to equilibrium, independently by the value of the equilibrium tions. We consider three temperature ranges:
constant, and it can be used to detect numerical errors in ϑ1 . On
the other hand, it can happen that different reactions have the (I) 10–1000 K, T = 10 K, where the gas is almost at the
same value of ϑ2 , generally ±1, having the same priority for initial composition.
496 G. Colonna / Computer Physics Communications 177 (2007) 493–499

(II) 1000–10 000 K, T = 100 K, where the dominant process the equilibrium composition is displayed in Fig. 1. Note that
is dissociation. we have chosen as NO formation channel, the reaction involv-
(III) 10 000–100 000 K, T = 1000 K, where ionizations are ing atoms instead of molecules, introducing a further difficulty
the leading processes. at low temperature, being atomic concentration very low. The
problems described in the previous section are met mainly in
The minimal reaction set considered and the equilibrium the first temperature range, but the tests are performed in the
constant for different temperatures are reported in Table 1 and other intervals to control the stability in all the conditions.

Table 1
Equilibrium constants of the reactions considered at different temperatures
log(Keq )
T = 100 K T = 1000 K T = 5000 K T = 10 000 K T = 30 000 K
Reactions N2 ↔ 2 N −1110.3 −85.93590 5.036874 16.94815 29.62973
N2 ↔ N2 + + e− −1798.5 −165.3994 −16.59715 3.624266 18.13983
N ↔ N+ + e− −1679.7 −153.5874 −14.39963 4.127968 15.70289
N+ ↔ N+2 + e− −3428.1 −329.5341 −50.56606 −14.51822 10.86431
N+2 ↔ N+3 + e− −5497.2 −537.5887 −93.27721 −36.50893 3.104701
N+3 ↔ N+4 + e− −8980.8 −883.7819 −160.5291 −68.89310 −6.460977
O2 ↔ O 2 + + e − −1391.8 −125.6238 −9.595570 5.960819 18.37340
O2 + e− ↔ O2 − 42.758 −7.681201 −16.56471 −19.04409 −22.68414
O2 ↔ 2 O −572.02 −32.49372 15.62565 21.72691 28.97627
O ↔ O+ + e − −1571.8 −144.1756 −13.81455 3.714115 16.15614
O+ ↔ O+2 + e− −4071.7 −392.8815 −62.25641 −19.72256 9.825148
O+2 ↔ O+3 + e− −6367.5 −623.5494 −109.3668 −43.89081 1.235014
O+3 ↔ O+4 + e− −8975.6 −885.2708 −162.8089 −71.27454 −8.567586
N + O ↔ NO 817.43 51.250 −10.731 −18.878 −28.564
NO ↔ NO+ + e− −1067.8 −94.88367 −4.713501 7.757746 18.43401
O + e− ↔ O − 177.49 3.713479 −15.26020 −18.91194 −24.35636

Fig. 1. Equilibrium composition of air mixture as a function of temperature.


G. Colonna / Computer Physics Communications 177 (2007) 493–499 497

For double-precision code (machine epsilon = 10−16 ) we new features, while in the high temperature range we have a
assign the following to convergence parameters: 30% reduction in the number of iterations in cases C, D and E.
The use of a minimal set is relevant only in the low temper-
εϑ1 = 10−3 , tolerance for ϑ1 , ature range (see Table 3) when case D is considered, while in
εϑ2 = 10−15 , tolerance for ϑ2 , case E, switching on the feature 3, no improvement is observed,
εe = 10−14 , tolerance for relative error on concentrations, because the distance ϑ3 is not affected by the reaction direction.
εϑ2rel = 10, ratio between the maximum and the minimum A characteristic of the hierarchical approach is that the preci-
values admitted for ϑ2 in the convergence criterion at sion is not connected directly to the number of iterations, but on
point (2), the accuracy of the root-finding routines, as can be observed in
εϑ21 = 10−100 , tolerance for ϑ1 to consider ϑ2 = 0, Fig. 2, where we report the electron molar fraction profile at dif-
xmin = 10−100 , minimum admitted value for concentration. ferent temperatures calculated in the same cases as in Table 2.
We observe that in cases A and B the electron molar fraction
We consider 30 000 as maximum number of iterations per presents large errors even for concentration values of the order
stage. These values have been chosen to determine accurately of 10−6 −10−5 , while cases C, D and E coincide in the consid-
very small concentrations (of the order of 10−100 ) even if they ered range. A more detailed analysis can be performed studying
are physically meaningless, but useful for testing numerical pre- the relative error (see Fig. 3), using case E values as reference,
cision. extending the range of temperatures. The cases A and B present
The improvements described in this paper are effective in very large errors at low temperature, contrary to cases C and D.
the first temperature range, where the equilibrium composition The error reduction is mainly due to the relaxed convergence
should be obtained in few iterations. The second temperature criterion described at point 2. The other changes are useful to
range is the one that need the largest number of iterations be- reduce the number of iterations. It is worth noticing that case A
shows a 1% to 10% error also at high temperature.
cause it is the most complex for chemistry. The range III is
Comparing Figs. 2 and 3 with Table 2 it turns out that a poor
dominated by ionization, the gas composition is very simple,
efficiency results in higher errors, due to reaction traps not re-
being constituted mainly by atomic ions, therefore the number
solved and to reactions never considered. Some errors observed
of iteration is not very high.
In Table 2 the total number of iterations (i.e. the number of
Table 3
solved reactions) to reach the equilibrium, for all the temper- Number of reactions solved to reach the convergence for cases D and E and for
atures in the given ranges, are reported. As stated above, the different temperatures, keeping a minimal set (+m) or with a nonminimal set
changes are more effective in the temperature range I, even if (with one more reaction)
an increase of efficiency is observed in all the ranges when the T = 300 K T = 500 K T = 800 K
suggested improvements are considered. We see that including D 30001 30001 30001
the weighted bisection root-finding routine for “bad” reactions D+m 49 48 109
reduces the number of iterations by a factor 4, while the new E 33 32 91
E+m 34 33 93
convergence criterion for ϑ2 reduces the number of iteration of
a factor 40.
Considering at the same time the new features 1 and 2
(case D), the efficiency of the algorithm is dramatically de-
creased, while considering feature 3 instead of 2 (case E) brings
again the convergence to reasonable values. Problems in case D
are due to the creation of shortcut reactions that are the reverse
of a reaction of the minimal set, meeting a reaction trap that
the method cannot bypass. Such problem can be solved in two
different ways: we can consider only a minimal reaction set,
substituting one of the trap reactions with the shortcut reaction
or we can use ϑ3 , as in case E. At intermediate temperatures
(range II), the number of iterations is weakly influenced by the

Table 2
Number of iterations for the three different temperature ranges considering the
different features listed in Section 4
Case Features I range II range III range
A None 1800220 34622 31000
B 1 432628 34600 29958
C 2 4358 33764 22770
D 1+2 2011385 34101 21785
E 1+3 4782 34101 21778 Fig. 2. Electron molar fraction as a function of temperature for the cases in
Table 2.
498 G. Colonna / Computer Physics Communications 177 (2007) 493–499

Fig. 3. Relative difference of electron molar fraction in cases A–D in Table 2 Fig. 4. Temperature Tmin (see Table 4) for some air species as a function of
with respect to case E. tolerance εϑ12 .

Table 4
Temperature lower limit (Tmin ) for a correct value of concentration (Xmin ) for
the case E in Table 2
Case e NO N2 +
Tmin (K) 250 230 380
Xmin 1.8223e−112 4.5142e−21 1.3718e−136

in case A at high temperature are related to inaccuracy in the


traditional root-finding routines and therefore are reduced by
considering feature 1 (case B).
We have also investigated contribution of feature 4, studying
the effect of considering null the distance ϑ2 when ϑ1 is lower
than the tolerance εϑ12 , neglecting completely some reactions
and reducing the accuracy of the results. In this case “accura-
cy” does not mean that the concentrations are calculated with a
given percentage error, but that some concentrations are com-
pletely wrong, while some other have a very good accuracy. As
a consequence, reporting the molar fraction error as a function
of the tolerance is meaningless because it is not a continuous
function. For error analysis we estimate the lowest tempera- Fig. 5. Molar fraction Xmin at Tmin for some air species as a function of toler-
ance εϑ12 .
ture at which the concentration of a given species is calculated
“exactly” (Tmin ) and the concentration value (Xmin ). The cal-
culations are performed adding feature 4 to case E varying the as an example, Tmin (250 K in case E) passes from 470 K for
tolerance εϑ12 . We have focused on three species for which is εϑ12 = 10−100 to 4000 K for εϑ12 = 1 and correspondingly
“difficult” to determine the concentration and in particular elec- Xmin (10−112 in case E) passes from 10−57 to 10−6 . On the
trons (e), nitrogen monoxide (NO) and molecular nitrogen ion other hand, for NO, the maximum value of Xmin is 10−2 . Obvi-
(N2 + ), having small molar fractions in all the temperature range ously molar fractions below 10−10 −10−20 can be neglected in
at the pressure of 1 atm. The reference values (case E) are re- almost all the applications and therefore a tolerance value can
ported in Table 4. be determined to have the required accuracy with the minimum
It is worth noticing that Tmin and Xmin present a regular computational load. The problem is to determine if the accuracy
monotonic trend, as can be observed in Figs. 4, 5, and in par- reduction corresponds to efficiency increase, that is not obvious
ticular Log(Xmin ) is linear with respect to Log(εϑ12 ) (Fig. 5). in hierarchical approach as discussed previously (see Fig. 2 and
The loss of accuracy can be observed comparing these results Table 2). Improvements of the efficiency are observed in Fig. 6
with the standard values of Table 4. Considering the electrons for the first temperature range, while for the higher tempera-
G. Colonna / Computer Physics Communications 177 (2007) 493–499 499

equilibrium constants, that hierarchical methods, solving one


equation per step, do not meet.
Some of the proposed solutions allow the tuning of accuracy
and efficiency and therefore makes this method suitable for in-
cluding this equilibrium algorithm in other codes such as fluid
dynamic calculations. Further investigation is needed for con-
sidering fluid dynamic conditions (constant energy), where the
equation for temperature must be added.
The hierarchical method seems to be very promising and the
comparison with other approaches will be useful to understand
its applications.

Acknowledgements

This work has been partially supported by ESTEC/Contract


“Tables of Internal Partition functions and Thermodynamic
Properties of High-Temperature Jupiter-Atmosphere Compo-
nents from 50 K to 100,000 K”, by REGIONE PUGLIA un-
der strategic program PS_136 “Sviluppo di un rivelatore a
Fig. 6. Number of iterations for the different temperature ranges (I–III) and for film di diamante per radiazione ultravioletta”, by MIUR under
the overall range (All) normalized to the number of iterations in case E (see PRIN2005 (Project No. 2005039049_005) and FIRB (Project
Table 2).
No. RBAU01H8FW_003).
ture ranges and for the overall range a small loss of efficiency
References
is observed for very small tolerance, while for higher tolerance
the efficiency is improved also at higher temperature. The use [1] W.R. Smith, R.W. Missen, Chemical Reaction Equilibrium Analysis: The-
of this feature should be evaluated according the conditions of ory and Algorithms, John Wiley and Sons, New York, 1982.
calculations and the accuracy required. In producing thermody- [2] G. Colonna, A. D’Angola, A hierarchical approach for fast and accurate
namic tables computational load is not a real problem because equilibrium calculation, Comput. Phys. Comm. 163 (2004) 177–190.
[3] D.S. Villars, Computation of Complicated Combustion Equilibria on a
the overall solution (282 different temperatures) in case E re-
High-Speed Digital Computer, in: G. Bahn, E. Zuckowsky (Eds.), Proceed-
quire 3.6 sec calculation on a 1.2 GHz PowerMac G4. ings of the First Conference on the Kinetics Equilibria and Performance
of High Temperature Systems, Western States Section of the Combustion
Institute, Butterworths Scientific Publications, Washington, DC, 1960.
5. Conclusions
[4] D.S. Villars, A method of successive approximations for computing com-
bustion equilibria on high speed digital computer, J. Phys. Chem. 60 (1959)
In this paper we have shown how to improve the equilibrium 521.
[5] D.R. Cruise, Notes on rapid computation of chemical equilibria, J. Phys.
calculation with the hierarchical method described in [2] for Chem. 68 (1964) 3797.
different conditions and in particular when the values of some [6] K. Meintjes, A.P. Morgan, Performance of algorithms for calculating the
equilibrium constant are very large or very small. The solution equilibrium composition of a mixture of gases, J. Comp. Phys. 60 (1985)
here presented is based on treating the numerical errors with- 219.
[7] A. Casavola, G. Colonna, L. Pesce, M. Capitelli, Laser induced plasma
out increasing numerical precision, but just understanding when
in a water bubble, in: M. Capitelli (Ed.), XXIV International Symposium
the numerical problems arise. In this case we do not deal with on Rarefied Gas Dynamics, AIP Conference Proceedings 762, Portogia-
stiffness problems, because the errors are due to finite number rdino, Monopoli, Bari, Italy, July 10–16, 2004, Melville, New York, 2005,
representation (machine epsilon) and not to large differences in pp. 1007–1012.

You might also like