-
Notifications
You must be signed in to change notification settings - Fork 27
Add screening to point charge and related quantities and tests #219
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
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 adds screening support to point charge integrals and related stress tensor quantities. The changes enable optional basis function screening for performance optimization while maintaining numerical accuracy.
Key changes:
- Added
screen_basisandtol_screenparameters to point charge integral functions - Updated stress tensor evaluation functions to support screening
- Changed default
screen_basisvalue fromTruetoFalseacross multiple integral types for consistency - Enhanced tests to verify screened and non-screened calculations match within tolerance
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| gbasis/integrals/point_charge.py | Implemented screening logic for point charge integrals with point masking |
| gbasis/integrals/nuclear_electron_attraction.py | Added screening parameters to nuclear-electron attraction integrals |
| gbasis/evals/stress_tensor.py | Added screening support to stress tensor, Ehrenfest force, and Hessian functions |
| gbasis/integrals/overlap.py | Changed default screen_basis from True to False |
| gbasis/integrals/overlap_asymm.py | Changed default screen_basis from True to False |
| gbasis/integrals/kinetic_energy.py | Changed default screen_basis from True to False |
| gbasis/integrals/momentum.py | Changed default screen_basis from True to False |
| gbasis/integrals/moment.py | Changed default screen_basis from True to False |
| gbasis/integrals/angular_momentum.py | Changed default screen_basis from True to False |
| gbasis/evals/eval.py | Changed default screen_basis from True to False and updated docstrings |
| gbasis/evals/eval_deriv.py | Changed default screen_basis from True to False and updated docstrings |
| gbasis/evals/density.py | Changed default screen_basis from True to False across multiple functions |
| gbasis/evals/electrostatic_potential.py | Added comment explaining no screening for cumulative point charges |
| tests/test_point_charge.py | Added parametrized tests for screening with tolerance checks |
| tests/test_nuclear_electron_attraction.py | Added parametrized tests for screening scenarios |
| tests/test_stress_tensor.py | Enhanced tests with screening parameters and non-screened reference calculations |
| tests/test_density.py | Simplified parametrization to use tuples instead of separate parameters |
| tests/test_angular_momentum.py | Added screening tests and adjusted tolerance for screening accuracy test |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Checklist
Type of Changes
Related