LWANNIER90: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 9: Line 9:
The VASP2WANNIER90 interface will write the following files that WANNIER90 needs as input:
The VASP2WANNIER90 interface will write the following files that WANNIER90 needs as input:


*{{FILE|wannier90.win}}
*wannier90.win
:'''1'''. If this file does not exist, VASP will create it and write the following information onto it:
:'''1'''. If this file does not exist, VASP will create it and write the following information onto it:


Line 38: Line 38:
:'''2'''. If the {{FILE|wannier90.win}} file already exists, VASP will only add the the aforementioned information insofar it is not already present. This means that VASP will check, for instance, whether or not the {{FILE|wannier90.win}} file contains a <tt>kpoints</tt>-block, and add one if not. If it finds a <tt>kpoints</tt>-block, however, it will not check whether this block tallies with the present set of '''k'''-points used in the VASP calculation!
:'''2'''. If the {{FILE|wannier90.win}} file already exists, VASP will only add the the aforementioned information insofar it is not already present. This means that VASP will check, for instance, whether or not the {{FILE|wannier90.win}} file contains a <tt>kpoints</tt>-block, and add one if not. If it finds a <tt>kpoints</tt>-block, however, it will not check whether this block tallies with the present set of '''k'''-points used in the VASP calculation!
:'''3'''. The user may create a {{FILE|wannier90.win}} file prior to running VASP and executing the VASP2WANNIER90 interface, and specify any tag and/or block that is understood by <tt>wannier_setup</tt> and/or <tt>wannier_run</tt>. The most common example of this is probably the <tt>projections</tt>-block that specifies the initial guess for the maximally localized Wannier functions (see Chapter 3 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
:'''3'''. The user may create a {{FILE|wannier90.win}} file prior to running VASP and executing the VASP2WANNIER90 interface, and specify any tag and/or block that is understood by <tt>wannier_setup</tt> and/or <tt>wannier_run</tt>. The most common example of this is probably the <tt>projections</tt>-block that specifies the initial guess for the maximally localized Wannier functions (see Chapter 3 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
*{{FILE|wannier90.mmn}}
*wannier90.mmn
*{{FILE|wannier90.eig}}
*wannier90.eig
*{{FILE|wannier90.amn}}
*wannier90.amn
:If a <tt>projections</tt>-block has been specified in the {{FILE|wannier90.win}} file, VASP writes the projections of the Bloch functions onto the relevant projectors to the {{FILE|wannier90.amn}} file (see Chapter 3 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
:If a <tt>projections</tt>-block has been specified in the wannier90.win file, VASP writes the projections of the Bloch functions onto the relevant projectors to the {{FILE|wannier90.amn}} file (see Chapter 3 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
*{{FILE|wannier90.UNKp.s}}
*{{FILE|wannier90.UNKp.s}}
:If {{TAG|LWRITE_UNK}}=.TRUE. is set in the {{FILE|INCAR}} file, VASP writes the cell-periodic part of the wave functions in spin-channel ''s'' at '''k'''-point ''p'' to the file {{FILE|wannier90.UNKp.s}}.
:If {{TAG|LWRITE_UNK}}=.TRUE. is set in the {{FILE|INCAR}} file, VASP writes the cell-periodic part of the wave functions in spin-channel ''s'' at '''k'''-point ''p'' to the file {{FILE|wannier90.UNKp.s}}.

Revision as of 12:09, 10 April 2019

LWANNIER90 = .TRUE. | .FALSE.
Default: LWANNIER90 = .FALSE. 

Description: LWANNIER90=.TRUE. switches on the interface between VASP and WANNIER90.

N.B.: At present the VASP2WANNIER90 interface works with WANNIER90 v1.2, not with WANNIER90 v2.0 (yet).


For LWANNIER90=.TRUE., VASP will run wannier_setup in library mode (see Chapter 6 of the WANNIER90 manual).

The VASP2WANNIER90 interface will write the following files that WANNIER90 needs as input:

  • wannier90.win
1. If this file does not exist, VASP will create it and write the following information onto it:
num_wann = NBANDS

begin unit_cell_cart
  ... ... ...
  ... ... ...
  ... ... ...
end unit_cell_cart

begin atoms_cart
   ... ... ...
   ... ... ...
   ... ... ...
   ... ... ...  
end atoms_cart

mp_grid = .. .. ..

begin kpoints
   ... ... ...
   ... ... ...
   ... ... ...
   ... ... ...
end kpoints
Where the unit_cell_cart, atoms_cart, and kpoints blocks, and mp_grid array, will be set in accordance with the setup of the VASP calculation (i.e., basically the information from the POSCAR and KPOINTS files). For the meaning of these tags and blocks please refer to the WANNIER90 manual.
2. If the wannier90.win file already exists, VASP will only add the the aforementioned information insofar it is not already present. This means that VASP will check, for instance, whether or not the wannier90.win file contains a kpoints-block, and add one if not. If it finds a kpoints-block, however, it will not check whether this block tallies with the present set of k-points used in the VASP calculation!
3. The user may create a wannier90.win file prior to running VASP and executing the VASP2WANNIER90 interface, and specify any tag and/or block that is understood by wannier_setup and/or wannier_run. The most common example of this is probably the projections-block that specifies the initial guess for the maximally localized Wannier functions (see Chapter 3 of the WANNIER90 manual).
  • wannier90.mmn
  • wannier90.eig
  • wannier90.amn
If a projections-block has been specified in the wannier90.win file, VASP writes the projections of the Bloch functions onto the relevant projectors to the wannier90.amn file (see Chapter 3 of the WANNIER90 manual).
If LWRITE_UNK=.TRUE. is set in the INCAR file, VASP writes the cell-periodic part of the wave functions in spin-channel s at k-point p to the file wannier90.UNKp.s.

Mind: VASP needs to be compiled with the following additional precompiler flag:

-DVASP2WANNIER90

and the variable LIB in the makefile must contain an entry that points to libwannier.a.

For instance:

LIB     = -L../vasp.5.lib -ldmy  \
     ../vasp.5.lib/linpack_double.o $(SCA) $(LAPACK) $(BLAS)

might be changed to

LIB     = -L../vasp.5.lib -ldmy  \
     ../vasp.5.lib/linpack_double.o ../wannier90-1.2/libwannier.a $(SCA) $(LAPACK) $(BLAS)

depending on where you have installed WANNIER90, obviously.


Related Tags and Sections

LWRITE_UNK, LWRITE_MMN_AMN, LWANNIER90_RUN, Compiling VASP

Examples that use this tag