Skip to content
/ gvasp Public

A quick post-process for resolve or assistant the VASP calculations

License

Notifications You must be signed in to change notification settings

Rasic2/gvasp

Repository files navigation

GVasp Manual

GitHub Documentation Status Anaconda-Server Badge Anaconda-Server Badge Codecov

Table of contents

About GVasp

A quick post-process for resolve or assistant the VASP calculations, which can involve in many kinds of tasks as below:

  • generate inputs
  • visualize output
  • visualize trajectory
  • plot interface
  • charge related work
  • band-center calculation
  • calculation utils
    • surface energy calculation
    • electrostatic energy calculation
    • thermo-correction

More detailed information can see here.

Install

Create Environment

Before install the GVasp, we strongly recommend you to install conda before.

After install conda, create a new environment, e.g. gvasp, and install a python (version=3.9), using following command:

conda create -n gvasp python=3.9

Install GVasp

  1. Use conda (recommend)

    We now made a conda package (production process can see here) and uploaded to the Anaconda, so you can also install GVasp from it:

    conda install -c hui_zhou -c conda-forge gvasp
    
  2. Use PyPi

    We have made the wheel (production process can see here) and upload to the pypi, you can also install from it:

    pip3 install gvasp
    

    If the download speed is too slow, we suggest you change the pip mirror by modifying the ~/.pip/pip.conf file.

  3. From sourcecode

    You can install the GVasp using the following command (under the root directory):

    python3 setup.py install
    

    or

    pip3 install .
    

If you run the gvasp -v and print version information, then you install the GVasp successful ~~

GVasp version x.x.x (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.35)

Setting Environment

Default Environment

Default environment can display by following command:

gvasp -l/--list

Initial environment is like this:

------------------------------------Configure Information---------------------------------
! ConfigDir:      /mnt/c/Users/hui_zhou/Desktop/packages/gvasp/gvasp
! INCAR-template: /mnt/c/Users/hui_zhou/Desktop/packages/gvasp/gvasp/INCAR
! UValue:         /mnt/c/Users/hui_zhou/Desktop/packages/gvasp/gvasp/UValue.yaml
! scheduler:      slurm
! PotDir:         /mnt/c/Users/hui_zhou/Desktop/packages/gvasp/gvasp/pot
! LogDir:         /mnt/c/Users/hui_zhou/Desktop/packages/gvasp/gvasp/logs
------------------------------------------------------------------------------------------
  • ConfigDir: represents the directory of INCAR (template), UValue.yaml and other setting files

  • scheduler: represents the job control system, now only support slurm (but you can specify a .submit file in your parent-chain path)

  • LogDir: represents the directory of logs

  • INCAR: INCAR template file for all GVasp submit tasks

  • UValue.yaml: define the UValue for elements

  • pot: directory of the elements' POTCAR (please prepare it by yourself)

The structure of pot like this:

pot
├── PAW_LDA
├── PAW_PBE
├── PAW_PW91
├── USPP_LDA
├── USPP_PW91
└── vdw_kernel.bindat

Modify Environment

If you don’t like the default environment, you can modify the environment by writing a config.json (or other name, but json format), the structure of config.json like this:

{
  "config_dir": "/your_directory_to_three_mentioned_files",
  "potdir": "/your_pot_directory",
  "logdir": "/your_logs_directory"
}

and run command:

gvasp config -f config.json

Then the environment will be reset, GVasp will auto search the INCARand UValue.yaml under the config_dir.

User template

GVasp support user to define their INCAR, UValue.yaml or submit template with the following steps:

  1. Named the INCAR, UValue.yaml or submit template as the *.incar, *.uvalue and *.submit files respectively.

  2. Put them in your parent directory or parent’s parent directory and so on (defined as the parent-chain).

After these two steps, the GVasp generate the inputs will apply your templates.

Code Structure

Requirements

  • Python >= 3.9
  • Cython
  • pybind11
  • numpy
  • matplotlib
  • bash-completion

Copyright © 2022-2023 Hui Zhou All rights reserved.