| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lattice) | :: | this |
subroutine initialize_lu_table(this) implicit none class(lattice) :: this ! first, get the dimension of the lookup tables call this%get_lu_table_size() call this%init_basis_vecs() ! and allocate the lookup tables accordingly allocate(this%lu_table(this%kmin(1):this%kmax(1), this%kmin(2):this%kmax(2) & , this%kmin(3):this%kmax(3))) allocate(this%bz_table(this%kmin(1):this%kmax(1), this%kmin(2):this%kmax(2), & this%kmin(3):this%kmax(3))) ! write(stdout, *) "Lookup table size is ", 2 * (this%kmax(1) - this%kmin(1) + 1) & ! * (this%kmax(2) - this%kmin(2) + 1) * 8 / 1024, " kB" ! and fill thee lookup table with the bz vectors call this%fill_bz_table() ! now, fill the lookup table with the indices of the states call this%fill_lu_table() end subroutine initialize_lu_table