subroutine gen_cum_list_real_hub_3(csf_i, orb_i, cum_arr)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: orb_i
real(dp), intent(out) :: cum_arr(nSpatOrbs)
real(dp) :: cum_sum
integer :: i
! no real restrictions here..
! notice change to similar molecular routines: here the input is
! already in spatial orbitals!
cum_sum = 0.0_dp
do i = 1, nSpatOrbs
! actually this case is also excluded already since i know it
! is d(i) = 3..
! actually the matrix element is also always the same ...
! i dont actually need this weighting here..
! actually i only need to cycle if the stepvector is 3 otherwise
! just give it the same pgen increment
! no wait a minute.. i know the matrix element.. or?
! i have and should check if those are connected through a
! hopping possibility.. otherwise it would not make much sense..
! but remember: only spin-parallel hops allowed: so access TMAT
! always with the same spin-orbital index
if (csf_i%stepvector(i) == 3) then
cum_arr(i) = cum_sum
else
cum_sum = cum_sum + abs(GetTMatEl(2 * orb_i, 2 * i))
cum_arr(i) = cum_sum
end if
end do
end subroutine gen_cum_list_real_hub_3