Repository navigation
Conversation
compute_rxn_e0 skipped every species whose e0 was already set, and check_ts then kept those values when copying the computed ones back. On a restart, or when a reaction is added after the thermo Arkane run, the wells therefore carried the E0 of the thermo run, which applies bond additivity corrections when bac_type is set (the default is 'p'), while the TS E0 came from the check's own statmech run with bac_type=None. check_rxn_e0 then compared E0 values computed under different corrections. compute_rxn_e0 now clears the E0 of every participant on its reaction copy and computes all of them in its single statmech run, passing one object per label so that a reaction with a repeated species no longer makes Arkane reject duplicate labels. check_ts runs the check on that copy and copies the verdict back, and it overwrites the TS E0 on the given reaction with the freshly computed one. The old skip also compared every later TS guess against the first guess's E0, because switch_ts does not reset it on main, so the TS E0 is now recomputed for every guess. The wells' E0 values already set on the given reaction are left intact. When the consistent E0 values cannot be computed (a freq calculation is not done or the statmech inputs are missing), the E0 check is left undetermined with a warning, and the electronic energy check runs without comparing the preset E0 values. A participant with a yml_path keeps the E0 of its yml file as is, and a warning says so.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1065 +/- ##
==========================================
- Coverage 67.12% 67.05% -0.08%
==========================================
Files 123 123
Lines 43602 43659 +57
Branches 11144 11152 +8
==========================================
+ Hits 29270 29275 +5
- Misses 11194 11232 +38
- Partials 3138 3152 +14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The TS E0 check compared E0 values computed under different corrections
compute_rxn_e0skipped every species whosee0was already set, andcheck_tskept those values. On a restart, or when a reaction is added after the thermo Arkane run, the wells therefore carried the E0 of the thermo run, which applies bond additivity corrections wheneverbac_typeis set (the default is'p'), while the TS E0 came from the check's own statmech run withbac_type=None.check_rxn_e0then compared well and TS E0 values that differ by the wells' BAC, and could reject a valid TS or accept an inconsistent one. A fresh run is not affected, since the check runs before thermo.compute_rxn_e0now clears the E0 of every participant on its reaction copy and computes all of them in its one statmech run (atom corrections on, bond corrections off, as in the kinetics run).check_tsruns the check on that copy, copies the verdict back, and overwrites the TS E0 on the given reaction with the fresh value; the wells' E0 values already set on the given reaction are left intact.Also fixed on the way:
switch_tsdoes not reset it; the TS E0 is now recomputed for every guess.When consistent values cannot be computed (a frequency job not done, missing statmech inputs), the E0 check is left undetermined with a warning, and the electronic energy check runs without comparing the preset values. A participant with a
yml_pathkeeps the E0 of its YAML file as is, with a warning.Tests (
arc/checks/ts_test.py, real frequency logs in a temporary project)mainit compares the preset wells with the TS).Falseverdict is given and a warning is logged.arc/checks/ts_test.py: 41 passed;arc/scheduler_test.py -k "e0 or check_ts": 2 passed.🤖 Generated with Claude Code