Only use defined ranges of density and sum of states for interpolation mapping.

When computing k(E) using RRKM theory, we manually convolve the tunneling
function kappa(E) into the transition state density of states to obtain
the transition state sum of states. This sum of states is already shifted
to the correct transition state energy, which means it will have some
zero values. This fix eliminates a log(0) error which was occurring while
setting up the semilogarithmic interpolator.
Fixed units error in setting molecular weight in makeNewSpecies().

Since the refactor branch, the preferred units of mass are amu.
Don't attempt to fit below 300 K in generateReverseRateCoefficient().

This is because we tend to stop our thermo models at 300 K, especially in
RMG jobs.
Fixed units error in fitting of interpolation model in RMG pdep jobs.

After all these years, m^3/(mol*s) to cm^3/(mol*s) is still plaguing me.
Always keep the exergonic pdep reaction from the activated species algorithm.

Since RMG-Py uses the activated species algorithm of Matheu, it generates
A + B -> C and C -> A + B from separate partial networks. Before I was
trying to keep the rate from the "more explored" network, but now I think
that is too ill-defined to be useful. Instead, I am now simply keeping the
exergonic (dGrxn < 0) direction; this is consistent with our handling of
reaction families that are their own reverse.

I've also updated the check for thermo consistence between the forward and
reverse net reactions to print the discrepancy of the deviation so the
user at least knows about it.
In descendTree(), follow the first match when multiple children match.

This is used e.g. to handle cyclic transition states with multiple
ring sizes. An example is the intra_H_migration reaction

C1[CH]CC=C1 <=> C1C[CH]C=C1

which matches both R2H and R5H. In this case the reaction is actually
the same in each case, but we want to use R2H to estimate the kinetics.
This change should help RMG-Py match RMG-Java; I'm less sure that it will
actually give better kinetics in these sorts of fringe cases that our
group matching scheme doesn't handle well.
Changed dict comprehension to support Python 2.6.

The syntax used here is only valid in Python 2.7 or later. We want to
support Python 2.6 as well, hence the change.
Added Substitution_O and SubstitutionS hardcoding for finding reaction pairs.

This mimics the existing hardcoding for H_abstraction and Disproportionation,
which are the other A + B -> C + D families.
Added ReactionPairsError for exceptions involving reaction pairs.

This replaces the generic (and no longer available) KineticsError.
Fixed bug in writing of Lindemann and Troe rates to Chemkin files.

In the refactoring, I changed Lindemann and Troe so that they inherit only from
PDepKineticsModel (and not from each other).
Convert SMILES to Molecule objects when loading collision efficiencies.

The collision partners are stored as SMILES strings in the database, and
need to be converted to Molecule objects at database load time.
Added support for Chebyshev polynomials to old database loader.

Recently I created a small reaction library in RMG-Java with a few Chebyshev
polynomials in it. In order to get this library into RMG-Py a parser for the
Chebyshev polynomials was needed.
Count number of atoms of a given element type in a molecule.
Pulls thermo comments from a chemkin file.
Merge branch 'master' of git://github.com/jwallen/RMG-Py
Fixed some unicode writing issues when exporting database.
Added hard-coding of new reaction families.  Fixed more unicode errors.
Allow reverse fitting of pdep reactions for diff models.