Scopes of computation   |  How to compute   |  Latest update   |  Download   

How to compute:

--------------------------------------------------------------------------------------------------------------------------------------
Compilation:
elf.f90 to be kept in PP/src/ of QE 5.0.1 and compiled by issuing command "$make pp" out side the PP directory to obtain the updated pp.x
All other codes for steps 2, 3, 4, 5a, 5e can be compiled independently outside QE using the compile.sh available in download page.
Before running compile.sh you need to compile the *.f files inside the eispack, zgetri and zgesvd directories to creat the object files(*.o) by issuing: $gfortran -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -c *.f
--------------------------------------------------------------------------------------------------------------------------------------
Input file :
Every input parameter has a keyword. Input values are to be supplied after the keywords.
Exanple input files have been provided below for each step.
Description of input parameters are available in the input file.
The example input files are upgraded time to time with more descriptions.
Note that input parameters can be supplied in any order.
Put # in front of input keywords if you do not want to supply it or want the default value to be used.
Put # in front of any other text you may want to keep in the input file.

--------------------------------------------------------------------------------------------------------------------------------------
Primary steps of computation:
Click on the active links of input variables.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1. Deciding the variety of the hybrid atomic orbital basis:
Identification of inequivalent atoms in the given system in terms of element type and relative orientations of nearest neighbour coordinations. Depending on the nearest neighbourhood we need to decide on the nature of HAO basis and whether a degenerate HAO(2a) is sufficient (as in case of ideal bond angles) or you need a non-degenerate HAO(2b).

Action : Make different directories for different sets of HAOs to be used.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2. Construction of hybrid atomic orbital(HAO) basis
2a. Construction of degenerate hybrid atomic orbitals(HAO) for atoms


Input files for HAO comstruction(step 2a):
scf.in to construct sp3 HAO of C
wf.in to construct sp3 HAO of C


Purpose : Construction of indivirual sets of HAOs for isolated atoms in respective directories (atomic nurseries).
NOTE: Pseudopotentials must be exactly same as used in the calculation of electronic structure of the givem system. Ecut should also be same or similer.
Number of bands must be larger (by 4 or so) than the number of orbitals to be constructed for a given type of atom.

Action:
$cd HAO#
$pw.x < scf.in > scf.out &
$pp.x < wf.in
$jointdiag.exe
$pp.x < wf.in

2b. Construction of non-degenerate / maximally valent HAO for atoms : Will be described in next meeting

Related scopes :
2c. Template free construction of maximally localized Wannier function(MLWF) in isolated systems.
Same as 2a. Choose the ks_block to cover the occupied states. Do consecutively for spin 1 and spin 2 as mentioned in the wf.in file. Delete CROT.dat file after doing for one spin.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3. Construction of non-orthogonal HAO basis template for a given system
Transferring and orienting HAOs from isolated atoms to all the atoms of the given system through mapping of neighborhood


Input files HAO-template comstruction( see relevanrt part for steps 3)
align.in for CH4

Purpose : Transferred HAOs from their respective directories (atomic nurseries) and placing them around the relevant host atoms in the given system in correct orientation.
NOTE: Check axismap..xsf and symm...xsf files for correctness of the transfer reflrcted by placing of the WCs.
Plot few transferred HAOs by activating plot_xsf .
Swhich off gen_orbs if trnasferred HAOs are not exlicitly required, as in case of the large target systems for mapping(5e).

Action:
$cd CH4 (whatever system)
$align_periodic.arb_orb_gh.general.exe < align.in > step3.out &

Check the axismap.xsf file in xcrysden to see if all the charge centres of the HAOs are located correctely.
You can explicitly plot few HAOs to check.
Construct HAWOs by running align_periodic.arb_orb_gh.general.exe again after setting the plot_xsf keyword accordingly.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4. Construction of hybrid atomic Wannier orbital(HAWO) basis
4a. Wannierization of the KS states based on the non-orthogonal template, leading to construction of the HAWOs and the tight-binding Hamiltonian in the HAWO basis


Input file for HAWO comstruction( see part relevant to steps 4)
scf.in for CH4
align.in for CH4

Purpose :
1. Using pp.x : calculation of overlap matrix O between KS states and the auxiliary Bloch subspace made of the transferred HAOs and the KS states of the given system
2. Using opping_periodic_...exe : Construction of HAWOs from KS states and TB Hamiltonian in HAWO basis.
3. Using pp.x : plotting of HAWOs if required
NOTE: In nscf to generate KS states, set .TRUE. for wf_collect, nosym and noinv.
Number of bands in the nscf run must be larger (by 4 or so) than the total number of orbitals to be constructed for the given system (see orbital_order.dat for total number of orbitals)
Check for agreement of TB_DOS..histogram..dat and KS_DOS...histogram...dat.
Plot one HAWOs of each type to check for their spatial localization.
Repeat from calculation of ovcerlap matix O with more KS states (ks_block) including degenerate blocks in full.

Action:
$pw.x < scf.in > scf.out &
$pp.x < align.in > step4_part1 &
$hopping_periodic_orb_wlo.nks_neq_nw.spinpol.exe < align.in > step4_part2

Check "net proj" in step4_part2. Numbers should not be below 0.85. Better as close to 1.
Plot the TB_DOS...histogram...dat and KS_DOS_histogram...dat files. They should coincide. If not increase ks_block.

To plot HAWOs run pp.x ($pp.x < align.in ) after setting the plot_xsf keyword accordingly.

Related scopes :
4b. Template based construction of Wannier function representation of occupied states.
Same as 4a after setting the WF related keywords appropriately.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5. Post-processing in HAWO basis
5a. TB-band-structure, TB-DOS, HAWO-PDOS, LDOS,bond-order, and their spatial and energetic distribution

align.in for CH4 (see the inputs for step 5)
$plot.periodic.spinpol.exe < align.in
$pp.x < align.in (for 3D plot of distribution of "net overlap population" which accounts for BO)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
6. Computation of Berry phase and Wannier centers from KS states

6a. Computation of hermaprodite Wannier centres(HWC) localized along a given direction
6b. Computation of maximally joint Wnnier centres(MJWC) in three dimensions

scf.in for 2 atom bulk Si
nscf.in to compute HWC and MJWC
pp.in to compute HWC and MJWC
nscf calculation with externally supplied k mesh generated by kpts.f90 provided in download page.
Use wf_collect=.true. along with nosym=.true. and noinv=.true.

$pp.x < pp.in (for calculation of overlap between KS states of neighbouring k points)
$plot.periodic.spinpol.exe < pp.in (computation of berry phase and WCs)
output : bond.xsf : shows distribution of MJWCs