⏳ vitrum (WIP)⏳
vitrum is a Python package designed for the generation, analysis, and simulation of disordered and glassy atomic structures. It provides a comprehensive suite of tools for structural characterization, diffusion analysis, and tools for machine learning-driven potential development.
🔴 Vitrum is a work in progress 🔴
Nothing is sacred, and development is ongoing. APIs and functionality are subject to change at any time.
🎯 Scope and Functionality
vitrum offers:
1. Structural Characterization
- Scattering Functions: Calculate partial and total Radial Distribution Functions (RDF) and Structure Factors (\(S(q)\)) for both Neutron and X-ray scattering (
vitrum.scattering). - Ring Analysis: Analyze ring size distributions and statistics in network glasses (
vitrum.rings). - Topological Analysis: Compute persistent homology to identify medium-range order and topological features (
vitrum.persistent_homology). - Coordination & Angles: Analyze bond angle distributions and coordination environments (
vitrum.coordination).
2. Dynamics & Diffusion
- Diffusion Analysis: Calculate Mean Squared Displacement (MSD), diffusion coefficients, and Van Hove correlation functions (
vitrum.diffusion).
3. Machine Learning & Workflows
- BALACE Framework: A Batch Active Learning framework for Atomistic Simulations (
vitrum.batch_active).- Automated workflow for training Machine Learning Interatomic Potentials (MLIPs) based on ACE .
- Integration with VASP and LAMMPS for data generation and active learning loops.
- Job management via Fireworks and Jobflow.
� Author
Rasmus Christensen (rasmusc@bio.aau.dk)
⭐ Acknowledgements
vitrum relies on several powerful open-source packages:
* ASE
* Pymatgen
* NumPy / SciPy / pandas
* scikit-learn
* Dionysus / DioDe
* Atomate2 / Jobflow / Fireworks