Conversation
…for unit conversions
…Slater-type orbitals
…reened Coulomb interactions
…ions with GTO and STO integrals
…nent calculations
…ecision benchmarks
…d tetramer structures
…generation with associated tests
…enBabel's QEq implementation
…amping strategies
… damping strategies
…functions and damping strategies
…d accuracy metrics for STO integrals
11 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request significantly enhances the accuracy of the cheq library by implementing exact Slater-Type Orbital (STO) Coulomb integrals via the sto-ns crate, replacing the previous Gaussian-Type Orbital (GTO) approximation as the default method. The PR also introduces a comprehensive benchmark suite demonstrating dramatic accuracy improvements compared to GTO-based methods.
Key Changes:
- Integrated exact STO integrals for maximum accuracy with optional GTO fallback
- Added adaptive damping strategy with auto-adjustment based on SCF convergence behavior
- Developed comprehensive integration tests covering alkali halides, clusters, hydrogen compounds, and polymers
- Refactored shielding calculations into dedicated
stoandgtosubmodules - Enhanced solver control with
BasisTypeandDampingStrategyenums
Reviewed changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/polymers.rs | New integration tests for polymer fragments (PE, PVDF) and tripeptides using turtle graphics geometry builder |
| tests/hydrogen.rs | Comprehensive test suite for hydrogen-containing molecules with geometry construction helpers |
| tests/common/mod.rs | Shared test infrastructure for running grouped benchmark tests with error reporting |
| tests/clusters.rs | Tests for ionic clusters (NaCl monomers/dimers/tetramers) |
| tests/alkali.rs | Extensive alkali halide tests plus CO2 and ketene molecules |
| src/solver/options.rs | New BasisType and DampingStrategy enums with comprehensive documentation |
| src/solver/implementation.rs | Major refactoring: adaptive damping, parallel matrix filling, hydrogen clamping |
| src/solver/mod.rs | Updated exports to include new enum types |
| src/shielding/sto.rs | New exact STO integral implementation delegating to sto-ns crate |
| src/shielding/gto.rs | Moved GTO approximation code from math module with identical functionality |
| src/shielding/constants.rs | Minor documentation update |
| src/shielding/mod.rs | New module structure for shielding calculations |
| src/bin/modules/cli.rs | New CLI options for basis type and damping strategy |
| src/bin/modules/app.rs | Mapping logic for new CLI options to solver configuration |
| USAGE.md | Updated documentation for new CLI options and argument reference table |
| README.md | Version bump to 0.4.0, added benchmark summary table |
| BENCHMARKS.md | New comprehensive benchmark documentation comparing STO vs GTO vs OpenBabel |
| Cargo.toml | Version update, added sto-ns dependency, updated toml version |
| resources/qeq.data.toml | Updated Li radius parameter from 1.28 to 1.557 Å |
| src/lib.rs | Module reorganization: math → shielding, new exports |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary:
Significantly enhances the accuracy of the
cheqlibrary by integrating an exact Slater-Type Orbital (STO) Coulomb integral implementation, replacing the previous Gaussian-Type Orbital (GTO) approximation as the default method. This is achieved by leveraging thesto-nscrate. To validate this improvement and rigorously benchmark the library's precision, a comprehensive integration test suite has been developed. These tests comparecheq's results against reference values from the original Rappé & Goddard QEq paper, demonstrating a dramatic reduction in error compared to GTO-based methods like that of OpenBabel.Changes:
Integrated Exact STO Coulomb Integrals:
sto-nscrate as a dependency to provide a high-performance, exact implementation of two-center Coulomb integrals for ns-type Slater orbitals.shieldingmodule with distinctstoandgtosubmodules.stoimplementation for maximum accuracy, while retaining thegtoapproximation as a configurable option (--basis gto).Implemented Advanced Solver Control Options:
BasisTypeenum toSolverOptionsto allow users to switch betweenStoandGtobasis sets.DampingStrategyenum withAuto,Fixed, andNoneoptions to provide fine-grained control over the SCF convergence behavior.--basis,--damping,--damping-factor), with updated documentation inUSAGE.md.Developed a Comprehensive Accuracy Benchmark Suite:
BENCHMARKS.mdfile to document and present accuracy comparisons against the original QEq paper.tests/) covering various chemical systems from the paper:alkali.rs: Alkali halides and other small molecules.clusters.rs: Ionic clusters like (NaCl)₂.hydrogen.rs: A wide range of hydrogen-containing molecules.polymers.rs: Polymer fragments (PE, PVDF) and a tripeptide (Ala-His-Ala).Refined Solver Algorithm:
DampingStrategy::Auto) that adjusts the mixing factor during the SCF cycle to improve convergence stability and speed.--cutoff,--hydrogen-inner-iters) in favor of the more fundamental and impactfulstovsgtochoice.