Skip to main content

A Python package enhancing VASP AIMD simulation

Project description

xdatbus 🚌

Build Release PyPI Downloads codecov Code style: black

Xdatbus is a Python package designed specifically for Vienna Ab-initio Simulation Package (VASP) users conducting ab-initio molecular dynamics (AIMD) simulations, as well as biased MD simulations. The name of the package is derived from the MD trajectory file (XDATCAR) generated by VASP. The documentation for the package can be accessed here, and a collection of Jupyter Notebook tutorial is also available.

Installation

Make sure you have a Python interpreter, preferably version 3.10 or higher. Then, you can simply install xdatbus from PyPI using pip:

pip install xdatbus

If you'd like to use the latest unreleased version on the main branch, you can install it directly from GitHub:

pip install git+https://github.com/jcwang587/xdatbus

The package is also available from conda-based installation. It is generally recommended you first create a separate environment, then you can install via the xdatbus channel on Anaconda cloud:

conda install --channel xdatbus xdatbus

If you plan to use PLUMED to analyze enhanced sampling AIMD results, you can also install the conda version of PLUMED together:

conda install -c xdatbus -c conda-forge xdatbus plumed

Get Started

This is a brief example demonstrating how to use the basic function of xdatbus to aggregate multiple xdatcar files into a single file and unwrap the coordinates into an .xyz file.

As is often the case when you have submitted a continuous AIMD job, it is likely that you would have subfolders for each submission. XDATCAR files can be first gathered in a separate directory by:

$ mkdir xdc_files && for i in {01..10}; do cp RUN$i/XDATCAR xdc_files/XDATCAR_$i; done

Then, try aggregating and unwrapping the coordinate data from the XDATCAR files:

import os
from xdatbus import xdc_aggregate, xdc_unwrap

xdc_dir = "./xdc_files"
xdb_dir = os.path.dirname(xdc_dir)
xdb_path = os.path.join(xdb_dir, "XDATBUS")
xyz_path = os.path.join(xdb_dir, "XDATBUS_unwrap.xyz")

xdc_aggregate(xdc_dir=xdc_dir, output_dir=xdb_dir)
xdc_unwrap(xdc_path=xdb_path, output_path=xyz_path)

There are also entry points included with the installation for the Command Line Interface (CLI) to perform similar tasks:

$ xdc_aggregate --xdc_dir ./xdc_files --output_dir ./
$ xdc_unwrap --xdc_path ./XDATBUS --output_path ./XDATBUS_unwrap.xyz

Visualization

Powered by MolecularNodes Powered by bpy

This is testing functionality for visualizing the molecular dynamics trajectory with Blender. There is a strict Python version required for compatibility with Blender. Please check the compatible version of Python for bpy to ensure there are no conflicts in your environment.

pip install molecularnodes bpy

Major Changelog

0.3.8 Added functions for locating minima and running NEB in a 2D FES.

0.2.5 Enabled a command-line interface that runs through the rich package.

0.2.0 Added a function to generate extxyz data for training machine learning interatomic potentials.

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

xdatbus-0.3.8.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

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

xdatbus-0.3.8-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file xdatbus-0.3.8.tar.gz.

File metadata

  • Download URL: xdatbus-0.3.8.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xdatbus-0.3.8.tar.gz
Algorithm Hash digest
SHA256 66cad0fe49f518091e4331d8d5a633615c6329d38fcebb559e85dd99fced22f8
MD5 073271a4ad3eb284276ee63d20f22c7f
BLAKE2b-256 0cb4e6ce1cd6896459a2afac606d8c2318662a44df3c7af49397c629675b6209

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdatbus-0.3.8.tar.gz:

Publisher: pypi-publish.yml on jcwang587/xdatbus

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

File details

Details for the file xdatbus-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: xdatbus-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xdatbus-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 cc69fc0fab66ac76e72bc03405ccb51b031d88eaea86a2609e0ec09812480aa6
MD5 c3901d2f58222a855bd9b30fe7418bbc
BLAKE2b-256 80b1b1ae18dbd172ef9de1ddc328c7ba3c80f6a5d61edc1871feb6f5636d29df

See more details on using hashes here.

Provenance

The following attestation bundles were made for xdatbus-0.3.8-py3-none-any.whl:

Publisher: pypi-publish.yml on jcwang587/xdatbus

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

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