Skip to main content

tool collection for parsing vasp inputs & outputs

Project description


tools for vasp

Build Status PyPI


pip install vasptools

CLI mode

$ vasptools -h
usage: vasptools [-h] [-p] [-ppath PATH] [-t] [-td PATH] [-s] [-D] [-V]
                 subcommand ...


positional arguments:
    potcar              POTCAR
    incar               INCAR
    LISTSUBCOMMAND      list all sub commands, just for test

optional arguments:
  -h, --help            show this help message and exit
  -p, --preview         preview
  -ppath PATH, --potpath PATH
                        set vasppot_path, you could also set env VASPPOT
  -t, --test            run test
  -td PATH, --test_dir PATH
  -s, --shell           shell mode, exec shell script
  -D, --DEBUG           debug
  -V                    show program's version number and exit
$ vasptools potcar -h
usage: vasptools potcar [-h] [-i PATH] [-d PATH] [-p PTYPE] [-l]
                        [pp_names [pp_names ...]]

positional arguments:

optional arguments:
  -h, --help            show this help message and exit
  -i PATH, --input PATH
                        Generate POTCAR with POSCAR
  -d PATH, --dirname PATH
                        directory to generate file
  -p PTYPE, --ptype PTYPE
                        potcar type, avail: ['potcar', 'potcarGGA', 'potpaw',
                        'potpaw_GGA', 'potpaw_PBE']
  -l, --list            list available potcar


>>> from vasptools import potcar
>>> potcar.get_potcar_content(pp_names=['H', 'He', 'Li', pp_type='potpaw_PBE')
' PAW_PBE H 15Jun2001\n 1.00000000000000000\n parameters from PSCTR are:\n   VRHFIN =H: ultrasoft test\n '
>>> potcar.gen_potcar(pp_names=['H'], pp_type='potpaw_PBE')


>>> from vasptools import incar
>>> incar_dict = incar.parse_incar(incarfile)
>>> print(incar_dict)
OrderedDict([('system', 'si series'), ('prec', 'accurate'), ('encut', '245.345'), ('ibrion', '-1'), ('nsw', '0'), ('nelmin', '2'), ('ediff', '1.0e-05'), ('ediffg', '-0.02'), ('voskown', '1'), ('nblock', '1'), ('lvtot', '.true.'), ('nelm', '60'), ('algo', 'fast   (blocked davidson)'), ('gga', 'pe'), ('ispin', '1'), ('iniwav', '1'), ('istart', '0'), ('icharg', '2'), ('lwave', '.false.'), ('lcharg', '.true.'), ('addgrid', '.false.'), ('lhyperfine', '.false.'), ('ismear', '0'), ('sigma', '0.2'), ('rwigs', '1.11')])
>>> print(output_incar(incar_dict))
system = si series
prec = accurate
encut = 245.345
ibrion = -1
nsw = 0
nelmin = 2


  • [x] INCAR
  • [ ] POSCAR
  • [ ] KPOINTS
  • [ ] OUTCAR
  • [ ] DOSCAR
  • [ ] CHGCAR
  • [ ] CHG
  • [ ] WAVECAR


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for vasptools, version 0.6.1
Filename, size File type Python version Upload date Hashes
Filename, size vasptools-0.6.1-py2.py3-none-any.whl (27.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size vasptools-0.6.1-py3.6.egg (58.2 kB) File type Egg Python version 3.6 Upload date Hashes View
Filename, size vasptools-0.6.1.tar.gz (19.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page