ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
382 stars 226 forks source link

Unit test for transport is doing fine but actual RMG job fails because it can't find the parent group in transport database! #189

Closed faribas closed 10 years ago

faribas commented 10 years ago

My RMG job crashed with these error messages :

error_log file

File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/rmg/model.py", line 721, in enlarge
    spec.generateTransportData(database)
  File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/rmg/model.py", line 245, in generateTransportData
    self.transportData = database.transport.getTransportProperties(self)[0]
  File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/data/transport.py", line 278, in getTransportProperties
    transport = self.getTransportPropertiesViaGroupEstimates(species)
  File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/data/transport.py", line 337, in getTransportPropertiesViaGroupEstimates
    criticalPoint = self.estimateCriticalPropertiesViaGroupAdditivity(molecule)
  File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/data/transport.py", line 434, in estimateCriticalPropertiesViaGroupAdditivity
    self.__addCriticalPointContribution(groupData, self.groups['ring'], molecule, {'*':atom})
  File "/home/seyedzadehkhanshan.f/Code/RMG-Py/rmgpy/data/transport.py", line 479, in __addCriticalPointContribution
    raise KeyError('Node {!r} has no parent with data in the transport database.'.format(node0))
KeyError: 'Node <Entry index=0 label="C_centered_ring"> has no parent with data in the transport database.'

RMG log file

Generating thermodynamics for new species...
Warning: Average RMS error in heat capacity fit to CC1C2C3=CC2([O])C1(O)C=C3(7005) = 0.228045*R
Warning: Average RMS error in heat capacity fit to CC1[CH]C2=CC(=O)[C]1C=C2(7013) = 0.209736*R
Warning: Average RMS error in heat capacity fit to CC1C2O[C]3C=C2C=CC31O(7018) = 0.277522*R
Warning: Average RMS error in heat capacity fit to CC1C2C3=CC(=O)C12C=C3(7020) = 0.228578*R
Warning: Average RMS error in heat capacity fit to O=C1C=C2C=CC1(O)CC2(7021) = 0.214057*R
Error: Error finding transport group for atom marked with a * below:
Error: <Molecule "O=C1C=C2C=CC1(O)CC2">
Error: 1    C 0 {3,S} {4,S} {5,S} {9,S}
2    C 0 {6,D} {7,S} {8,S}
3    C 0 {1,S} {6,S} {10,D}
4  * C 0 {1,S} {7,S} {11,S}
5    C 0 {1,S} {8,D} {12,S}
6    C 0 {2,D} {3,S} {13,S}
7    C 0 {2,S} {4,S} {14,S}
8    C 0 {2,S} {5,D} {15,S}
9    O 0 {1,S} {16,S}
10   O 0 {3,D}
11   H 0 {4,S}
12   H 0 {5,S}
13   H 0 {6,S}
14   H 0 {7,S}
15   H 0 {8,S}
16   H 0 {9,S}

Starred Carbon atom is not saturated and has one vacant site which caused the problem, because there is no group definition for the C_centered atom in the ring with 3 bonds in transport database and it should be saturated with (H) before transport calculations. Interestingly, transport unit test passed because in the unit test the adjacency list is saturating with (H) first and then the transport properties are calculated but apparently this is not happening in actual RMG jobs. This jobs are running in old format of RMG database before all recent changes. So first of all how RMG generating this molecule which it's not a radical but with vacant site and also why unit test is satisfying molecules with saturating atoms before doing the transport but not actual RMG?!!

bbuesser commented 10 years ago

Have you been able to solve the issue? Can you share your input script that reproduces this?

rwest commented 10 years ago

I think we found the problem (errors in a new reaction family @faribas was trying out). I also implemented some changes to check for it to help debugging similar problems. I will add this to master then close the issue

bbuesser commented 10 years ago

Let me know when you encounter other problems related to the new adjacency list format. I'll try helping to resolve them.