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.

Filename, size & hash SHA256 hash help File type Python version Upload date
vasptools-0.6.1-py2.py3-none-any.whl (27.3 kB) Copy SHA256 hash SHA256 Wheel py2.py3
vasptools-0.6.1-py3.6.egg (58.2 kB) Copy SHA256 hash SHA256 Egg 3.6
vasptools-0.6.1.tar.gz (19.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page