Introduction
Introduction
Section titled “Introduction”FBTK (Forblaze Toolkit) is a high-performance toolkit designed to accelerate the preparation and analysis of complex molecular systems, particularly polymers and multicomponent mixtures.
The core engine is implemented in Rust for maximum performance, while providing a seamless Python interface that integrates with established ecosystems like ASE, RDKit, and LAMMPS.
Key Features
Section titled “Key Features”- High Performance: Multithreaded execution powered by Rust. Quickly pack systems with tens of thousands of atoms.
- Zero-dependency Engine: Simply run
pip install fbtkto get a self-contained, high-speed Rust engine immediately. - Zero Configuration: No complex environment setup, path configurations, or version conflicts with other libraries like RDKit.
- Built-in 3D Generation: 3D coordinate generation from SMILES is handled by the internal VSEPR + UFF engine, eliminating the need for external tools.
- Smart Relaxation: Quickly resolve atomic overlaps before MD production. The FIRE algorithm ensures stable structural optimization without system collapse.
- Ecosystem Ready: Direct support for analyzing ASE Atoms objects and seamless conversion (
to_ase()).
Standard Units
Section titled “Standard Units”FBTK adopts unit systems commonly used in molecular dynamics:
- Distance: Å (Angstrom)
- Mass: amu (Atomic mass unit)
- Density: g/cm³
- Energy: kcal/mol
- Force: kcal/mol/Å
- Time: fs (used for
dtin MSD calculations, etc.)
Performance & Parallelism
Section titled “Performance & Parallelism”FBTK utilizes the Rayon library for data parallelism. Computationally intensive tasks such as structure relaxation, RDF/MSD calculations, and distance matrix acquisition are automatically parallelized.
Thread Configuration
Section titled “Thread Configuration”By default, FBTK is configured to use 4 threads to avoid overwhelming the CPU in shared or interactive environments (like Jupyter).
To adjust the number of threads, set the RAYON_NUM_THREADS environment variable before running your Python script:
# Example: Use 8 threadsexport RAYON_NUM_THREADS=8python your_script.pyInstallation
Section titled “Installation”Python Library
Section titled “Python Library”To use FBTK within your Python workflow:
pip install fbtkStandalone CLI Tools
Section titled “Standalone CLI Tools”For users who prefer working directly from the shell without Python, static binaries are available for download from GitHub Releases. See Command Line Interface (CLI) for details.
Dependencies
Section titled “Dependencies”- Python 3.8+ (Supports Manylinux / macOS / Windows)
FBTK is distributed as a self-contained binary module; no additional libraries are strictly required for its core functionality.
Optional Interfacing
Section titled “Optional Interfacing”While not required, these tools can be used in conjunction with FBTK for advanced workflows:
- ASE: Recommended for I/O and visualization.
- RDKit: Useful for advanced topology manipulation via RDKit objects.