Hola a todos, estoy con un gran problema a la hora de hacer una simulación del modelo de Ising en dos dimensiones mediante el método de Metropolis Monte Carlo. Quería saber si hay algún error en mi razonamiento:
Primero que nada, tras definir la situación inicial y calcular su energía doy vuelta un spin. Luego de esto calculo el cambio de energía producido por cambiar dicho spin. Tras esta parte viene lo que parece ser mi problema.
Si la variación de energía es menor que cero, acepto el cambio. Si es mayor que cero, tengo que usar un ratio de aceptación
Así que, si es mayor que cero, comparo el valor de la exponencial de Boltzmann con un número aleatorio. Si el número aleatorio es mayor o igual, entonces deshago todo lo que hice previamente. Si es menor dejo los cambios.
¿Hay algún error en lo que pensé? Porque al calcular la magnetización esta se va a cero sea cual sea la temperatura, y la energía alcanza su equilibrio mucho mas tarde de lo que se supone.
Desde ya gracias.
Primero que nada, tras definir la situación inicial y calcular su energía doy vuelta un spin. Luego de esto calculo el cambio de energía producido por cambiar dicho spin. Tras esta parte viene lo que parece ser mi problema.
Si la variación de energía es menor que cero, acepto el cambio. Si es mayor que cero, tengo que usar un ratio de aceptación
Así que, si es mayor que cero, comparo el valor de la exponencial de Boltzmann con un número aleatorio. Si el número aleatorio es mayor o igual, entonces deshago todo lo que hice previamente. Si es menor dejo los cambios.
¿Hay algún error en lo que pensé? Porque al calcular la magnetización esta se va a cero sea cual sea la temperatura, y la energía alcanza su equilibrio mucho mas tarde de lo que se supone.
Desde ya gracias.