Git Product home page Git Product logo

vise's Introduction

PyPI - License PyPI - Python Version CircleCI

vise

VASP Integrated Supporting Environment (vise) is a collection of tools that supports VASP users to prepare input files for the VASP calculations, handle its calculation errors, and analyze its results.

Note1: Only ensure VASP ver5.4.4 or later so far.

Note2: Units used in pydefect are eV for energy and angstrom for length following the vasp convention.

Note3: When transforming the structure to the primitive one, antiferromagnetic magnetization is not supported.

Installation instructions

  1. Requirements
  • Python 3.7 or higher

Vise depends largely on the following packages, which should be acknowledged sincerely,

  • pymatgen
  • spglib
  • seekpath
  • see requirements.txt for others
  1. Latest stable version is released at PyPI repository, so one can download it using pip install vise.

Executing this software

Detailed information is provided in the online manual at: https://kumagai-group.github.io/vise/

Files and directories included in vise distribution

  README            : introduction
  LICENSE           : the MIT license 
  setup.py          : installation script
  requirements.txt  : list of required packages

  /vise/analyzer    : tools for VASP analysis especially for band figure and density of states
  /vise/cli         : command line interfaces
  /vise/input_set   : tools for generating VASP input files
  /vise/tests       : test files used mainly for unitests
  /vise/util        : useful tools 

License

Python code is licensed under the MIT License.

Development notes

Bugs, requests and questions

Please use the Issue Tracker to report bugs, request features.

Code contributions

We are always welcome people who want to make vise better. Please use the "Fork and Pull" workflow to make contributions and stick as closely as possible to the following:

  • Code style follows PEP8 and Google's writing style.
  • Add unittests wherever possible including scripts for command line interfaces.

Tests

Run the tests using pytest vise. We also use integrated testing on Github via circleCI.

Citing vise

If vise has been used in your research, please consider citing the following paper.

"Insights into oxygen vacancies from high-throughput first-principles calculations"
Yu Kumagai, Naoki Tsunoda, Akira Takahashi, and Fumiyasu Oba
Phys. Rev. Materials 5, 123803 (2021)

Contact info

Yu Kumagai
[email protected]

Tohoku University (Japan)

vise's People

Contributors

lucydot avatar takahashi-akira-36m avatar yuuukuma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vise's Issues

DOS plotter

I have fundamental questions on the DOS plotter implemented in vise.

According to "Tutorial – Calculations of various properties" in the vise homepage,
https://kumagai-group.github.io/vise/tutorial_properties.html
to my knowledge, the default command "vise pd" creates a total DOS plot and LDOS plots distinguished by their Wychoff positions.
In addition, color-coded PDOS are also plotted.

Is it possible to do the following three treatments in our command line?

  1. Combine LDOS as one plot per element.
    For example, for a Na-containing cell with three Wychoff positions of Na, is there a command to create a "summarized" Na LDOS plot?

  2. Change the "Energy (eV)" range and the "Dos (1/eV)" range.
    For example, is there a command to extend the lower limit of the energy range from -5 to -10?

  3. Clear the legends (or change their positions) in a DOS plot.

The sign in dielectric tensors

According to vise commands and “Commands for creating inputs” in Wiki, I tried evaluating the dielectric tensors in some insulating oxides.
Some approximations for evaluating dielectric tensors were tried, including the random phase approximation (RPA).

The values in cubic systems were comparable to those reported previously.
Meanwhile, for example, in monoclinic systems (ZrO2, HfO2, Bi2O3), OUTCAR files showed the positive sign of ε(13) components although their negative signs were reported in a Prof. Kumagai’s article and other articles.
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.89.195205
This difference in the sign of components seems not to be related to XC functionals.

Below is an example that was obtained in my calculation for monoclinic HfO2.
・ VASP version: 5.4.4
・ XC functional: PBEsol
・ Ecut = 520 eV
・ k-points mesh: 10 * 10 * 10
・ Origin in BZ sampling: (0.5, 0.5, 0.5), gamma-centered mesh

MACROSCOPIC STATIC DIELECTRIC TENSOR (including local field effects in DFT)

       4.979547     0.000000     0.140013
       0.000000     5.001772     0.000000
       0.140012     0.000000     4.693212

I would appreciate it if someone would tell me why this difference appears and what calculation processes/conditions are needed to obtain correct dielectric tensors.

Bug in kramers_kronig_trans

The following function has a bug

def kramers_kronig_trans(diele_func_imag: np.array,
                         energies: List[float],
                         ita: float = 0.01) -> np.ndarray:
    mesh = energies[1] - energies[0]
    result = []
    ee2ss = [[e ** 2 - energy_grid ** 2 for e in energies]
             for energy_grid in energies]
    for imag_idx in range(6):
        imags = diele_func_imag[:, imag_idx]
        inner_result = []
        for ee2s in ee2ss:
            integrals = [e * imag * ee2 / (ee2 ** 2 + ita ** 2)
                         for e, ee2, imag in zip(energies, ee2s, imags)]
            inner_result.append(1 + sum(integrals) * mesh * 2 / pi)

        result.append(inner_result)

    return np.array(result).T

KPOINTS files for band-structure calculations

When the command "vise vs -t band" is entered, to my knowlege, the following message will be displayed:
INFO: Numbers of kpoints are incremented to be even numbers.

  1. What is the effect/reason of this treatment?

  2. Would it be a problem to rewrite non-zero-weighted k points created in a vise command with those written in a IBZKPT file in a previous SCF calculation?
    In my calculations, band-structure caluculations are performed self-consistently;
    a WAVECAR file converged in a previous run is read, and an ICHARG tag is NOT set.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.