Skip to content

Conversation

@kspieks
Copy link
Contributor

@kspieks kspieks commented Jul 8, 2021

This PR updates relevant coupled cluster corrections in our database. All input and output files have been added to the RMG server for long term storage. A corresponding RMG-Py PR updates the documentation.

AECs were updated for bothCCSD(T)-F12/cc-pVDZ-F12 and CCSD(T)-F12/cc-pVTZ-F12. Single point energies were calculated with MOLPRO.

BACs were added for two composite LoTs: CCSD(T)-F12/cc-pVDZ-F12//ωB97X-D3/def2-TZVP and CCSD(T)-F12/cc-pVTZ-F12//ωB97X-D3/def2-TZVP. Single point energies were calculated with MOLPRO. The geometry optimization and frequency calculations were done with QChem in PR #459. As expected, the errors before and after fitting are much lower than they were for the DFT levels in the previous PR.

For CCSD(T)-F12/cc-pVDZ-F12//ωB97X-D3/def2-TZVP:

  • RMSE/MAE before fitting: 1.41/1.11 kcal/mol
  • RMSE/MAE after fitting: 0.83/0.52 kcal/mol

1_ccsd(t)f12_ccpvdzf12__wb97xd3_def2tzvp_errors.pdf

For CCSD(T)-F12/cc-pVTZ-F12//ωB97X-D3/def2-TZVP:

  • RMSE/MAE before fitting: 1.05/0.68 kcal/mol
  • RMSE/MAE after fitting: 0.79/0.48 kcal/mol

1_ccsd(t)f12_ccpvtzf12__wb97xd3_def2tzvp_errors.pdf

Note that some reference species were omitted since these two basis sets only support the first three rows of the periodic table (source: https://www.basissetexchange.org/).

An interesting side note is that the error for these reference species after fitting is nearly identical for the two basis sets. However, the TZ basis set is much more expensive; it used 5.6x more CPU time and 5.8x more disk space, which will quickly become infeasible for high throughput analysis of species with many heavy atoms.

@kspieks
Copy link
Contributor Author

kspieks commented Jul 12, 2021

RMG-database runs tests in RMG-Py, which currently cannot properly handle CompositeLevelOfTheory entries.

arkane/encorr/bacTest.py in RMG-Py is supposed to test that the previous "LevelOfTheory(method='ccsd(t)f12',basis='ccpvtzf12',software='molpro')" entry can be overwritten by the dummy test values. However, since arkane/encorr/bac.py has a logic error while parsing input/quantum_corrections/data.py, it accidentally overwrites the first instance of "LevelOfTheory(method='ccsd(t)f12',basis='ccpvtzf12',software='molpro')" , which happens to be the new "CompositeLevelOfTheory(freq=LevelOfTheory(method='wb97xd3',basis='def2tzvp',software='qchem'),energy=LevelOfTheory(method='ccsd(t)f12',basis='ccpvdzf12',software='molpro'))" entry for this PR instead. This ultimately causes the unit test to fail since it is expecting "LevelOfTheory(method='ccsd(t)f12',basis='ccpvtzf12',software='molpro')" to have been overwritten. Since this PR is the first to add composite LoT, it has found this bug :)

@xiaoruiDong In conclusion, we have a dilemma. The tests for this PR will not pass until the twin RMG-Py PR is merged; however, the tests for that PR will not pass until this PR is merged since it is the first to add a CompositeLevelOfTheory. I've checked out the update_ccsdtf12 branch of RMG-database and update_model_chem_doc from RMG-Py and run make test test-unittests locally. These tests pass, so these twin PRs are compatible with each other. But one will need to be merged in first.

@xiaoruiDong
Copy link
Contributor

Thanks for the contribution, @kspieks. The results look great! It is reasonable for the point you mentioned, since F12 method is known for its faster convergence to the complete basis set values. If you don't mind, can you also post an image here showing the deviation between the values from "TZ" and "DZ". I mean something like `plt.plot(TZ_value - DZ_value) or plt.hist(TZ_value-DZ_value), to make it a good reference for future use.

@xiaoruiDong
Copy link
Contributor

@mjohnson541 @amarkpayne I am not very familiar with the SOP for twin PR merging. Can you comment on how we can help Kevin test his PRs? Thanks!

@kspieks
Copy link
Contributor Author

kspieks commented Jul 20, 2021

Thanks for the review. The histogram below shows the corrected enthalpies of TZ minus DZ. The mean is 0.009 kcal/mol and MAE is 0.157 kcal/mol i.e. TZ and DZ have good agreement. In case someone wants to reproduce this plot in the future, the data was taken from the csv files that are automatically printed by Arkane during BAC fitting, which are stored on the RMG server.

ccsd_tz_minus_ccsd_dz_H298_petersson_BAC.pdf

@mjohnson541
Copy link
Contributor

The directions for simultaneous updates are here: https://github.com/ReactionMechanismGenerator/RMG-Py/wiki/Simultaneous-Update-of-RMG-Py-and-RMG-database

@kspieks
Copy link
Contributor Author

kspieks commented Jul 26, 2021

@xiaoruiDong @mjohnson541 Using the procedure from Matt's link above, all checks pass which confirm that these two branches are compatible with each other. Please let me know if there are other changes I should make to either PR. Otherwise, I can remove the temporary commit from each PR and rebase them. Thanks!

@xiaoruiDong
Copy link
Contributor

Please rebase and @me to merge your PR. Thanks

@kspieks
Copy link
Contributor Author

kspieks commented Mar 10, 2023

FYI: all log files and Arkane outputs related to these jobs have been copied to my account on our new greencloud sever at /volume1/home/users/kspieker/AEC_BAC_calculations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants