/wan2respack

Primary LanguageFortranGNU General Public License v3.0GPL-3.0

wan2respack

About

wan2respack is a connection program package to use the Wannier functions generated by Quantum ESPRESSO and Wannier90 as input to RESPACK.

Folder structure

  |--CMakeLists.txt
  |--LICENSE         
  |--README.md       
  |
  |--config
  |    |
  |    |--intel.cmake
  |    |--gcc.cmake
  |
  |--docs
  |
  |--samples
  |    |
  |    |--README.md
  |    |--Al.fcc.666
  |    |--La2CuO4.bct.666        
  |    |--SrVO3.sc.666
  |
  |--util
       |
       |--wan2respack

Install

Requirements

You will need the following packages.

wan2respack requires Python 3.6 or higher version. You will also need the python package, tomli.

pip install tomli

Build

wan2respack is available from this GitHub page.

git clone https://github.com/respack-dev/wan2respack.git
cd wan2respack 

You can compile wan2respack by using CMake as follows.

mkdir build
cd build
cmake ../ -DCONFIG=Type_of_Configure -DCMAKE_INSTALL_PREFIX=PATH_to_Install
make
make install

Here, Type_of_Configure is the name of CMake configure files and PATH_to_Install is an installation directory. For Type_of_Configure, intel and gcc are available.

All the binary files and the Python scripts are installed to PATH_to_Install/bin.

How to use

This section explains how to use wan2respack, using samples/Al.fcc.666 as an example. First, change directory to samples/Al.fcc.666/inputs

cd samples/Al.fcc.666/inputs

In this directory, you can find the following files.

  • wan2respack
    • conf.toml : The configuration file for wan2respack.
  • QE
    • Al.scf.in : The input file for scf calculation.
    • Al.nscf.in : The input file for nscf calculation.
    • Al.pw2wan.in : The input file for pw2wannier90.x.
  • Wannier90
    • Al.win.ref : The reference input file for Wannier90.
  • RESPACK
    • respack.in : The input file for RESPACK.
  • Script
    • submit.sh : The sample shell script file.

1. DFT calculations for the irreducible k-points using QE.

First, you will need the wave functions in the irreducible k points.

$QE/bin/pw.x < Al.scf.in > Al.scf.out
$QE/bin/pw.x < Al.nscf.in > Al.nscf.out

These wave functions will be used for calculating dielectric functions. Reducing the number of k points using symmetry is very important for the computational costs.

2. Preparation for Wannier90

Next, please run the following command.

$python $PATH_to_Install/bin/wan2respack.py -pp conf.toml

The purpose of this command is as follows.

  1. Save the DFT wave functions in RESPACK format, which are stored in dir-wfn directory.
  2. Calculate a k-point mesh for Wannier90. Input files for Wannier90 with the obtained k points are automatically generated from reference files.

The behavior of this command is specified by the conf.toml file. The contents of conf.toml are shown below.

[base]
QE_output_dir = "./work/Al.save"   # QE outdir prefix.save
seedname = "Al"                    # seedname for Wannier90

[pre.ref]
nscf = "Al.nscf.in"                # The reference file for the QE nscf calculation
win = "Al.win.ref"                 # The reference file for the input of Wannier90

[pre.output]
nscf = "Al.nscf_wannier.in"        # The output file for the QE nscf calculation
win = "Al.win"                     # The output file for the input of Wannier90

3. Generating Wannier functions using QE and Wannier90.

Now, you can calculate the Wannier functions using Al.nscf_wannier.in and Al.win.

$QE/bin/pw.x < Al.nscf_wannier.in > Al.nscf_wannier.out
$Wanier90/wannier90.x -pp Al
$QE/bin/pw2wannier90.x < Al.pw2wan.in > Al.pw2wan.out
$Wanier90/wannier90.x Al

4. Preparation for RESPACK

Using wan2respack.py, you can convert the Wannier90 results into the RESPACK Wannier format.

$python $PATH_to_Install/bin/wan2respack.py conf.toml

This command reads the wavefunctions for the uniform k mesh in QE_output_dir and U matrices in seedname.chk, and generate Wannier functions and additional information in dir-wan directory.

5. Calculation of Coulomb interactions using RESPACK

Using the RESPACK input file, respack.in, you can calculate dielectric functions and Coulomb interactions within the constrained/full random phase approximation (RPA).

$RESPACK/bin/calc_chiqw < respack.in > LOG.chiqw
$RESPACK/bin/calc_w3d < respack.in > LOG.W3d
$RESPACK/bin/calc_j3d < respack.in > LOG.J3d

License

The distribution of the program package and the source codes for wan2respack follow GNU General Public License version 3 (GPL v3).

We hope that you cite the following paper when you publish results using wan2respack.

K. Kurita, T. Misawa, K. Yoshimi, K. Ido, T. Koretsune, "Interface tool from Wannier90 to RESPACK: wan2respack", Comput. Phys. Commun. 292, 108854.

Authors

Kensuke Kurita, Takahiro Misawa, Kota Ido, Kazuyoshi Yoshimi, Kazuma Nakamura, Takashi Koretsune.