Skip to main content

Python package for analyzing vacancy hopping mechanism

Project description

VacHopPy is a Python package for analyzing vacancy-mediated diffusion from molecular dynamics (MD) simulations. The package facilitates a reliable multiscale modeling workflow by calculating key effectuve hopping parameters that can be directly incorporated into continuum-scale models.


Documentation

You can find the complete VacHopPy documentation, including comprehensive tutorials and API references, on Read The Docs.


Key Features

  • Effective Parameter Extraction

    Derives a single set of effective hopping parameters from the MD simulations, providing ready-to-use inputs for continuum-scale models.

  • Ensemble Analysis

    Simultaneously processes an ensemble of multiple MD trajectories. This approach efficiently samples rare hopping events in high-barrier systems, avoiding the need for a single, prohibitively long simulation.

  • Memory-Efficient Processing

    Reads and interprets large-scale trajectories via a streaming approach, enabling the analysis of massive datasets within just a few gigabytes of RAM.


Effective Hopping Parameters

In ab initio calculations, such as the nudged elastic band (NEB) method, hopping parameters are typically determined for a specific, predefined migration path. Consequently, in a system with multiple distinct migration pathways, one obtains a collection of different hopping parameter sets, each corresponding to a unique path.

However, to compare these computational results with experimental data or to use them in continuum-scale models, a single, representative set of parameters that encapsulates the overall diffusion behavior is required. We term this representative set the effective hopping parameters, which serve as ready-to-use inputs for continuum-level analysis.

The effective hopping parameters self-consistently satisfy the following fundamental diffusion equations:

$$ D = \frac{1}{6} f z a^2 \nu \cdot \exp(-E_a / k_B T) $$

$$ \Gamma = \frac{1}{\tau} = z \nu \cdot \exp(-E_a / k_B T) $$

For a more detailed theoretical background, please refer to this paper. The key effective hoppping parameters extractable with VacHopPy are summarized below.

Symbol Parameter Unit
$D$ Vacancy diffusivity m²/s
$\tau$ Vacancy residence time ps
$f$ Correlation factor -
$E_a$ Hopping barrier eV
$a$ Hopping distance Å
$z$ Coordination number -
$\nu$ Attempt frequency THz
$\nu^*$ Atomic vibration frequency THz

All hopping parameters extracted by VacHopPy, such as those summarized above, are effective values. This means they represent the overall, averaged behavior of vacancy diffusion across all possible migration paths within the system. For instance, the calculated effective hopping barrier ($E_a$) is not tied to a single NEB path but reflects the system-wide average barrier influencing diffusion.


Getting Started

You can install VacHopPy using pip:

pip install vachoppy

Alternatively, you can install the latest version in development from VacHopPy GitHub:

git clone git@github.com:TY-Jeong/VacHopPy.git
cd VacHopPy
pip install -e .

Command-Line Interface (CLI)

In addition to its Python library, VacHopPy provides a powerful Command-Line Interface (CLI) to perform key tasks directly from your terminal. This allows you to run analyses quickly without writing custom scripts.

The general command structure is:

vachoppy <command> [options]

To see a list of all available commands and their brief descriptions, use the -h or --help option:

vachoppy -h

Here is a summary of the main commands available:

Command Description
trajectory Identify and visualize vacancy trajectories from a single trajectory file.
analyze Extract hopping parameters from an ensemble of trajectories.
vibration Extract atomic vibration frequency from a single trajectory.
distance Trace change in cosine distance from a reference structure over time.
fingerprint Calculate and plot the fingerprint for a single static structure.
msd Calculate diffusivity from mean squared displacement (Einstein relation).
convert Convert various MD trajectory formats to the standard HDF5 format.
concat Concatenate two successive HDF5 trajectory files into a new one.
cut Cut a portion of a HDF5 file and saves it as a new file.
show Display a metadata summary of a HDF5 trajectory file.

References

If you used VacHopPy package, please cite this paper

  • T. Jeong et al., Comput. Phys. Commun. 320, 110010 (2026)

Project details


Download files

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

Source Distribution

vachoppy-3.1.1.tar.gz (101.2 kB view details)

Uploaded Source

Built Distribution

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

vachoppy-3.1.1-py3-none-any.whl (99.2 kB view details)

Uploaded Python 3

File details

Details for the file vachoppy-3.1.1.tar.gz.

File metadata

  • Download URL: vachoppy-3.1.1.tar.gz
  • Upload date:
  • Size: 101.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for vachoppy-3.1.1.tar.gz
Algorithm Hash digest
SHA256 9445f5006b51f53cd1d64e4e477b27e7090736a8e9f9844afac78132f7b4a107
MD5 c6e7c7bb58c0d152390b48287d64e913
BLAKE2b-256 3ffef91dfa523dcc954aa9531fa24e7174578ed1874a779b351134bd36560d7e

See more details on using hashes here.

File details

Details for the file vachoppy-3.1.1-py3-none-any.whl.

File metadata

  • Download URL: vachoppy-3.1.1-py3-none-any.whl
  • Upload date:
  • Size: 99.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for vachoppy-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65fc6c85ff17ded70499960df44798350980f6d25700732d8afeb6f0aa51a315
MD5 a31d443adc1ddfb654d014baaafb2efe
BLAKE2b-256 9387046ef4b74b9942aad03449b596b66fb6648a31692823fbc6cee9c0beaa6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page