9 votos

Numérica del Modelo de Ising - Wolff y el algoritmo de correlaciones

Estoy haciendo algunos numérico análisis de Monte Carlo en las 2 dimensiones del modelo de Ising en el punto crítico. Yo estaba usando la Metrópoli 'solo tirón' de la evolución en un primer momento con éxito, a pesar de que sufre de crítica lento hacia abajo y hace que el estudio de grandes celosías raro que sea posible. Ahora estoy mirando clúster flip algoritmos, específicamente el síndrome de Wolff algoritmo.

Me las arreglé para ponerlo en práctica, y parece estar funcionando como debería (volteo un giro único en $T = +\infty$, todo el entramado en $T=0$, coincide con el derecho de la densidad de energía en el límite termodinámico...) pero no entiendo el comportamiento correcto para el punto dos de $<\sigma_i\sigma_j>$ de la función de correlación.

Según el CFT debe comportarse como:

$$<\sigma_i\sigma_j> \;\propto \;\frac{1}{|i-j|^{\frac{1}{4}}}$$

Estoy más y más convencido de que tiene que ver con las condiciones de contorno, yo uso no periódicos gratuitos de límites. La literatura sobre el tema no dice mucho en este punto.

Me estoy perdiendo una sutileza (o evidencia) en este procedimiento, o en el uso de este algoritmo?

5voto

  1. Es sólo exactamente a la temperatura crítica de que esta CFT resultado de las obras. Usted no ha mencionado si usted ha usado la temperatura crítica cuando se hizo el monte-carlo.

  2. En el/cerca del punto crítico, la autocorrelación del tiempo se vuelve enorme. (Si no me equivoco, la autocorrelación tiempo debe volar, exactamente a la temperatura crítica, sin embargo es de corte debido a la finitud de sistema). Por lo tanto, su mejor registro de mediciones de una vez cada 3-5 de autocorrelación de los tiempos. Observe que, para una determinada semilla aleatoria, de autocorrelación efectos puede dar un error sistemático, mientras que el error estadístico debido a la autocorrelación efecto puede ser estimado mediante el uso de diferentes semillas aleatorias. Busque en este libro: http://www.amazon.com/Monte-Carlo-Methods-Statistical-Physics/dp/0198517971

  3. Mi conjetura es que, mientras la u tienen de 10 a 20 vueltas de distancia desde el límite, cuando la u hacer la medición de spin-spin corr., usted no verá límite de efectos. Esto es sólo una conjetura. ¿Por qué no poner en el periódico de las condiciones de contorno y ver? El vecino de i,j (i+1)%L (j+1)%L y 3 de otros como este.

5voto

Robert Rüger Puntos 228

He tratado de reproducir el problema con mi propio código, pero no pude: tengo el valor correcto para el exponente. Yo no te puedo decir lo que salió mal en su cálculo, pero te puedo decir exactamente lo que hice!

Usted puede revisar mi código en GitHub. Fue la primera cosa que he escrito en C++ y hoy me gustaría hacer muchas cosas de manera diferente, así que por favor no juzguen el código con demasiada severidad. Hay un archivo readme en el repositorio que explica casi todo sobre ella.

He subido mi runscript, la parte pertinente de los resultados correspondientes y la pequeña Pyxplot script que hace el ajuste en este GitHub Gist. Mi valor para el exponente es: $$\beta = 0.243 \pm 0.001$$ Usted puede ver el ajuste trazados, junto con la de Monte Carlo de datos en el sscorr_fit.pdf archivo.

Aquí está una lista de cosas que creo que podría ser relevante.

  • Estoy seguro de que usted sabe que, pero sólo para el registro: En la ecuación de la cuestión es que no se debe tomar el valor absoluto de la diferencia de los índices de $i$ $j$ de los dos sitios. Los índices de asignar a los sitios son completamente arbitrarios. Lo que importa es la distancia entre los dos sitios, así que prefiero escribir algo como esto: $$\langle s_i s_j \rangle \propto \frac{1}{|\vec r_j - \vec r_i|^\frac{1}{4}}$$

  • Yo sólo se mide la correlación a lo largo de la dirección de la celosía de vectores y no a lo largo de cualquier diagonal. Que no importa a pesar de que ya hay una prueba de que el spin-spin correlación es rotacionalmente simétricas en el punto crítico.

  • Yo sólo equipadas tu formular en el rango de $1 \leq |\vec r_j - \vec r_i| \leq 50$ para un 512x512 modelo. Creo que si vas más allá de que usted recibe demasiada influencia a través del periódico de las condiciones de contorno. Definitivamente, usted puede no ajustarse a la $1 \leq |\vec r_j - \vec r_i| \leq 256$, ya que la correlación debe tener un mínimo en $|\vec r_j - \vec r_i| = 256$.

  • La función de correlación de los cambios muy rápidamente con la temperatura alrededor del punto crítico, así que asegúrese de que usted tiene el derecho de temperatura y todo es equilibrada. En mi experiencia lo mejor es empezar el síndrome de Wolff algoritmo con un modelo donde todas las tiradas apuntan en la misma dirección. Si se toma al azar vueltas y, a continuación, enfriar de $T=\infty$ $T_c$el síndrome de Wolff algoritmo es extremadamente ineficiente en el principio de que no se puede construir grandes grupos en esta ruido de tiradas al azar.

Espero que ayude!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X