Home
vitrum reads a glass structure or an MD trajectory and returns the numbers usually quoted from one: RDFs and structure factors, coordination numbers and Q^n speciation, ring and void statistics, persistence diagrams, diffusion coefficients. It also builds the structures in the first place, by random packing or by sampling a composition space.
Documentation
The navigation on the left covers each module. Source code is in the GitHub repository.
Installation
See Installation for full instructions, including optional dependency groups.
Active development
vitrum is under active development. Before 2.0, a minor release may still remove or rename API that turned out to be wrong. Every such change is listed in the changelog, and anything scheduled for removal is deprecated with a warning naming its replacement first where practical. From 2.0 onwards the public API follows semantic versioning.
Examples
The examples folder on GitHub holds runnable notebooks: scattering and RDF analysis, Q^n speciation, random structure generation, and more.
What it computes
Structure
- Partial and total radial distribution functions and structure factors \(S(q)\), weighted for neutron or X-ray scattering (
vitrum.scattering). - Ring size distributions and per-ring topology metrics in network glasses (
vitrum.rings). - Free volume fraction and discrete cavity sizes, from a probe-accessible grid (
vitrum.voids). - Persistence diagrams, for medium-range order and topological features (
vitrum.persistent_homology). - Bond angle distributions, coordination numbers and Q^n speciation (
vitrum.coordination).
Dynamics
- Mean squared displacement, diffusion coefficients and Van Hove correlation functions (
vitrum.diffusion).
Machine learning and workflows
- The BALACE framework (
vitrum.batch_active, needs theworkflowsextra) trains ACE interatomic potentials by batch active learning, running VASP and LAMMPS through Fireworks and Jobflow. It is stale and unsupported, see Known issues.
Citation
If you use vitrum in your work, please cite it. Each GitHub release is archived on Zenodo with a version-specific DOI; see CITATION.cff in the repository for the citation metadata.
Author
Rasmus Christensen (rasmusc@bio.aau.dk)
Acknowledgements
vitrum builds on:
* ASE
* Pymatgen
* NumPy / SciPy / pandas
* Dionysus / DioDe
* Atomate2 / Jobflow / Fireworks