! Retorna, donada una matriu d'spins S d'un sistema de mida LxL,
! l'energia del sistema.
real*8 function energ(S, L)
  integer*2 :: S(1:128, 1:128)
  integer*4 :: I, J, L, PBC
  real*8 :: ENE
  ENE = 0.0d0
  do I = 1, L
    do J = 1, L
      ENE = ENE - S(I, J)*S(PBC(I + 1, L), J) - S(I, J)*S(I, PBC(J + 1, L))
    enddo
  enddo
  ENERG = ENE
  return
endfunction
