uff-relax
A high-performance, parallelized molecular structure optimizer for Rust, powered by the Universal Force Field (UFF) and the FIRE algorithm.
Features
- ๐ High Performance: Optimized force evaluations with Cell Lists for efficient neighbor searching.
- ๐งต Parallel Processing: Scalable multi-threading via Rayon, automatically enabled for large systems (>1000 atoms).
- ๐ PBC Support: Periodic boundary conditions for Orthorhombic and Triclinic systems.
- ๐งช Smart Type Assignment: Automatically infers UFF atom types from atomic numbers and connectivity.
- ๐ฆ Pure Rust: Fast, safe, and easy to integrate.
Installation
Add this to your Cargo.toml:
[]
= "1.0.0"
= "0.31"
Quick Start
use ;
use DVec3;
Running Examples
Try the included examples to see the optimizer in action:
Benchmarks
This crate includes specialized benchmarks to measure scaling performance and handle large-scale systems. These are standalone binaries (harness = false) to ensure minimal overhead.
1. Scaling Threshold
Measures the efficiency of parallelization as the number of atoms increases.
2. Large System Stress Test
Simulates a system with 100,000 atoms to verify stability and memory efficiency in large-scale optimizations.
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Author
Forblaze Project
Website: https://forblaze-works.com/