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

Rotor scans #565

Merged
merged 3 commits into from
Mar 9, 2022
Merged

Rotor scans #565

merged 3 commits into from
Mar 9, 2022

Conversation

kspieks
Copy link
Contributor

@kspieks kspieks commented Feb 15, 2022

The previous PR (#550) added a thermo library for species involved in training reactions for the ketoenol and 1,3 sigmatropic rearrangement families. This current PR performed 1D rotor scans on the reactants and products to improve the estimations from the thermo library. Scans are also done on the TS to improve A-factors for the training reactions used to fit the rate trees.

@kspieks kspieks requested a review from xiaoruiDong February 15, 2022 20:43
@kspieks kspieks self-assigned this Feb 15, 2022
@xiaoruiDong
Copy link
Contributor

@kspieks Thank you for calculating rotors! But, can you redo the Arkane calculation once the ReactionMechanismGenerator/RMG-Py#2268 is merged. Today, I realize there is a minor mistake.

Also, I am wondering if there is a good way for both reviewing this PR and add more details in the database file. Do you mind using RDMC to analyze your scan jobs? I understand there maybe thousand of species... Some code may be helpful:

from rdmc.external.gaussian import GaussianLog

glog = GaussianLog(path)

# Check job success
print(glog.success)

# Print scan dihedral
print(glog.get_scannames()[0])

# Visualize PES and the fitted PES
glog.plot_scan_energies(converged=True, relative_x=True, relative_y=True, draw_fit=True)

Can you iterate through the species and scan jobs you did in a Jupyter notebook? I will quickly go through the notebook, to understand the success rate and if there is any pattern that make jobs fail. Thanks.

@kspieks
Copy link
Contributor Author

kspieks commented Feb 22, 2022

@xiaoruiDong Thanks for catching the error in Arkane. I can re-run the calculation with your updated changes once you review the scan jobs in the notebook below.

There will probably "only" be several hundred species in the future, but I agree that RDMC is very convenient for analyzing scans :) I was using it locally and will attach the notebook now. All scans start and end in the same place and have the lowest energy well at 0 degrees, which makes sense since a thorough conformer search was done for each species. The Fourier fits for species with an NH2 rotor are a bit funny. The scan shows the lowest energy well at the start but the Fourier fit shows a slightly lower energy at ~180 degrees. The notebook has assert glog.success which was True for all species. Can you let me know if these scans look okay before I re-run the Arkane calculations?
visualize_scans_copy.ipynb.zip

@kspieks
Copy link
Contributor Author

kspieks commented Mar 9, 2022

@xiaoruiDong I re-ran the Arkane calculations with the latest RMG-Py so that it includes your recent fix for the Fourier fitting. Can you review this PR when you get a chance? Thank you! :)

@xiaoruiDong
Copy link
Contributor

@kspieks Thanks again. Can you attach the visualization notebook as well?

label = "C2H3NO2 <=> C2H3NO2-2",
degeneracy = 1.0,
kinetics = Arrhenius(A=(6.18181e-12,'s^-1'), n=7.01339, Ea=(72.1949,'kJ/mol'), T0=(1,'K'), Tmin=(300,'K'), Tmax=(2000,'K'), comment="""Fitted to 50 data points; dA = *|/ 88.831, dn = +|- 0.595345, dEa = +|- 3.06991 kJ/mol"""),
kinetics = Arrhenius(A=(6.36022e-11,'s^-1'), n=6.62861, Ea=(72.851,'kJ/mol'), T0=(1,'K'), Tmin=(300,'K'), Tmax=(2000,'K'), comment="""Fitted to 50 data points; dA = *|/ 88.4737, dn = +|- 0.59481, dEa = +|- 3.06715 kJ/mol"""),
rank = 4,
Copy link
Contributor

Choose a reason for hiding this comment

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

Not due to this PR but find the rate coefficient fitted, especially A's seems to be bad (dA ~ O(100)) for these N,O-involved species. Any thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for noticing this. Matt, David, and I had discussed this topic at a previous RMG developer hours. Our conclusion was that we ultimately care about the fit quality so it's okay if some of the fitted parameters are odd so long as they give a good fit. For context, this is the Arrhenius fit for this specific reaction. I've definitely seen worse fits haha
p005032 <=> r005032.pdf

@xiaoruiDong xiaoruiDong self-requested a review March 9, 2022 19:11
@xiaoruiDong xiaoruiDong merged commit eaf7c1a into main Mar 9, 2022
@xiaoruiDong xiaoruiDong deleted the rotor_scans branch March 9, 2022 19:12
This was referenced Mar 23, 2022
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.

2 participants