Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Degeneracy & Multiple TS #1055

Merged
merged 20 commits into from
Jun 23, 2017
Merged

Degeneracy & Multiple TS #1055

merged 20 commits into from
Jun 23, 2017

Commits on Jun 23, 2017

  1. reset database at end of test methods

    to allow independent testing of various unittests, the database
    must be removed after each testing set, to avoid multiple modular level
    variables from existing. Solvation parameters were also cleared  theend
    of modules using solvation
    
    refactored rmgTest and modelTest  to reduce database generation
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    883aadd View commit details
    Browse the repository at this point in the history
  2. added method to reduce atomID renaming

    this commit checks to see that the IDs are already properly named
    before renaming the atom ids. It also modified the numbering of
    assignAtomID to assign random numbers
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    90cce7b View commit details
    Browse the repository at this point in the history
  3. Add isIdentical method to Species

    Analogous to Species.isIsomorphic()
    Calls Molecule.isIdentical()
    mliu49 authored and goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    8941bb4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7616512 View commit details
    Browse the repository at this point in the history
  5. modularized adding kinetics to reactions in cerm.enlarge

    separated out the adding of kinetics step from the enlarge method,
    to enable easier testing of the method. Also moved the adding of
    kinetics attribute till after degeneracy is modified to avoid multiple
    counting of degeneracy.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    26510a5 View commit details
    Browse the repository at this point in the history
  6. refactored Reaction.degeneracy property

    modified the protocol for setting degeneracy to get RMG to update
    the kinetics rate constant to keep track of the degeneracy and
    reaction rates. Also moved setting degeneracy in copy methods to before
    setting kinetics as this would double-count degeneracy.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    9e3d10a View commit details
    Browse the repository at this point in the history
  7. remove degeneracy calculations from __generateReactions

    degeneracy calculation was removed from __generateReactions since it is
    moving to a standalone method.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    515e493 View commit details
    Browse the repository at this point in the history
  8. refactor reaction.isIsomorphic and allow identical checking

    separated method to compare isomorphism of multiple species to reduce
    code repitition. Added option to use isIdentical instead of
    isIsomorphic.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    d63b998 View commit details
    Browse the repository at this point in the history
  9. undo work-in-progress test for rmgTest

    This commit makes the test for multiple deterministic kinetics function.
    and activates it for the testing suite.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    5d21715 View commit details
    Browse the repository at this point in the history
  10. make default resonance structures isomorphic

    changed default resonance structure generation to keep isomorphic
    structures since they are needed to proper degeneracy and symmetry
    values
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    8e358b4 View commit details
    Browse the repository at this point in the history
  11. separate degeneracy calculation for rxn.reverse objects

    separated setting reverse reactions for ownReverse family, so it
    can be called after degeneracy has been found (reducing work load),
    and for easier testing (+ wrote a test method for this reaction).
    
    this required adding H_Abstraction to kineticsTest and removing
    forbidden structures from kinetics test so all reactions can be found.
    
    added tests that test that findDegeneracies returns multiple transition
    states and that it is able to deal with aromatic structures
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    71c56a9 View commit details
    Browse the repository at this point in the history
  12. Allow checkForExistingReactions to track multiple TS

    Modified the method to remove reactions with the same template and
    family, including reverse direction for ownReverse families. It should
    keep reactions with multiple transition states (unless an identical
    template was found).
    
    Also wrote three test methods to test for keeping separate transition
    states or removing the redundant reaction
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    73b00de View commit details
    Browse the repository at this point in the history
  13. Allow input of species' objects to __generateReactions(products)

    Allow input of species objects to the products variable of
    __generateReactions since this would reduce resonanceIsomer generation
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    f9586e1 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    e647ca9 View commit details
    Browse the repository at this point in the history
  15. updated degeneracy algorithm

    This commit recreates the degeneracy algorithm in react.py. It now can:
    
    1. take into account atom IDs when determining degeneracy
    1. keep multiple transition states for the same reaction
    1. use isomorphic resonance structures when comparing reactions
    
    Max Liu created the base for this method.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    f4b7a74 View commit details
    Browse the repository at this point in the history
  16. method to ensure species list has all different IDs

    Method written in react.py to ensure that given two reactants, the IDs
    on all of their atoms are different. This is necessary to trace atom IDs
    in products (after the structures are merged).
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    7774526 View commit details
    Browse the repository at this point in the history
  17. ensure that reverse reactions have correct degeneracies

    When reactions are found with the reverse template, they often have the
    degeneracy of the reverse template. This method ensures the reaction has
    the degeneracy of the forward template by using the
    family.calculateDegeneracy method.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    83e7c64 View commit details
    Browse the repository at this point in the history
  18. reduced degeneracy for identical reactants

    reactants which are identical should have half the reaction rate
    when using the degeneracy method, since the translational component
    of their rates is already taken into account in their concentration,
    so them swapping places doesn't have a real effect on reaction
    rate.
    
    The algorithm to reduce degeneracy was placed in a separate method in
    the react module to be applied separately from finding degeneracies.
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    70db622 View commit details
    Browse the repository at this point in the history
  19. get react module to work on Species, not molecules

    refactored the react module to lump together reactions based on species
    as opposed to molecule. This is necessary for obtaining accurate
    degeneracy values for reactions with multiple resonance isomers.
    
    deflating now also takes species objects
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    bc0f5d1 View commit details
    Browse the repository at this point in the history
  20. updated the calculateDegeneracy method

    modified calculatDegeneracy to account for changes in degeneracy:
    
    * uses species objects if possible
    * looks at templates when multiple transition states present
    * calls the updated degeneracy algorithm
    * contains option to not reduce same reactant degeneracy (since this
    should only occur once).
    goldmanm committed Jun 23, 2017
    Configuration menu
    Copy the full SHA
    7ed8a6c View commit details
    Browse the repository at this point in the history