Cheq
Cheq is a high-performance, foundational software library for calculating dynamic partial atomic charges using the Charge Equilibration (QEq) method. It provides a modern, robust solution for translating molecular geometry and elemental properties into self-consistent charge distributions essential for accurate molecular dynamics simulations. This library is engineered from the ground up in Rust for exceptional performance, memory safety, and strict adherence to the principles of modular software design.
The core mission of Cheq is to provide a reliable, predictable, and easy-to-integrate tool for developers and researchers building the next generation of simulation tools for general chemistry, materials science, and biological systems.
Features
- Dynamic Charge Calculation: Implements the canonical Rappé & Goddard (1991) QEq method.
- Geometry Dependent: Charges respond naturally to changes in molecular conformation.
- Decoupled Architecture: Agnostic to basic data structures via the flexible
AtomViewtrait. - Memory Safe & Fast: Built in Rust with optimized linear algebra for high performance.
- Configurable Parameters: Includes standard parameters with support for custom TOML-based sets.
Getting Started
To get started with Cheq, add it as a dependency in your Cargo.toml:
[]
= "0.1.0"
Then, you can use it in your Rust code as follows:
use ;
use assert_relative_eq;
Note: This is a simplified example. For more advanced usage, including custom parameter loading and integration with existing molecular data structures, please refer to the API Documentation.
Documentation
- API Documentation - Comprehensive reference for all public types and functions.
- Theory Background - The original QEq paper by Rappé and Goddard (J. Phys. Chem. 1991, 95, 3358-3363).
Tech Stack
- Core Language: Rust
- Linear Algebra:
faer - Serialization:
serde&toml
License
This project is licensed under the MIT License - see the LICENSE file for details.