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 concatenated MD trajectories generated by VASP, specifically the XDATCAR files. The documentation for the package can be accessed here, and a 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 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 {1..10}; do cp RUN$i/XDATCAR xdc_files/XDATCAR_$(printf %02d $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

Major Changelog

0.3.0 Enabled the functions for locating minima and running NEB in 2D FES.

0.2.5 Enabled CLI through the rich package.

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

Project details


Release history Release notifications | RSS feed

This version

0.3.4

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.4.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

xdatbus-0.3.4-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xdatbus-0.3.4.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xdatbus-0.3.4.tar.gz
Algorithm Hash digest
SHA256 17899afb8aabf1c16c9cbb9cce8bb8e959dda267c181955b396fe3b23e4ea6e8
MD5 fb48ba6e16859622dd6fbc13d8027489
BLAKE2b-256 b8e9b35ab29f22df8dde268c60773764981e4083e3c28e051ec86b28325cff9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xdatbus-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xdatbus-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 28a943c1f1283d7c9f339d5ae2c71b4f2916b124b68a108b85e4b1a0d11c974f
MD5 df38c29fc2d56cb7c21f16c358720bb8
BLAKE2b-256 4ed8271d2851ef6f09eed6a698f1e2c22b457db61182b63634630e25f74f9204

See more details on using hashes here.

Supported by

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