#### Uses:

- w90_constants

Module to obtain the Hamiltonian in a wannier basis This is a simplified routine, more sophisticated properties are found in postw90 (e.g. w90_get_oper)

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

complex(kind=dp), | public, | save, allocatable | :: | ham_r(:,:,:) | Hamiltonian matrix in WF representation |
||

integer, | public, | save, allocatable | :: | irvec(:,:) | The irpt-th Wigner-Seitz grid point has components irvec(1:3,irpt) in the basis of the lattice vectors |
||

integer, | public, | save, allocatable | :: | shift_vec(:,:) | |||

integer, | public, | save, allocatable | :: | ndegen(:) | Weight of the irpt-th point is 1/ndegen(irpt) |
||

integer, | public, | save | :: | nrpts | number of Wigner-Seitz grid points |
||

integer, | public, | save | :: | rpt_origin | index of R=0 |
||

real(kind=dp), | public, | save, allocatable | :: | wannier_centres_translated(:,:) | translated Wannier centres |
||

logical, | private, | save | :: | ham_have_setup | = | .false. | |

logical, | private, | save | :: | have_translated | = | .false. | |

logical, | private, | save | :: | use_translation | = | .false. | |

logical, | private, | save | :: | have_ham_r | = | .false. | |

logical, | private, | save | :: | have_ham_k | = | .false. | |

logical, | private, | save | :: | hr_written | = | .false. | |

logical, | private, | save | :: | tb_written | = | .false. | |

complex(kind=dp), | private, | save, allocatable | :: | ham_k(:,:,:) |

Allocate arrays and setup data

Deallocate module data

Calculate the Hamiltonian in the WF basis

Write the Hamiltonian in the WF basis

Calculates a grid of points that fall inside of (and eventually on the
surface of) the Wigner-Seitz supercell centered on the origin of the B
lattice with primitive translations nmonkh(1)*a_1+nmonkh(2)*a_2+nmonkh(3)*a_3

Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|

logical, | intent(in) | :: | count_pts | Only count points and return |

Write out the matrix elements of r

Write in a single file all the information
that is needed to set up a Wannier-based
tight-binding model:

* lattice vectors

* <0n|H|Rn>

* <0n|r|Rn>