Fix: detect SCRF polarization charge error and troubleshoot with nosymm#900
Fix: detect SCRF polarization charge error and troubleshoot with nosymm#900LeenFahoum wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #900 +/- ##
==========================================
- Coverage 63.03% 63.02% -0.01%
==========================================
Files 114 114
Lines 38178 38185 +7
Branches 9990 9991 +1
==========================================
+ Hits 24065 24068 +3
- Misses 11221 11227 +6
+ Partials 2892 2890 -2
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:
|
There was a problem hiding this comment.
Pull request overview
This PR improves ARC’s Gaussian troubleshooting by recognizing a specific SCRF/SMD failure mode (“Error on total polarization charges” in Link 9999) and tagging it to trigger the existing nosymm troubleshooting path, instead of treating it as a generic unconverged optimization.
Changes:
- Add detection of “Error on total polarization charges” in
determine_ess_status()for Gaussian Link 9999 terminations and includeNoSymmin the returned keywords. - Add a Gaussian output fixture reproducing the Link 9999 polarization-charge error.
- Extend unit tests to cover the new error classification and keyword behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
arc/testing/trsh/gaussian/polarization_charges.out |
Adds a minimal Gaussian output sample exhibiting the polarization-charge Link 9999 failure. |
arc/job/trsh.py |
Detects the polarization-charge error and emits ["Unconverged", "GL9999", "NoSymm"] to trigger existing nosymm troubleshooting. |
arc/job/trsh_test.py |
Adds a regression test asserting correct status/keywords/error message for the new fixture. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@LeenFahoum, looks good! please rebase |
380f31a to
913ff90
Compare
Gaussian jobs using SMD/SCRF solvation can fail at l9999 with "Error on total polarization charges", which is a cavity construction issue unrelated to geometry convergence. ARC was classifying this as a generic Unconverged error and never attempting nosymm, which disables symmetry in the cavity and typically resolves the issue. Added detection of this error string in the l9999 block of determine_ess_status so that NoSymm is included in the parsed keywords, triggering the existing trsh_keyword_nosymm troubleshooting path.
Gaussian jobs using SMD/SCRF solvation can fail at l9999 with "Error on total polarization charges", which is a cavity construction issue unrelated to geometry convergence. ARC was classifying this as a generic Unconverged error and never attempting nosymm, which disables symmetry in the cavity and typically resolves the issue. Added detection of this error string in the l9999 block of determine_ess_status so that NoSymm is included in the parsed keywords, triggering the existing trsh_keyword_nosymm troubleshooting path.