一点号复旦大数据5小时前
复旦大数据
Pytlab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,蒙特卡洛算法等)与并行化 算法(MPI,OpenMP等多线程以及多进程并行化)以及python优化方法,经常使用C++给python写扩展。―前言
本文为作者对其开源项目VASPy的说明文章。VASPy是一个纯Python编写的处理VASP文件数据以及进行数据快速可视化的库,基于OOP的思想提供了操作VASP文件的友好的接口,可以帮助使用者快速编写处理VASP相关文件的脚本,以提升效率。VASPy的项目仍处于起步阶段,希望大家可以都贡献出自己的力量使其壮大起来。
VASP简介对于广大做计算化学或者材料模拟的同学肯定听说过VASP的大名或者其科学研究与其息息相关。VASP的全称是Vienna Ab-initio Simulation Package,是维也纳大学Hafner课题组开发的进行电子结构计算和量子力学-分子动力学模拟的软件包,目前是材料模拟和计算物质科学研究中最流行的商业软件之一。关于VASP的详细介绍可以参见其官方主页
VASPy项目简介
VASPy的思想是将VASP相关的文件都视为可操作的对象,通过友好的接口对一个或者多个VASP对象进行快速的操作以提升工作效率。目前已兼容Python2 和 Python3。
安装
VASPy库已上传至PyPI可以通过pip来进行安装:
$ pip install vaspy
从源码安装:
$ git clone git@github.com:PytLab/VASPy.git
$ cd vaspy
$ python setup.py install
VASPy包的文件结构VASPy/
├──LICENSE
├──MANIFEST
├──MANIFEST.in
├──README.rst
├──requirements.txt
├──scripts
│ ├──change_incar_parameters.py
│ ├──create_inputs.py
│ └──...
├──setup.cfg
├──setup.py
├──tests
│ ├──incar_test.py
│ ├──__init__.py
│ ├──oszicar_test.py
│ ├──outcar_test.py
│ ├──testdata
│ │ ├──CONTCAR
│ │ ├──DOS_SUM
│ │ ├──ELFCAR
│ │ └──...
│ └──...
└──vaspy
├──__init__.py
├──iter.py
├──matstudio.py
└──...
文件操作举例目前VASPy提供了操作INCAR、POSCAR、OUTCAR、XDATCAR、ELFCAR等的接口,这里对其中的部分进行简要的举例介绍。
操作INCAR文件INCAR是VASP做电子结构计算的参数设置文件,VASPy提供了InCar类可以方便获取INCAR文件的信息以及进行自定义的修改并生成新的INCAR文件。 In[1]:fromvaspy