Skip to content

⏳ 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