Make it easier to process VASP files.
处理VASP文件从未如此 灵活 简单
VASPy 是一个纯python编写的处理VASP文件的框架
使用者可以使用VASPy的接口简单快捷的编写处理VASP文件的脚本,也可以在命令行直接操作VASP文件。
/scripts
下是本人根据自己的需求,使用VASPy所写的一些脚本,可作为参考。
#处理分割好的DOS文件
>>> from vaspy.electro import DosX
>>> a = DosX('DOS1')
>>> b = DosX('DOS8')
#分波态密度合并
>>> c = a
>>> c.reset_data() # 初始化DOS数据
>>> for i in xrange(1, 10):
>>> c += DosX('DOS'+str(i)) # 循环合并DOS数据
>>> ...
>>> c.data # 以float矩阵显示合并后的数据
# 可直接进行计算等操作
>>> c.tofile() # 生成新的合并后的DOS文件
#绘图
>>> c.plotsum(0, (5, 10)) # 绘制d轨道pDOS图
处理ELFCAR举例:
>>> from vaspy.electro import ElfCar
>>> a = ElfCar()
>>> a.plot_contour() # 绘制等值线图
>>> a.plot_mcontour() # 使用mlab绘制等值线图(需安装Mayavi)
>>> a.plot_contour3d() # 绘制3d等值线图
>>> a.plot_field() # 绘制标量场
3D 等值线图
scalar field
charge difference(use ChgCar class)
操作XDATCAR举例
>>> from vaspy.atomco import XdatCar
>>> xdatcar = XdatCar()
>>> # 输出xdatcar相应Cartesian坐标
>>> for step, data in xdatcar:
>>> print step
>>> print xdatcar.dir2cart(xdatcar.bases, data)
>>> # 可直接运行script/中脚本生成相应.arc文件用于MaterialStudio显示动画
>>> python xdatcar_to_arc.py
动画实例
使用者可以编写自己的脚本来批处理VASP文件
日期 | 版本 | 内容 |
2015-11-17 | 0.4.1 | XdatCar类实现迭代协议 |
2015-10-09 | 0.3.0 | 新增InCar类 |
2015-10-07 | 0.2.12 | 新增Dos图颜色填充和dband center显示 |
2015-09-30 | 0.2.11 | 新增修改xsd文件中特定原子颜色的方法 |
2015-09-22 | 0.2.10 | 新增绘制TOTAL-FORCE曲线的脚本 |
2015-09-19 | 0.2.7 | ELFCAR等值线绘制支持空间扩展 |
2015-09-17 | 0.2.5 | 新增ContCar类 |
2015-09-16 | 0.2.4 | 新增利用VASPy所写的生成VASP输入文件的脚本 以及由CONTAR生成xsd文件的脚本 |
2015-09-15 | 0.2.3 | 修复XsdFile类中数据顺序与POSCAR中顺序冲突的bug |
2015-09-15 | 0.2.2 | 新增3d等值线图和标量场绘制 |
2015-09-13 | 0.2.1 | 新增mlab绘制contour |
2015-09-13 | 0.2.0 | 新增ELFCAR图像绘制 |
2015-09-12 | 0.1.1 | 新增d-band center计算 |
2015-09-11 | 0.1.0 | 新增DosX类,处理分割后的DOS文件 |
2015-09-10 | 0.0.3 | 新增OutCar类,提供分析原子的受力数据 |
2015-08-11 | 0.0.2 | 新增XsdFile类,处理material studio的xsd文件 |
2015-08-04 | 0.0.1 | 初始版本, 提供的功能:
2.处理POSCAR,CONTCAR文件中的数据 3.处理OSZICAR,处理每步迭代数据 |