-
Notifications
You must be signed in to change notification settings - Fork 250
Description
Consider the following reaction from Lin 2005, for example:
HCO + NO <=> HNO + CO
With the following rates:
Arrhenius(A=(1.85e+12, 'cm^3/(mols)'), n=0.10, Ea=(-481, 'cal/mol'), T0=(1, 'K'), Tmin=(200, 'K'), Tmax=(500, 'K'))
Arrhenius(A=(1.04e+08, 'cm^3/(mols)'), n=1.47, Ea=(-1765, 'cal/mol'), T0=(1, 'K'), Tmin=(500, 'K'), Tmax=(3000, 'K'))
(taken from the SOxNOx library which I haven't merged into master yet, waiting for SAtomTypes to be merged first)
Several of RMG's applications are for low to mid T, and I'd like to allow RMG access to both rates in this example, letting it choose the appropriate one according to the specified T range (i.e., causing the Tmin & Tmax parameters to actually function...)
I have about half a dozen cases like this in this library, I can assume more might pop-up in other libraries (and training reactions!).
My first though was to create two libraries, one of which consists only of the several low T rates, preceding the original library if the user chooses to use it. However, this becomes a bit more complex, since one of the reactions has three(!) T ranges, and in fact all three matter to me... Plus, my "simple" solution won't address training reactions.
I suggest we allow the following syntax:
kinetics = MultiTRange(
arrhenius = [
Arrhenius(A=..., n=..., Ea=..., T0=..., Tmin=(300, 'K'), Tmax=(1000, 'K')),
Arrhenius(A=..., n=..., Ea=..., T0=..., Tmin=(1000, 'K'), Tmax=(3000, 'K')),
],
),
Unless there's already a similar functionality that I'm not aware of?