Skip to content

Conversation

@cgrambow
Copy link

@cgrambow cgrambow commented May 14, 2020

Motivation or Problem

We should fit atom energies so that levels of theory that produce incorrect atom energies can be used to compute thermochemistry.

Description of Changes

Added AE and AEJob classes that require a dictionary of species labels with single-point electronic energies (computed using the experimental geometries available in the reference database). For example,

species_energies = {
    'Dihydrogen': -1.1607014438,
    'Dinitrogen': -109.5502634582,
    'Dioxygen': -150.3479925723,
    'Disulfur': -796.325655201,
    ...
}

The list of species that has to be provided is available in SPECIES_LABELS in arkane/encorr/ae.py. Atom energies can be fitted by using the ae() function in Arkane input files as described in the updated documentation. Corresponding database PR is ReactionMechanismGenerator/RMG-database#415.

Testing

Added unit tests and checked that it works well for wB97M-V.

Reviewer Tips

Check the logic of the linear regression and maybe run an Arkane job to fit energies.

@codecov
Copy link

codecov bot commented May 15, 2020

Codecov Report

❗ No coverage uploaded for pull request base (master@36a90a2). Click here to learn what that means.
The diff coverage is 74.80%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #1950   +/-   ##
=========================================
  Coverage          ?   46.40%           
=========================================
  Files             ?       87           
  Lines             ?    22973           
  Branches          ?     5974           
=========================================
  Hits              ?    10660           
  Misses            ?    11169           
  Partials          ?     1144           
Impacted Files Coverage Δ
arkane/encorr/ae.py 73.45% <73.45%> (ø)
arkane/encorr/reference.py 69.88% <81.81%> (ø)
arkane/encorr/bac.py 76.42% <100.00%> (ø)
arkane/encorr/corr.py 62.22% <0.00%> (ø)
rmgpy/tools/data.py 71.42% <0.00%> (ø)
rmgpy/ml/estimator_test.py 100.00% <0.00%> (ø)
rmgpy/data/kinetics/common.py 69.03% <0.00%> (ø)
rmgpy/pdep/__init__.py 100.00% <0.00%> (ø)
arkane/kinetics.py 12.24% <0.00%> (ø)
rmgpy/tools/simulate.py 79.24% <0.00%> (ø)
... and 80 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 36a90a2...9c85cc6. Read the comment docs.

Copy link
Member

@amarkpayne amarkpayne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks for implementing this! I looked over the code for fitting again, and all of the math checks out. I'll go ahead begin a PR in ARC to utilize this functionality.

in the electronic energy.

Args:
species_energies: Dictionary of species labels with single-point electronic energies.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The energies are just floats, right? We should specify that the unit needs to be hartree

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mention the units in the notes above. I'll add it here again.

@cgrambow cgrambow force-pushed the atom_energies branch 2 times, most recently from fb5e765 to 9c85cc6 Compare May 20, 2020 17:56
@amarkpayne amarkpayne merged commit 74cee80 into master May 20, 2020
@amarkpayne amarkpayne deleted the atom_energies branch May 20, 2020 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arkane Status: Ready for Review PR is complete and ready to be reviewed Twin RMG-database PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants