Source-linked AI summary

VASPKIT: A User-friendly Interface Facilitating High-throughput Computing and Analysis Using VASP Code

Vei Wang, Nan Xu, Jin Cheng Liu, Gang Tang, Wen-Tong Geng

arXiv:1908.08269v6cond-mat.mtrl-sci

TL;DR

High-throughput VASP studies need a user-friendly way to set up calculations and analyze diverse material properties. VASPKIT provides integrated pre- and post-processing tools with interactive and command-line workflows, and illustrative examples demonstrate its capabilities for VASP data analysis and high-throughput calculations.

  • Problem

    High-throughput VASP workflows need a user-friendly interface for calculation setup and analysis of diverse material properties.

  • Method

    VASPKIT combines preprocessing for input generation and structure analysis with post-processing of elastic, electronic, optical, charge, and related VASP data.

  • Results

    Illustrative examples demonstrate VASPKIT’s capabilities for setup, material-property analysis, and command-line high-throughput calculations using VASP data.

  • Takeaways & Limitations

    VASPKIT offers a user-friendly toolkit for initial VASP setup, broad post-processing analysis, and high-throughput calculations.

  • Takeaways & Limitations

    VASPKIT currently supports only raw data calculated using VASP and remains under development for other codes and additional visualization features.

Abstract

from arXiv · show

We present the VASPKIT, a command-line program that aims at providing a powerful and user-friendly interface to perform high-throughput analysis of a variety of material properties from the raw data produced by the VASP code. It consists of mainly the pre- and post-processing modules. The former module is designed to prepare and manipulate input files such as the necessary input files generation, symmetry analysis, supercell transformation, k-path generation for a given crystal structure. The latter module is designed to extract and analyze the raw data about elastic mechanics, electronic structure, charge density, electrostatic potential, linear optical coefficients, wave function plots in real space, and etc. This program can run conveniently in either interactive user interface or command line mode. The command-line options allow the user to perform high-throughput calculations together with bash scripts. This article gives an overview of the program structure and presents illustrative examples for some of its usages. The program can run on Linux, MacOS, and Windows platforms. The executable versions of VASPKIT and the related examples, together with the tutorials, are available in its official website vaspkit.com.

PROGRAM SUMMARY

VASPKIT is a GPLv3 program written in Fortran and Python that provides a user-friendly interface for high-throughput calculations with VASP. It runs on computers and operating systems supporting at least Fortran 90.

  • VASPKIT provides a powerful, user-friendly interface for high-throughput calculations with the widely used VASP code.
  • The program is licensed under GPLv3 and uses Fortran and Python.
  • VASPKIT supports computers and operating systems with a Fortran compiler supporting at least Fortran 90.

1. Introduction

VASPKIT is introduced as a user-friendly toolkit for high-throughput materials analysis using VASP outputs. It integrates calculation setup with post-processing to derive diverse material properties.

  • Motivation: High-throughput computational materials analysis can reduce reliance on time-consuming trial-and-error experiments while exploring many potentially unknown materials.The motivation is the ability to investigate thousands of materials within shorter computational timeframes than real experiments might require.
  • Related work: DFT-based electronic-structure packages have advanced substantially, but post-processing remains a common requirement for extracting material properties.Examples include Abinit, CASTEP, VASP, Siesta, Quantum Espresso, Elk, and WIEN2k.
  • Contribution: VASPKIT provides an integrated input/output environment for calculation setup and post-processing analysis of raw VASP data.The toolkit is designed to be powerful and user-friendly and supports initial setup together with analysis of calculated material properties.
  • Contribution: VASPKIT can calculate elastic, electronic, optical, and catalytic properties, including equations of state, elastic constants, carrier effective masses, and related quantities.The supplied passage lists these capabilities as examples of properties derived from VASP calculations.
  • Paper organization: The paper introduces preprocessing workflows and features in Section 2, post-processing algorithms and examples in Section 3, and concludes with a summary.This organization separates input preparation from computational analysis and illustrative applications.

2. Capabilities of the Pre-Processing Module

VASPKIT’s pre-processing module reads POSCAR and prepares INCAR, POTCAR, and KPOINTS for VASP calculations. It also supports structure manipulation, symmetry and cell determination, supercell construction, and automatic k-path generation.

  • Input preparation: The module reads POSCAR and prepares INCAR, POTCAR, and KPOINTS for DFT calculations using VASP.This establishes the basic input-file preparation workflow.
  • Structure manipulation: VASPKIT manipulates crystal structures by building supercells, determining crystal symmetry, and finding conventional or primitive cells.Supercell construction uses a specified transformation matrix, whose determinant gives the supercell-to-primitive-cell volume ratio.
  • K-path generation: The k-path utility automatically generates suggested k-paths for given 2D or bulk crystal structures by identifying space-group, crystal-family, and Bravais-lattice information.The workflow determines standardized primitive-cell information before producing the path.
  • K-path generation: After removing duplicated atoms introduced by supercell-to-primitive-cell transformation, the utility saves the primitive cell and suggested k-path as PRIMCELL.vasp and KPATH.in.VASPKIT also provides Python-based functionality in addition to automatic generation from an input crystal structure.

3. Capabilities of the Post-Processing Module

The post-processing module extracts and analyzes VASP raw data across mechanical, electronic, structural, optical, catalytic, and molecular-dynamics properties. Its utilities implement workflows and algorithms for elastic constants, equations of state, spectral functions, optical response, transition probabilities, and atomic dynamics.

  • Module scope: The module analyzes raw data for elastic mechanics, electronic structure, charge density, electrostatic potential, optical and wave-function properties, catalysis, and molecular dynamics.These post-processing features are presented as a broad capability overview of VASPKIT.
  • Elastic mechanics: The elastic utility determines second-order elastic stiffness constants from stress-strain or energy-strain calculations and supports Voigt, Reuss, and Hill averaging for polycrystalline moduli.For energy-strain calculations, VASPKIT fits quadratic energy-versus-distortion relationships over applied strains from -2% to +2% in 0.5% increments.
  • Equation of state: The EOS utility provides equilibrium volume, bulk modulus, and pressure and energy as functions of volume.Its workflow is described as similar to the elastic-constants workflow.
  • Electronic structure: Electronic-structure utilities construct spectral functions from selected supercell plane-wave coefficients using primitive-cell reciprocal vectors without requiring primitive-cell eigenstates.The filtered coefficients contribute to the spectral function.
  • Optical properties: Optical utilities compute integrated valence-to-conduction transitions, dielectric functions, and joint density of states across Brillouin-zone transitions.The real dielectric component is obtained from the imaginary component through a Kramers-Kronig transformation, while transition-matrix-element direction and squared magnitude encode polarization and transition probabilities.
  • Molecular dynamics: Molecular-dynamics analysis uses mean-square displacement to distinguish solid-like oscillations around a constant value from liquid-like linear growth over time.An FFT-based method is identified as an efficient alternative for calculating mean-square displacement.

4. High-throughput capabilities

VASPKIT provides a lightweight high-throughput interface for batching pre- and post-processing through bash scripts. Its simple syntax supports tasks such as generating KPOINTS files across subfolders, with tutorials available online.

  • High-throughput interface: VASPKIT provides a lightweight high-throughput interface for batch pre- and post-processing through bash scripts.Scripts can use variables, loops, and conditions to perform these operations in batches.
  • High-throughput interface: Its simple syntax supports generating KPOINTS files across a series of subfolders.The paper presents this task as an example of the command-line interface’s use in bash scripts.
  • High-throughput interface: An easy-to-follow user manual is available through the VASPKIT tutorials website.The syntax is designed to be as simple as possible.

5. Limitations and future capabilities

VASPKIT currently handles only raw data from VASP, with future plans to support other ab-initio packages and add Python/Matplotlib visualization and plotting utilities.

  • Current limitation: VASPKIT currently processes only raw data calculated using the VASP code.The program does not yet support raw data from other ab-initio packages.
  • Future capabilities: Future versions will support other ab-initio packages and implement Python- and Matplotlib-based data visualization and plotting utilities.These extensions are identified as planned future capabilities.

6. Summary

VASPKIT is a user-friendly toolkit for initial calculation setup and post-processing of material properties from VASP data. Illustrative examples demonstrate its capabilities, while its command-line interface supports high-throughput calculations and the toolkit remains under development.

  • Summary: VASPKIT supports initial calculation setup and post-processing analysis of many material properties from raw VASP data.The toolkit is intended to be easily employed for both preparation and analysis workflows.
  • Summary: Illustrative examples demonstrate VASPKIT’s capabilities.
  • Summary: VASPKIT provides a command-line interface for high-throughput calculations and remains under development, with further functionality planned.The passage mentions closer support for other codes among the further functionality.

Appendix A. Elastic stiffness tensor matrix and strain modes for bulk crystal systems · 1. Triclinic System (Space group numbers: 1-2) · 2. Monoclinic System (Space group numbers: 3-15)

Appendix A specifies the elastic stiffness tensor and strain-mode resources for triclinic and monoclinic bulk crystal systems. Triclinic crystals have 21 independent elastic constants, while monoclinic crystals have 13.

  • 1. Triclinic System (Space group numbers: 1-2): Triclinic systems (space groups 1-2) contain 21 independent elastic constants, from C11 through C66.The listed constants are C11, C12, C13, C14, C15, C16, C22, C23, C24, C25, C26, C33, C34, C35, C36, C44, C45, C46, C55, C56 and C66.
  • 1. Triclinic System (Space group numbers: 1-2): The triclinic elastic stiffness tensor is expressed as a matrix.The appendix presents the matrix using the displayed tensor formulation and enclosing delimiters.
  • 1. Triclinic System (Space group numbers: 1-2): The triclinic matrix lists symmetric elastic-constant entries including C11, C12, C13, C14, C15, C16, C22 and C66.The displayed sequence also includes the remaining constants through C56 and C66 in the symmetric matrix arrangement.
  • 1. Triclinic System (Space group numbers: 1-2): Table A.7 lists strain modes and derived elastic constants for the triclinic system using the energy-strain approach.The table is identified as the VASPKIT basis for triclinic strain-mode treatment.
  • 2. Monoclinic System (Space group numbers: 3-15): Monoclinic systems (space groups 3-15) contain 13 independent elastic constants.The listed constants are C11, C12, C13, C15, C22, C23, C25, C33, C35, C44, C46, C55 and C66.
  • 2. Monoclinic System (Space group numbers: 3-15): The monoclinic elastic stiffness tensor matrix is expressed after specifying its 13 independent constants.The displayed matrix is bounded by the appendix’s left and right matrix delimiters.

3. Orthorhombic System (Space group numbers: 16-74) · 4. Tetragonal II System (Space group numbers: 75-88)

The orthorhombic system has nine independent elastic constants, while the tetragonal II system has seven. VASPKIT documents strain modes and derived elastic constants using an energy-strain approach and expresses the tetragonal stiffness tensor as a matrix.

  • 3. Orthorhombic System (Space group numbers: 16-74): 9 independent elastic constants characterize the orthorhombic system: C11, C12, C13, C22, C23, C33, C44, C55 and C66.
  • 3. Orthorhombic System (Space group numbers: 16-74): VASPKIT includes a table of strain modes and derived elastic constants for the monoclinic system.This table is also based on the energy-strain approach.
  • 3. Orthorhombic System (Space group numbers: 16-74): Table A.9 lists the strain modes and derived elastic constants for the orthorhombic system used in VASPKIT.The table is based on the energy-strain approach.
  • 4. Tetragonal II System (Space group numbers: 75-88): 7 independent elastic constants characterize the tetragonal II system: C11, C12, C13, C16, C33, C44 and C66.
  • 4. Tetragonal II System (Space group numbers: 75-88): The tetragonal II elastic stiffness tensor matrix is expressed in VASPKIT.The supplied passage includes the matrix expression’s closing delimiters.
  • 4. Tetragonal II System (Space group numbers: 75-88): The tetragonal II section pairs its seven independent constants with an elastic stiffness tensor matrix representation.

5. Tetragonal I System (Space group numbers: 89-142) … 9. Cubic System (Space group numbers: 195–230)

The appendix specifies symmetry-dependent independent elastic constants for tetragonal, trigonal, hexagonal, and cubic crystal systems. For each system, VASPKIT provides strain modes and derived constants using an energy–strain approach.

  • 5. Tetragonal I System (Space group numbers: 89-142): Tetragonal I systems use six independent elastic constants: C11, C12, C13, C33, C44, and C66.VASPKIT documents strain modes and derived elastic constants for tetragonal systems using the energy–strain approach.
  • 6. Trigonal II System (Space group numbers: 143-148): Trigonal II systems use seven independent elastic constants: C11, C12, C13, C14, C15, C33, and C44.The elastic stiffness tensor matrix and energy–strain-derived strain modes are provided for this system.
  • Elastic stiffness tensors: The listed elastic constants define symmetry-specific elastic stiffness tensors for trigonal II, trigonal I, hexagonal, and cubic systems.The appendix supplies tensor expressions alongside strain-mode tables for these crystal systems.
  • 7. Trigonal I System (Space group numbers: 149-167): Trigonal I systems use six independent elastic constants: C11, C12, C13, C14, C33, and C44.VASPKIT includes the corresponding elastic stiffness tensor and energy–strain-derived strain modes.
  • 8. Hexagonal System (Space group numbers: 168–194): Hexagonal systems use five independent elastic constants: C11, C12, C13, C33, and C44.The appendix presents the elastic stiffness tensor and strain modes with derived constants for the hexagonal system.
  • 9. Cubic System (Space group numbers: 195–230): Cubic systems use three independent elastic constants: C11, C12, and C44.VASPKIT lists cubic-system strain modes and derived elastic constants based on the energy–strain approach.

Appendix B. Elastic stiffness tensor matrix and strain modes for 2D crystal systems

Appendix B summarizes elastic stiffness tensors for 2D crystal systems and identifies the independent elastic constants derived from strain modes using the energy-strain approach. The number of independent constants decreases with increasing crystal symmetry, from six for oblique systems to two for hexagonal systems.

  • 2D oblique system: For 2D oblique systems, six independent elastic constants are identified: C11, C12, C16, C22, C26 and C66.Table B.16 lists the strain modes and derived elastic constants used in VASPKIT’s energy-strain approach.
  • 2D rectangular system: For 2D rectangular systems, the four independent elastic constants are C11, C12, C22 and C66.Table B.17 provides the corresponding strain modes and derived constants.
  • 2D square system: For 2D square systems, the three independent elastic constants are C11, C12 and C66.Table B.18 lists the strain modes and derived constants for the energy-strain approach.
  • 2D hexagonal system: For 2D hexagonal systems, the two independent elastic constants are C11 and C12.Table B.19 lists the strain modes and derived constants for the energy-strain approach.
Loading 1908.08269v6…