wan2respack is a connection program package to use the Wannier functions generated by Quantum ESPRESSO and Wannier90 as input to RESPACK.
|--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
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
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
.
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.
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.
Next, please run the following command.
$python $PATH_to_Install/bin/wan2respack.py -pp conf.toml
The purpose of this command is as follows.
- Save the DFT wave functions in RESPACK format, which are stored in
dir-wfn
directory. - 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
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
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.
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
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.
Kensuke Kurita, Takahiro Misawa, Kota Ido, Kazuyoshi Yoshimi, Kazuma Nakamura, Takashi Koretsune.