VASPy
Introduction
VASPy is a pure Python library designed to make it easy and quick to manipulate VASP files.
You can use VASPy to manipulate VASP files in command lins or write your own python scripts to process VASP files and visualize VASP data.
In /scripts , there are some scripts written by me for daily use.
More interfaces examples in Jupyter Notebook format are in /examples. Any contribution is welcomed!
Installation
Via pip(recommend):
pip install vaspy
Via easy_install:
easy_install vaspy
From source:
python setup.py install
If you want to use mayavi to visualize VASP data, it is recommened to install Canopy environment on your device instead of installing it manually.
After installing canopy, you can set corresponding aliases, for example:
alias canopy='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/python'
alias canopy-pip='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/pip'
alias canopy-ipython='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/ipython'
alias canopy-jupyter='/Users/<yourname>/Library/Enthought/Canopy/edm/envs/User/bin/jupyter'
Then you can install VASPy to canopy:
canopy-pip install vaspy
Examples
manipulate splited DOS file in command-line
# Manipulate splited DOS files.
>>> from vaspy.electro import DosX
>>> a = DosX('DOS1')
>>> b = DosX('DOS8')
# Merge DOS data.
>>> c = a
>>> c.reset_data() # Initialize DOS data
>>> for i in range(1, 10):
>>> c += DosX('DOS'+str(i)) # Merge DOS data.
>>> ...
>>> c.data # Get data(numpy array/matrix)
>>> c.tofile() # Get new DOS file with merged data
# Plot.
>>> c.plotsum(0, (5, 10))
Output
Visualize ELFCAR
>>> from vaspy.electro import ElfCar
>>> a = ElfCar()
>>> a.plot_contour() # Plot coutour
>>> a.plot_mcontour() # Plot coutour using mlab(with Mayavi installed)
>>> a.plot_contour3d() # Plot 3D coutour
>>> a.plot_field() # Plot scalar field
Output
3D contour
Scalar field
Charge difference (Use ChgCar class)
Manipulate XDATCAR:
>>> from vaspy.atomco import XdatCar
>>> xdatcar = XdatCar()
>>> # Get Cartisan coordinates and step number in XDATCAR.
>>> for item in xdatcar:
>>> print(item.step)
>>> print(xdatcar.dir2cart(xdatcar.bases, item.coordinates))
>>> python xdatcar_to_arc.py
animation
Process animation file:
Now VASPy can manipulate animation files to get more realistice results like atom trajectories or 2D/3D probability distribution.
You can write your OWN script to process VASP files
From the author
Welcome to use VASPy (β'β‘'β)οΎ
- If you find any bug, please report it to me by opening a issue.
- VASPy needs to be improved, your contribution will be welcomed.
Important update log
Date | Version | Description |
---|---|---|
2016-08-08 | 0.7.0 | Enhance universality |
2016-07-15 | 0.6.0 | Compatible with python 3 |
2015-08-04 | 0.1.0 | Initial version |