spin polarized case ADV - Chengcheng-Xiao/VASP2WAN90_v2_fix GitHub Wiki

This page describes the advanced workflow of using the VASP2WANNIER90 interface to generate Wannier functions. Please make sure you have already read the basic one.

Wannierization step

Write UNK files

unformatted UNK files

  • keywords needed:
ISTART = 1
ISPIN = 2
ICHARG = 2
LWANNIER90 = .TRUE.
LWRITE_UNK = .TRUE.
LUNK_FMTED = .FALSE.
  • files needed:
    • wannier90.up.win
    • wannier90.dn.win
    • WAVECAR
    • CHGCAR
    • INCAR
    • KPOINTS
    • POSCAR
    • POTCAR

The wannier90.up.win and wannier90.dn.win file should at least contain:

num_wann        =  ??

begin projections
??
end projections

ISTART=1 and ICHARG=2 tell VASP to read in the Bloch wavefunctions and charge density files. LWANNIER90=.TRUE. tells VASP to run the interface with default specs. LWRITE_UNK = .TRUE. tells VASP to write periodic part of the wavefunctions (UNK files) LUNK_FMTED = .FALSE. tells VASP to write unformatted UNK files.

formatted UNK files

  • keywords needed:
ISTART = 1
ISPIN = 2
ICHARG = 2
LWANNIER90 = .TRUE.
LWRITE_UNK = .TRUE.
LUNK_FMTED = .TRUE.
  • files needed:
    • wannier90.up.win
    • wannier90.dn.win
    • WAVECAR
    • CHGCAR
    • INCAR
    • KPOINTS
    • POSCAR
    • POTCAR

The wannier90.up.win and wannier90.dn.win files should at least contain:

num_wann        =  ??

begin projections
??
end projections

ISTART=1 and ICHARG=1 tell VASP to read in the Bloch wavefunctions and charge density files. LWANNIER90=.TRUE. tells VASP to run the interface with default specs. LWRITE_UNK = .TRUE. tells VASP to write periodic part of the wavefunctions (UNK files) LUNK_FMTED = .TRUE. tells VASP to write formatted UNK files.

After the job is done, there should be a block in the stdout look like:

 *---------------------------------------*
 *             VASP2WANNIER90            *
 *---------------------------------------*
 *          Collinear spin -> 'up'       *
 *            MMN calculated.            *
 *          Projection   1 done.         *
 *          Projection   2 done.         *
 *          Projection   3 done.         *
 *          Projection   4 done.         *
 *          Projection   5 done.         *
 *          Projection   6 done.         *
 *          Projection   7 done.         *
 *          Projection   8 done.         *
 *          Projection   9 done.         *
 *          Projection  10 done.         *
 *          Projection  11 done.         *
 *          Projection  12 done.         *
 *            AMN calculated.            *
 *            EIG written.               *
 *            UNK written.               *
 *---------------------------------------*
 *          Collinear spin -> 'dn'       *
 *            MMN calculated.            *
 *          Projection   1 done.         *
 *          Projection   2 done.         *
 *          Projection   3 done.         *
 *          Projection   4 done.         *
 *          Projection   5 done.         *
 *          Projection   6 done.         *
 *          Projection   7 done.         *
 *          Projection   8 done.         *
 *          Projection   9 done.         *
 *          Projection  10 done.         *
 *          Projection  11 done.         *
 *          Projection  12 done.         *
 *            AMN calculated.            *
 *            EIG written.               *
 *            UNK written.               *
 *---------------------------------------*

And you should have:

  • UNKxxxxx.1
  • UNKxxxxx.2 in your directory.

Control AMN and MMN

  • keywords needed:
ISTART = 1
ISPIN = 2
ICHARG = 2
LWANNIER90 = .TRUE.
LCALC_MMN  = .FALSE.
LCALC_AMN  = .FALSE.
LWRITE_MMN = .FALSE.
LWRITE_AMN = .FALSE.
  • files needed:
    • wannier90.up.win
    • wannier90.dn.win
    • WAVECAR
    • CHGCAR
    • INCAR
    • KPOINTS
    • POSCAR
    • POTCAR

The wannier90.up.win and wannier90.dn.win files should at least contain:

num_wann        =  ??

begin projections
??
end projections

ISTART=1 and ICHARG=2 tell VASP to read in the Bloch wavefunctions and charge density files. LWANNIER90=.TRUE. tells VASP to run the interface with default specs. LCALC_MMN = .FALSE. tells VASP to NOT to compute the MMN matrix LCALC_AMN = .FALSE. tells VASP to NOT to write the MMN matrix LWRITE_MMN = .FALSE. tells VASP to NOT tocompute the AMN matrix LWRITE_AMN = .FALSE. tells VASP to NOT towrite the AMN matrix

After the job is done, there should be a block in the stdout look like:

 *---------------------------------------*
 *             VASP2WANNIER90            *
 *---------------------------------------*
 *          Collinear spin -> 'up'       *
 *---------------------------------------*
 *          Collinear spin -> 'dn'       *
 *---------------------------------------*

and you should have NO new files in you directory.

Control spin channel

For example, we want to compute the "up" channel.

  • keywords needed:
ISTART = 1
ISPIN = 2
ICHARG = 2
LWANNIER90 = .TRUE.
W90_SPIN = 1
  • files needed:
    • wannier90.up.win
    • WAVECAR
    • CHGCAR
    • INCAR
    • KPOINTS
    • POSCAR
    • POTCAR

The wannier90.up.win file should at least contain:

num_wann        =  ??

begin projections
??
end projections

ISTART=1 and ICHARG=2 tell VASP to read in the Bloch wavefunctions and charge density files. LWANNIER90=.TRUE. tells VASP to run the interface with default specs. W90_SPIN=1 tells VASP to only compute the up spin channel.

After the job is done, there should be a block in the stdout look like:

 *---------------------------------------*
 *             VASP2WANNIER90            *
 *---------------------------------------*
 *          Collinear spin -> 'up'       *
 *            MMN calculated.            *
 *          Projection   1 done.         *
 *          Projection   2 done.         *
 *          Projection   3 done.         *
 *          Projection   4 done.         *
 *          Projection   5 done.         *
 *          Projection   6 done.         *
 *          Projection   7 done.         *
 *          Projection   8 done.         *
 *          Projection   9 done.         *
 *          Projection  10 done.         *
 *          Projection  11 done.         *
 *          Projection  12 done.         *
 *            AMN calculated.            *
 *            EIG written.               *
 *            UNK written.               *
 *---------------------------------------*