Rates computed using the GRI_30_Kinetics class are not consistent. Specifically:
getNetProductionRates != getCreationRates - getDestructionRates
getNetRatesOfProgress != getFwdRatesOfProgress - getRevRatesOfProgress
Class GRI_30_Kinetics only computes the net rates of progress. The separate
forward and reverse rates are computed by the methods in GasKinetics. However,
the constants in the rate expressions in GRI_30_Kinetics::update_rates are not
expressed to the same precision as those in the original mechanism.
There are three possibilities for resolving this issue:
(1) Increase the precision of the constants in GRI_30_Kinetics::update_rates
(2) Modifiy GRI_30_Kinetics so that the hard-coded rate expressions are used
consistently without falling back to the standard GasKinetics methods
(3) Remove class GRI_30_Kinetics, as GasKinetics provides all of the same
features.
Given that the apparent speed increase of GRI_30_Kinetics is only 5% (for just
calling the getNetProductionRates method--any more general usage would see even
less benefit), I don't think it's worth maintaining this special case, and we
should simply remove this class.
Original issue reported on code.google.com by yarmond on 13 Dec 2012 at 6:06
Original issue reported on code.google.com by
yarmond
on 13 Dec 2012 at 6:06