Skip to main content

vitrum — glass structure analysis

Documentation Status PyPI - Python Version PyPI

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.

🚧 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.

📖 Documentation

Please see the docs folder for detailed documentation or check the online documentation.

📦 Installation

vitrum is available on PyPI:

pip install vitrum

To install dependencies for simulation workflows (atomate2, fireworks, jobflow):

pip install vitrum[workflows]

For the latest development version, clone the repository and install it in editable mode instead:

git clone https://github.com/R-Chr/vitrum.git
cd vitrum
pip install -e .

🚀 Examples

See the examples folder for runnable Jupyter notebooks demonstrating scattering/RDF analysis, Qn speciation, and random structure generation, among others.

🎯 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).
  • Void/Cavity Analysis: Quantify free volume fraction and discrete cavity size distributions via a grid/probe-accessible-volume method (vitrum.voids).
  • 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).

📑 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 for the citation metadata (GitHub's "Cite this repository" button uses this file automatically).

DOI

🤝 Contributing

Bug reports, test cases and pull requests are welcome. See CONTRIBUTING.md for the development setup and what a mergeable change looks like, and CODE_OF_CONDUCT.md for community expectations. Security issues should go through SECURITY.md rather than the public issue tracker.

👥 Author

Rasmus Christensen (rasmus.christensen.a1@tohoku.ac.jp)

⭐ Acknowledgements

vitrum relies on several powerful open-source packages:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vitrum-1.1.0.tar.gz (144.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vitrum-1.1.0-py3-none-any.whl (111.4 kB view details)

Uploaded Python 3

File details

Details for the file vitrum-1.1.0.tar.gz.

File metadata

  • Download URL: vitrum-1.1.0.tar.gz
  • Upload date:
  • Size: 144.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vitrum-1.1.0.tar.gz
Algorithm Hash digest
SHA256 13f0f4d1a6c162bbf4907e92c93a41bae38e384d4d344f3cb3eb9470e080cf56
MD5 6207df1256e5a4c006045a3bcc185161
BLAKE2b-256 18810af2c90ce2bef46fadf9047afb60f3449006ab721e96976a897feeedaa76

See more details on using hashes here.

Provenance

The following attestation bundles were made for vitrum-1.1.0.tar.gz:

Publisher: publish.yml on R-Chr/vitrum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vitrum-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: vitrum-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 111.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vitrum-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9360de6be5f188cf233ed0bef38531c115c300031d4ce882874e660b5dcca630
MD5 1c9a864055a038f6d8acdf39209da6b6
BLAKE2b-256 d16f63654feb83d7ab2c69fa1edecc4e94820866db4b165eaa98f695feb24131

See more details on using hashes here.

Provenance

The following attestation bundles were made for vitrum-1.1.0-py3-none-any.whl:

Publisher: publish.yml on R-Chr/vitrum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page