ReactionMechanismGenerator / RMG-Java

The Java version of RMG: Reaction Mechanism Generator
http://rmg.sourceforge.net/
MIT License
29 stars 36 forks source link

Errors in thermo database: X is not actually a child of Y #30

Closed rwest closed 13 years ago

rwest commented 14 years ago

There are many errors of the type: Error in database: _ is not actually a child of __

Until commit 4d402239e4a29e7cfc4226ffbd065f41b716ad6a these were reported as Father FourMember Child 12methylenecyclobutane Father six-inringonedouble Child 36dihydro2hpyran Father six-inringonedouble Child Cyclohexene Father six-oneside-twoindoubles-25 Child 14cyclohexadiene3methylene Father six-oneside-twoindoubles-24 Child 13cyclohexadiene5methylene Father six-oneside-twoindoubles-24 Child 24cyclohexadienone Father six-twoin14-twoout Child pbenzoquinone Father ketene Child biketene Father CssH2 Child Css(OssH)-Css(OssH) Father CssH Child Css(OssH)-Css(OssH) Father Css-noH Child Css(OssH)-Css(OssH) Father CdsH Child Oss(CdsOd) Father CdsH Child Cds(Od)Cds=CdsCds(Od) Father CdsH Child Cds(Od)Cds=CdsCds(Od) Father Cds-noH Child Oss(CdsOd) Father Cds-noH Child Cds(Od)OssH Father Cds-noH Child Cds(Od)Cds=CdsCds(Od) Father Cds-noH Child Cds(Od)Cds=CdsCds(Od) Father CH2O Child CH2CO Father Css-noH Child CH2C_OO Father CHO Child CH3C_O Father CHO Child CH2C_O Father CHO Child O=COC=O Father COO_H Child CH3COO Father COOH Child CH2COO Father CH2O* Child OssH Father CHO* Child CH3CO Father CHO* Child CH2CO* Father Od Child ACH Father Od Child ACCH3 Father Od Child ACCH2 Father Od Child ACCH Father Od Child ACOH

Each of these messages means something like "according to your dictionary definitions, Cyclohexene is not actually a child of six-inringonedouble, which means it will not match any structures and will not be used in estimating thermo". This interpretation can be confirmed by running the thermo data estimator on cyclohexene.

The cyclohexene example can be fixed by moving the asterisked atom in the cyclohexene definition to match the position of the asterisked atom in the parent node six-inringonedouble.

Probably the other errors can be fixed also, or should at least be investigated.

mrharper commented 14 years ago

I've pushed changes to official that address the first 8 "child is not a child" instances (through biketene).

http://github.com/GreenGroup/RMG-Java/commit/c5324076a02d206b53d60a3f0052bf4421955a9b

The remaining warning messages pertain to Abraham_ and Unifac_Dictionary.txt

rwest commented 14 years ago

Thanks Mike. Did you say this was Amrit's week off from Practice School? ;-)

rwest commented 14 years ago

I just spent some time looking at this. Unfortunately they way Platts (and Klopmann before him) defined fragments is not the same as what we call groups: the same atom center could be part of several fragments and each contribution would be counted. This makes creating RMG-style trees rather tricky. I'm pretty sure the current implementation is at least subtly incorrect, but it performed well in the regression test so I'm reluctant to change it without being able to reproduce the test, which requires Amrit!

mrharper commented 13 years ago

Updating how RMG checks if node is an actual child of another node

When reading the frequency_groups database, RMG would write lines to the output stating "_ is not actually a child of ". Thus, we thought the tree was malformed.

However, the source of the problem was RMG's internal methods of determining if a node was a child of another node. If RMG was attempting to check if a FunctionalGroupCollection was a child of a FunctionalGroup, it would automatically return false, no questions asked. This is the source of all of the " is not actually a child of " for the frequency database.

This commit adds additional code to the FunctionalGroupCollection class, which allows for checking whether a FunctionalGroupCollection is a child of a FunctionalGroup.

As this resolves all gas-phase databases regarding the " is not actually a child of " issue, MRH is closing the issue.

Closed by e05558b2ec95b1e12af27a1246579b9e32bc137f