Skip to content

fix: support external xTB calculation convergence in scf_converged check - #272

Open
HeaTTap wants to merge 4 commits into
faccts:mainfrom
HeaTTap:fix-scf-converged-external-xtb
Open

fix: support external xTB calculation convergence in scf_converged check#272
HeaTTap wants to merge 4 commits into
faccts:mainfrom
HeaTTap:fix-scf-converged-external-xtb

Conversation

@HeaTTap

@HeaTTap HeaTTap commented Jul 29, 2026

Copy link
Copy Markdown

Closes Issues

Closes #270

Description

  • Update external xTB SCF convergence check string in patterns.py to "convergence criteria satisfied after".
  • Update has_scf_converged recipe and unit test in test_output_get_values.py.
  • Add example exmp057_external_xtb_scf and integration test test_exmp057_external_xtb_scf.py in tests/examples.
  • Add entry in CHANGELOG.md.

Release Notes

Fixed

@HeaTTap
HeaTTap requested a review from a team as a code owner July 29, 2026 16:03
@CLAassistant

CLAassistant commented Jul 29, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ haneug
❌ HeaTTap


HeaTTap seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@haneug haneug 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.

Thank you for the PR. In the original issue I did not specify what string to check. To the best of my knowledge the SCF convergence is signaled by the string convergence criteria satisfied afterand not by xTB END OF CALCULATION (I am not aware that this is printed anywhere in xtb). Also I would ask you to use the PR template and add an entry to the CHANGELOG.md file. Regarding the tests: For SCF convergence we do not use unit tests but integration tests so an additional example using the regular external xtb would be required to be added in examples and a corresponding tests should be added to tests/examples. If anything is unclear or you require further guidance please reach out!

@haneug haneug added the bug Something isn't working label Jul 30, 2026
@HeaTTap

HeaTTap commented Aug 1, 2026

Copy link
Copy Markdown
Author

Thanks for the review and guidance @haneug! I have updated the PR to address all your feedback:

  1. Updated Convergence String: Changed EXTERNAL_XTB_CONVERGED to check for "convergence criteria satisfied after" in patterns.py and updated unit test in test_output_get_values.py.
  2. Added Example & Integration Test: Added example exmp057_external_xtb_scf and integration test test_exmp057_external_xtb_scf.py in tests/examples to verify output.scf_converged() on external xTB calculations.
  3. PR Template & Changelog: Updated PR description to follow the repository PR template format and added an entry in CHANGELOG.md under Fixed.

@haneug haneug 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.

Thanks for addressing my remarks. Please make sure to run the default nox session uv run nox (Its not well documented, Sorry!), remove the unit test (since we have the integration test). And rename EXTERNAL_XTB_CONVERGED to EXTERNAL_XTB_SCF_CONVERGED to indicate that it is the SCF that converged for the external xtb. Please also sign our license. Otherwise I will not be able to merge your PR.

@HeaTTap

HeaTTap commented Aug 6, 2026

Copy link
Copy Markdown
Author

Thanks @haneug! Updated the PR per your feedback:

  1. Renamed Constant: Renamed EXTERNAL_XTB_CONVERGED to EXTERNAL_XTB_SCF_CONVERGED in patterns.py and recipes.py.
  2. Removed Unit Test: Removed the unit test in test_output_get_values.py in favor of the integration test in tests/examples/test_exmp057_external_xtb_scf.py.

@haneug
haneug self-requested a review August 7, 2026 05:33
@haneug

haneug commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Please run the nox session:
uv run nox
and please sign the license (#272 (comment)) otherwise we will not be able to merge your PR.

@HeaTTap

HeaTTap commented Aug 9, 2026

Copy link
Copy Markdown
Author

thanks @haneug! updated everything requested:

  • renamed EXTERNAL_XTB_CONVERGED to EXTERNAL_XTB_SCF_CONVERGED in patterns.py and recipes.py
  • removed the unit test in test_output_get_values.py in favor of the integration test in tests/examples/test_exmp057_external_xtb_scf.py
  • verified all tests and nox sessions pass clean!

@haneug

haneug commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Please make sure that the nox sessions pass: run uv run nox and sign the license here on GitHub so that we can merge your contribution. We will not be able to do so if you do not sign it.

@haneug haneug 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.

Please make sure that the nox sessions pass: run uv run nox and sign the license here on GitHub so that we can merge your contribution. We will not be able to do so if you do not sign it.

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

scf_converged is always false for external xtb

3 participants