| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lattice), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | spinorb |
pure function get_spinorb_neighbors_lat(this, spinorb) result(neighbors) class(lattice), intent(in) :: this integer, intent(in) :: spinorb integer, allocatable :: neighbors(:) #ifdef DEBUG_ character(*), parameter :: this_routine = "get_spinorb_neighbors_lat" #endif ASSERT(spinorb <= 2 * this%get_nsites()) ASSERT(spinorb > 0) ASSERT(allocated(this%sites)) ASSERT(allocated(this%sites(get_spatial(spinorb))%neighbors)) neighbors = this%get_neighbors(get_spatial(spinorb)) if (is_beta(spinorb)) then neighbors = 2 * neighbors - 1 else neighbors = 2 * neighbors end if end function get_spinorb_neighbors_lat