Skip to content

Working with duplicate kinetics within a single PLOG#329

Merged
connie merged 2 commits intomasterfrom
PLOG
Feb 13, 2015
Merged

Working with duplicate kinetics within a single PLOG#329
connie merged 2 commits intomasterfrom
PLOG

Conversation

@connie
Copy link
Copy Markdown
Member

@connie connie commented Jan 30, 2015

These commits hope to address issue #147, where PLOGs in this format are interpreted incorrectly:

C3H6(48)+HO2(9)=OH(5)+C3H6O(70)                     1.000e+00 0.000     0.000    
PLOG/ 0.010     4.720e+04 2.290     12.336   /
PLOG/ 0.010     1.090e+05 2.180     12.535   /
PLOG/ 1.000     4.660e+07 1.420     14.066   /
PLOG/ 10.000    1.930e+12 0.107     17.385   /
PLOG/ 100.000   1.300e+11 0.544     19.059   / 

I've made the PDepArrhenius and MultiPDepArrhenius classes allow MultiArrhenius objects in their arrhenius list of objects. That way khigh and klow can be determined from a duplicate reaction MultiArrhenius object at a single pressure.

I've altered the chemkin reading and writing by storing the PLOG kinetics with MultiArrhenius objects when there are duplicate kinetics at a single pressure, but rewriting to chemkin as two lines of PLOGS at a single pressure.

I've tested it by creating a kinetics library from a chemkin file- it works and creates the correct PDepArrhenius object. I think the chemkin read and write also works.

One problem that might occur is if the pressures in the PLOG are slightly off, as in if one is 0.01 and another pressure is 0.01001. Should we combine those kinetics? For now I ignore that and only do an identical P1 == P2 check.

@connie connie force-pushed the PLOG branch 2 times, most recently from 8d3f18b to eb909ab Compare February 3, 2015 16:26
…henius objects

Let MultiArrhenius objects replace Arrhenius ones in the list stored
in PdepArrhenius.arrhenius.  This allows the correct PLOG behavior for duplicate
kinetics at a single pressure.  This will then evaluate the duplicate
kinetics defined by MultiArrhenius at that pressure and use that rate for
klow or khigh.

All that is required is to change the class setting for Arrhenius to a more relaxed
parent definition: KineticsModel. Nothing else needs to be changed.
…essure correctly.

Check for duplicate pressures and combine the kinetics if needed into
MultiArrhenius objects in place of Arrhenius ones stored as part of the
PDepArrhenius.arrhenius list of kinetics.

When writing the kinetics to a chemkin file, reseparate the MultiKinetics
into individual PLOG lines for the same pressure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant