setup_arr_brr Subroutine

public subroutine setup_arr_brr(in_lat)

Arguments

Type IntentOptional Attributes Name
class(lattice), intent(in) :: in_lat

Contents

Source Code


Source Code

    subroutine setup_arr_brr(in_lat)
        class(lattice), intent(in) :: in_lat

        integer :: i

        if (associated(arr)) deallocate(arr)
        allocate(arr(nBasis, 2))
        if (associated(brr)) deallocate(brr)
        allocate(brr(nBasis))

        brr = [(i, i=1, nBasis)]
        arr = 0.0_dp

        do i = 1, nbasis
            arr(i, :) = bhub * in_lat%dispersion_rel_orb(get_spatial(i))
        end do

        call sort(arr(1:nBasis, 1), brr(1:nBasis), nskip=2)
        call sort(arr(2:nBasis, 1), brr(2:nBasis), nskip=2)

    end subroutine setup_arr_brr