Skip to content

Fix: detect SCRF polarization charge error and troubleshoot with nosymm#900

Open
LeenFahoum wants to merge 1 commit into
mainfrom
nosymm
Open

Fix: detect SCRF polarization charge error and troubleshoot with nosymm#900
LeenFahoum wants to merge 1 commit into
mainfrom
nosymm

Conversation

@LeenFahoum

Copy link
Copy Markdown
Contributor

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.

@LeenFahoum LeenFahoum requested review from Lilachn91 and alongd June 16, 2026 11:55
@github-actions github-actions Bot added the Module: trsh Troubleshooting label Jun 16, 2026
@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.02%. Comparing base (a56bd2c) to head (913ff90).
⚠️ Report is 1 commits behind head on main.

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     
Flag Coverage Δ
functionaltests 63.02% <ø> (-0.01%) ⬇️
unittests 63.02% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 include NoSymm in 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.

@alongd

alongd commented Jun 21, 2026

Copy link
Copy Markdown
Member

@LeenFahoum, looks good! please rebase

@LeenFahoum LeenFahoum force-pushed the nosymm branch 3 times, most recently from 380f31a to 913ff90 Compare June 21, 2026 07:53
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Module: trsh Troubleshooting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants