Skip to content

Allowing Tmin and Tmax to function, automatically selecting the appropriate rate parameters #1013

@alongd

Description

@alongd

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/(mol
s)'), 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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions