! Inicialitza la matriu d'spins S aleatòriament, donada la mida del sistema L | |
! i una llavor inicial SEED. Tot i que S té mida 128x128 només les primeres L | |
! files i L columnes s'utilitzen. | |
subroutine generateSpinMatrix(S, L, SEED) | |
use iso_fortran_env | |
implicit none | |
integer*4, intent(in) :: L | |
integer*4, intent(in) :: SEED | |
integer*2, intent(out) :: S(1:128,1:128) | |
integer*4 :: i, j | |
integer(int32) :: genrand_int31 | |
call init_genrand(SEED) | |
do i = 1, L | |
do j = 1, L | |
if (genrand_int31() < 2**30) then | |
S(i, j) = 1 | |
else | |
S(i, j) = -1 | |
endif | |
enddo | |
enddo | |
end subroutine generateSpinMatrix |