SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Modelo de Ising en dos dimensiones
Alberto Blanco Garcı́a
1. Introducción al modelo de Ising en dos dimensiones
El modelo de Ising tiene como objetivo estudiar la interacción y el comportamiento de los sis-
temas magnéticos en función de la temperatura. Es importante comenzar remarcando la diferencia
entre sistema magnético y cristal magnético, pues ”sistema magnético” es un concepto más general
en el que se engloban muchos tipos de sistemas distintos mientras que ”cristal magnético” es sólo
uno de los tipos de sistemas a los que hace referencia el concepto anterior.
Se entiende por sistema magnético todo aquel sistema que viene descrito por un Hamiltoniano
H que presenta un término que da cuenta de su carácter magnético: Hmagn. Los cristales, como
sabemos, son unos sistemas caracterizados por una estructura muy ordenada y una movilidad muy
reducida por parte de sus constituyentes. Por lo que son sistemas que presentan un comportamiento
cinético nulo o muy pobre en sus Hamiltonianos: Hcin.
Existen también sistemas magnéticos en estado lı́quido o gaseoso, y en ellos Hcin tiene una
contribución importante al Hamiltoniano total. Ni que decir tiene que por la gran movilidad y
desorden que caracteriza a estos sistemas, son muchos más difı́ciles de estudiar que los cristales
magnéticos, por lo que nuestro estudio sobre el modelo de Ising se va a ubicar dentro de estos
últimos.
Para el estudio del modelo de Ising en dos dimensiones, tenemos que pensar en una red bidi-
mensional cuadrada. En cada uno de los nodos de esta red se ubica un dipolo magnético que viene
caracterizado por un momento dipolar magnético µi, o equivalentemente, un momento angular de
spin si. Estas magnitudes pueden tomar valores discretos o continuos en función de las condiciones
del problema, pero en este caso, por simplicidad, admitiremos que sus únicos valores posibles son:
si=±1.
En este tipo de sistemas, cada partı́cula posee un comportamiento magnético que puede tener
dos orı́genes distintos. En primer lugar, puede ser debido a la acción de un campo magnético externo
B, que actúa sobre la posición de cada una de estas partı́culas ri, tomando valores B(ri). Por otro
lado, también puede existir un comportamiento magnético que tiene su origen en la interacción de
unos spines con otros. Esto es debido a que cada sj genera un campo magnético que puede afectar
al resto de partı́culas, caracterizadas por un si diferente.
Este campo magnético generado por cada spin sj es proporcional al propio sj multiplicado por
una función que depende de la distancia entre si y sj: f(|ri − rj|). Concretamente esta función se
comporta aproximadamente como f ∝|ri − rj| −3
.
A consecuencia de estas dos interacciones, el Hamiltoniano total del sistema se representa como:
H = −
N
X
i
si · B(ri) −
N
X
i,j
si · sj · f(|ri − rj|) (1)
Por simplicidad, se puede admitir que este campo magnético actúa exclusivamente sobre la
dirección z, con lo cuál desaparecerá el producto escalar con si del primer sumando y quedará un
Bz que puede salir del sumatorio. Además, a partir de ahora, la interacción entre partı́culas vendrá
dada por el término Jij, con lo que:
H = −Bz ·
N
X
i
si −
N
X
i,j
si · sj · Jij (2)
Como puede verse, este Hamiltoniano tiene una parte ideal (el primer sumando) y una parte
no ideal (el segundo sumando). La parte no ideal del Hamiltoniano es con mucha diferencia la
más difı́cil de estudiar; por un lado porque presenta N·(N−1)
2 términos por los N términos que
presenta la parte ideal y en segundo lugar porque en la parte no ideal hay que tener en cuenta las
1
interacciones de cada una de las partı́culas del sistema con todas las demás y cualquier mı́nimo
cambio en la posición de una sola de ellas puede afectar en mayor o menor medida al resto.
De este modo, resolver de forma exacta este Hamiltoniano serı́a un trabajo absolutamente
inabordable que el mejor de los ordenadores de hoy en dı́a tardarı́a un tiempo igual a cientos de
veces la edad del Universo en completar, por eso hay que buscar algún método para simplificar el
estudio. Este método va a consistir en admitir que la interacción Jij actúa sólo a primeros vecinos,
lo cual parece una aproximación razonable teniendo en cuenta que la función f(|ri − rj|) decae
muy rápido con la distancia entre partı́culas.
Al tratarse de una red bidimensional cuadrada, cada partı́cula tiene cuatro primeros vecinos
(el de arriba, el de abajo, el de la izquierda y el de la derecha), con lo que esta interacción
exclusivamente a primeros vecinos se representa en el Hamiltoniano como:
H = −Bz ·
N
X
i
si −
4N
X
<i,j>
si · sj · Jij (3)
Este es el Hamiltonio final con el que trabajaremos a lo largo de esta práctica y a partir del
cual estudiaremos los distintos resultados y magnitudes fı́sicas que iremos viendo.
2. Formalismo de la matriz de transeferencia
Una vez que ya conocemos el Hamiltoniano del sistema, vamos a ver una forma de llegar, a
partir de él, a muchas de las más magnitudes fı́sicas que vamos a estudiar en esta práctica. El paso
intermedio entre la obtención del Hamiltonio y de estas magnitudes es el cálculo de la función de
partición del sistema: Z =
P
Conf. e−β·H
.
Para llevar esto a cabo, vamos a explicar el formalismo de la matriz de transferencia. Para mayor
simplicidad, lo veremos aplicado para el modelo de Ising en una dimensión, pero los resultados y
conclusiones son perfectamente extrapolables a más dimensiones.
En primer lugar, hay que empezar escribiendo el Hamiltoniano del sistema que queremos estu-
diar. En este caso, por tratarse del modelo unidimensional, las partı́culas están dispuestas en fila
a lo largo de una dirección determinada. Seguiremos considerando que sólo hay interacción entre
primeros vecinos, por lo que cada spin si sólo interactúa con el que tiene delante si+1 y con el que
tiene detrás si−1. Además, vamos a considerar condiciones de contorno periódicas; esto significa
que el primer spin de la fila s0 y el último sN , son en realidad el mismo (la cadena se ha doblado
formando una circunferencia) y este interacciona con s1 y sN−1 Con estas ideas, el Hamiltoniano
que tenemos es:
H = −Bz ·
N−1
X
i=0
si − J ·
N−1
X
i=0
si · si+1 (4)
Como podemos ver, también se ha admitido que la interacción entre partı́culas Jij es la misma
en todos los casos y ha sido sustituida por una J común que sale fuera del sumatorio.
Con este Hamiltonio, nuestra función de partición queda:
Z =
X
Conf.
e−βH
=
X
si=±1
eβJ·(s0s1+s1s2+s2s3+...)+βB·(s0+s1+s2+...)
(5)
Esta expresión de puede reformular descomponiendo Z en factores en los que sólo aparecen
primeros vecinos:
Z =
X
si=±1
eβJs0s1+βB·(s0+s1)/2
· eβJs1s2+βB·(s1+s2)/2
· (...) (6)
Cada una de estas exponenciales se puede representar como un elemento de matriz Ti,i+1, cuya
expresión es:
Ti,i+1 = eβJsisi+1+βB·(si+si+1)/2
(7)
Con lo que la función de partición queda:
Z =
X
si=±1
T01 · T12 · T23 · (...) (8)
2
Sin embargo, teniendo en cuenta que el valor de cada uno de los spines puede ser +1 ó -1, en
realidad, de cada uno de estos términos Ti,i+1 salen cuatro elementos diferentes, que se pueden
representar de forma matricial:
Tsi,si+1 =

Tsi=1,si+1=1 Tsi=1,si+1=−1
Tsi=−1,si+1=1 Tsi=−1,si+1=−1

=

eβ·(J+B)
e−(βJ)
e−(βJ)
eβ·(J−B)

(9)
Como todos los spines del sistema toman únicamente los valores +1 ó -1, todas las matrices
Tsi,si+1 son iguales, ası́ que la función de partición se va a poder escribir como una matriz genérica
T elevada a N. Teniendo en cuenta que hay que hacer una suma sobre todas las diferentes con-
figuraciones posibles del sistema, la función de partición se puede expresar sencillamente como la
suma de los autovalores λi de la matriz T elevados a N, es decir:
Z =
X
si=±1
TN
si,si+1 = tr(TN
) =
X
i
λN
i (10)
Vemos por tanto, la gran utilidad del formalismo de la matriz de transferencia. Aunque aquı́
lo estemos evaluando para un ejemplo muy concreto, es muy útil para el estudio de sistemas cuya
función de partición se puede expresar por medio de un producto matricial. Permite calcular esta
función de partición de una forma muy sencilla a partir de una suma de los autovalores de la matriz
T, en lugar de tener que hacer una suma a todas las posibles configuraciones del sistema del tipo
Z =
P
Conf. e−βH
.
De hecho, muchas veces es aún más sencillo, pues en el lı́mite termodinámico, con calcular sólo
el mayor de estos autovalores, será suficiente. Si llamamos a los autovalores de T: λ0, λ1, λ2... en
orden de mayor a menor, en el lı́mite termodinámico se tiene:
lı́m
N→∞
Z = lı́m
N→∞
X
i
λN
i = lı́m
N→∞
λN
0 · (1 + (
λ1
λ0
)N
+ (
λ2
λ0
)N
+ ...) ≈ λN
0 (11)
Ası́, en el lı́mite termodinámico, el cálculo de la función de partición se reduce a obtener el
mayor autovalor de la matriz de transferencia y elevarlo a N.
Cada sistema tendrá su propia matriz de transferencia con unas dimensiones y unos autovalores
diferentes; en este caso, al tratarse de matrices 2x2, sólo habrá dos autovalores, cuyas expresiones
son:
λ± = eβJ
· cosh(βB) ±
q
e2βJ · senh2(βB) + e−2βJ (12)
Con lo cual, para el modelo de Ising en una dimensión, la función de partición en el lı́mite
termodinámico es:
Z = λN
+ (13)
Y como sabemos, la función de partición es mucho más que una mera constante de normalización
de la distribución de probabilidad de ocupación de los estados del sistema, ya que a partir de ella
se pueden obtener muchas magnitudes fı́sicas. Algunos ejemplos son la energı́a libre de Helmholtz
F o la imanación M:
F = −KBT · ln(Z) = −KBT · ln(λN
+ ) = −KBTN · ln(λ+) (14)
M = KBT ·
∂ln(Z)
∂B
= KBT ·
∂ln(λN
+ )
∂B
= KBTN ·
∂ln(λ+)
∂B
(15)
Otra magnitud interesante es la longitud de correlación entre partı́culas ξ, que se puede calcular
a partir de los autovalores de la matriz de transferencia. Para el ejemplo que estamos viendo:
ξ =
1
ln(λ+
λ−
)
(16)
Estas magnitudes, obtenidas a partir de la función de partición, y muchas otras más se irán
estudiando en detalle a lo largo de la práctica, por eso es importante saber de dónde salen muchas
de las expresiones con las que vamos a trabajar y cómo el formalismo de la matriz de transferencia
establece un camino sencillo de llegar hasta ellas.
3
3. Presentación del trabajo
Ahora que ya hemos sabemos qué es exactamente el modelo de Ising y hemos visto algo de su
contenido fı́sico, vamos a hacer una breve presentación de la práctica explicando sus objetivos y sus
aspectos informáticos. Esta se divide en cuatro apartados: Tiempos de Autocorrelación, Valores
Medios, Lı́mite Termodinámico y Finite-Size Scaling (FSS para abreviar). En cada uno de ellos
habrá que hacer una serie de ejercicios y obtener una serie de resultados realizando simulaciones en
Linux por medio de los programas que se nos han proporcionado en el Campus Virtual. No obstante,
para poder realizar todos ellos de manera eficiente, hay que haber estudiado y comprendido muy
bien toda la explicación teórica sobre el modelo de Ising, para ası́ tener una idea clara de lo que se
está haciendo.
Todos los ejercicios van a seguir, en general, un guion similar: se empezará explicando cuál es su
objetivo (qué es lo que desea estudiar o qué resultado se pretende obtener) y se mostran los detalles
fı́sicos y matemáticos de cómo llegar hasta él. Tras ello se verá cómo llevar estos razonamientos al
terreno de la informática y cuáles son los distintos pasos que hay que dar con ayuda del ordenador
para poder contestar a todas las preguntas que se nos hagan.
En muchos de estos ejercicios, los resultados se representarán a modo de tablas y gráficas, las
cuales se irán mostrando y explicando a lo largo del trabajo; al menos las más importantes, para
no acabar teniendo un informe excesivamente largo.
Se trata por tanto de una práctica muy completa en la que hay que combinar la destreza
informática con los conocimientos fı́sicos y matemáticos sobre el modelo de Ising en dos dimensiones
(entendido como una red cuadrada). Ası́, una vez vista toda esta introducción sobre el modelo de
Ising y los objetivos de la práctica, comencemos con la primera parte del trabajo: los Tiempos de
Autocorrelación.
4. Tiempos de autocorrelación
El objetivo de esta sección es estimar, calcular y trabajar con el tiempo de autocorrelación que
presenta el sistema en distintas circunstancias. Se conoce como tiempo de autocorrelación el tiempo
caracterı́stico que tarda el sistema en termalizarse, o dicho de otro modo, en llegar al equilibrio.
Efectivamente, hablamos de ”distintos tiempos de autocorrelación” y no de uno solo porque
este puede ser calculado para un mismo sistema en condiciones muy variadas y obtenerse resultados
diferentes tal y como veremos a continuación.
Cabe destacar que el tiempo que tarda un sistema en alcanzar el equilibrio suele ser del orden
de una fracción de segundo, la cual será más grande o más pequeña dependiendo del problema,
pero siempre estaremos hablando de un lapso de tiempo instantáneo. La única excepción se da,
como veremos más adelante, en el punto crı́tico, en el cual, este tiempo se hace mucho mayor y
puede llegar a durar varias horas o incluso dı́as.
Método visual
En nuestro primer ejercicio, vamos a hacer una estimación de manera visual de los tiempos
de autocorrelación del sistema con la ayuda del programa ising2d.c. Este funciona con cinco
argumentos de entrada:
L: es la longitud del lado del sistema. Los sistemas que estudiaremos serán retı́culos cuadrados
cuyo lado es siempre una potencia de base 2 con exponente mayor o igual que 3. Ası́, los
valores que puede tomar la longitud son L = 8, 16, 32, 64...
k: es el cociente adimensional entre la energı́a de interacción de las partı́culas J y la energı́a
térmica del sistema KBT. Su valor irá variando en función del ejercicio que vayamos a
hacer, pero en general tomará valores cercanos al que presenta en el punto crı́tico: k = kc =
1
2 ln(1 +
√
2) ≈ 0, 4406868. La parte de FSS está dedicada enteramente al estudio del sistema
en k = kc; veremos que el sistema presenta propiedades muy singulares en ese punto.
nbloques y lbloque: estos dos parámetros de entrada tienen que ver con el funcionamiento
del programa y los podemos presentar a la par porque están muy relacionados. El comando
nbloques indica el número de bloques de datos que genera el programa (que son nbloques+1).
Por su parte, lbloque es la longitud de cada bloque de medidas. Ası́, ising2d.c realiza un
total de lbloque x nbloques medidas.
4
ncluster: de nuevo, se trata de un comando relacionado con la forma de trabajar del software.
Para esta parte de la práctica se van a utilizar dos algoritmos de simulación: el del Baño
Caliente y el de Swendsen-Wang, y con ncluster le indicaremos al sistema cuál queremos
que utilice en cada caso en función de si le damos el valor -1 (Baño Caliente) o 1 (Swendsen-
Wang). El objetivo de estos algoritmos de simulación es simplificar el estudio del sistema
reduciendo el número de posibles configuraciones del mismo. Para ello, se aporta a cada
configuración un peso estadı́stico más grande o más pequeño en función de lo probable que
sea obtener dicha configuración, haciendo que aquellas que son más improbables tengan un
peso estadı́stico prácticamente nulo.
Para cada conjunto de parámetros de entrada, el programa genera dos ficheros: historia.dat
e historia.pdf, que quedan almacenados en la memoria del ordenador. En particular, los archivos
historia.pdf consisten en unas gráficas en las que se representan la energı́a E y la imanación al
cuadrado del sistema M2
a lo largo del tiempo. Y serán estas gráficas las que nos ayuden a estimar
de forma visual si el sistema llega a termalizarse o no.
Al estar trabajando con el cuadrado de la imanación, sólo podemos obtener valores positivos
o nulos; de esta manera, si se obtiene un valor de M2
positivo, es porque el sistema tiene una
imanación no nula (ya sea positiva o negativa) y hay un número diferente de spines apuntando en
un sentido que en otro. Por su parte, los puntos en los que M2
= 0, nos indican que el sistema
tiene imanación nula, es decir, que hay aproximadamente tantos spines orientados hacia arriba
como hacia abajo.
Para saber si el sistema se ha termalizado, simplemente tenemos que observar y contar el
número de veces que el valor de M2
se hace 0 (o toma valores muy cercanos a este). Estos mı́nimos
de la gráfica de M2
frente a t son estados de equilibrio y reciben el nombre de instantones. De
este modo, si la gráfica con la que trabajemos en cada caso presenta un número de instantones lo
suficientemente grande (pongamos 6 por fijar un valor), diremos que el sistema se ha termalizado
y en caso contrario, diremos que no lo ha hecho.
Este proceso debe realizarse tanto con el algoritmo del Baño Caliente como con el de Swedsen-
Wang y para cada uno de ellos se tomarán distintos valores de L.
Mostramos los resultados obtenidos en las siguientes tablas, en primer lugar para Baño Caliente
y luego para Swendsen-Wang. En cada casilla aparece ”SÍ” en el caso de que el sistema se haya
termalizado (es decir, si se han alcanzado 6 instantones o más), ”NO” si no lo ha hecho (cuando se
han alcanzado menos de 6 instantones) o ”DUDOSO”, para aquellos en los que la gráfica alcanza
tı́picamente entre 4 y 8 instantones. Estos últimos casos fueron repetidos varias veces obteniendose
en algunas ocasiones 6 o más instantones y en otras ocaciones menos de 6 instantones. Por eso,
lo mejor es presentar estos casos como ”DUDOSOS” ya que puede encontrarse tanto un resultado
como el otro al ejecutar la simulación en esas condiciones.
L lbloque = 100 lbloque = 1,000 lbloque = 1,0000
16 NO DUDOSO SÍ
32 NO NO SÍ
64 NO NO SÍ
128 NO NO NO
256 NO NO NO
Tabla 1: Estimación gráfica de los tiempos de autocorrelación - Baño Caliente
L lbloque = 10 lbloque = 100 lbloque = 1,000 lbloque = 10,000
16 NO DUDOSO SÍ SÍ
32 NO DUDOSO SÍ SÍ
64 NO DUDOSO SÍ SÍ
128 NO NO SÍ SÍ
256 NO NO SÍ SÍ
512 NO DUDOSO SÍ SÍ
Tabla 2: Estimación gráfica de los tiempos de autocorrelación - Swendsen-Wang
5
Método cuantitativo
Este segundo método es mucho más objetivo y riguroso desde el punto de vista cientı́fico que
el anterior, pues que está basado en el manejo de datos cuantitativos. Esto permitirá obtener unos
resultados numéricos, en general muy fiables, para los tiempos que tarda el sistema en termalizarse,
en lugar de tan solo poder estimar si lo ha hecho o no, como pasaba en el apartado anterior.
La forma de proceder al principio es la misma que antes: se empieza usando el programa
isind2d.c introduciéndose los cinco argumentos de entrada correspondientes a cada situación que
se quiera estudiar.
Pero en este caso no acaba aquı́ el trabajo, pues ahora hay que utilizar un segundo programa:
anacor.c. Este utiliza un único argumento de entrada: distancia-máxima, gracias al cual se van
a poder calcular los tiempos de autocorrelación de tres magnitudes: la energı́a E, magnetización
al cuadrado M2
y una tercera magnitud F relacionada con la transformada de Fourier.
El parámetro distancia-máxima tiene que ser al menos 6 veces superior al mayor de los tres
tiempos de autocorrelación proporcionados por el programa, de lo contrario no podrá calcular estos
datos; pero aún ası́, no conviene darle un valor demasiado grande. Es probable que haya que probar
más de una vez hasta dar con su valor adecuado. No obstante, existe una manera de hacer una
estimación razonable para dar con él sin ir a ciegas.
En el punto crı́tico (k = kc), el tiempo de autocorrelación del sistema crece aproximadamente
como τ(kc) ∝ Lz
. En nuestro estudio siempre estaremos relativamente próximos al punto crı́tico y
utilizaremos z ≈ 2, lo cual se traduce en que entre los valores de distancia-máxima asociados a
un L y al siguiente, hay aproximadamente un factor 4.
Se realizará este procedimiento repetidas veces para poder estudiar los tamaños desde L = 8
hasta L = 256 para el algoritmo del Baño Caliente y desde L = 8 hasta L = 1,024 para el de
Swendsen-Wang.
En primer lugar, mostramos los parámetros de entrada que se utilizaron para los programas
ising2d.c y anacor.c para Baño Caliente:
L 8 16 32 64 128 256
lbloque 100.000 100.000 100.000 100.000 400.000 400.000
nbloque 10 10 10 10 10 10
Distancia − máxima 40 180 760 3.600 16.000 70.000
Tabla 3: Parámetros de entrada utilizados para el algoritmo del Baño Caliente
Y para Swendsen-Wang:
L 8 16 32 64 128 256 512 1.024
lbloque 100.000 100.000 100.000 100.000 400.000 400.000 400.000 1.000.000
nbloque 10 10 10 10 10 10 10 10
Distancia − máxima 20 20 30 30 40 50 60 70
Tabla 4: Parámetros de entrada utilizados para el algortimo de Swendsen-Wang
Con estos parámetros de entrada, se obtuvieron los siguientes resultados para los tiempos de
autocorrelación. En primer lugar mostramos los de Baño Caliente:
L τE ± ∆τE τM2 ± ∆τM2 τF ± ∆τF
8 4,498 ± 0,047 6,228 ± 0,077 6,556 ± 0,083
16 14,82 ± 0,28 27,35 ± 0,70 29,33 ± 0,78
32 47,24 ± 1,59 114,06 ± 5,97 123,58 ± 6,73
64 166,82 ± 5,28 534,80 ± 30,30 598,66 ± 35,88
128 706,61 ± 46,01 2.590,66 ± 323,00 2.654,81 ± 335,07
256 2.122,65 ± 239,55 7.476,86 ± 1.583,64 8.580,73 ± 1.946,99
Tabla 5: Tiempos de autocorrelación obtenidos para el algortimo del Baño Caliente
Y a continuación, los de Swendsen-Wang:
6
L τE ± ∆τE τM2 ± ∆τM2 τF ± ∆τF
8 2,549 ± 0,064 2,509 ± 0,063 1,849 ± 0,040
16 3,201 ± 0,090 3,095 ± 0,085 2,032 ± 0,046
32 4,10 ± 0,13 3,70 ± 0,11 2,125 ± 0,049
64 4,83 ± 0,17 4,26 ± 0,14 2,256 ± 0,053
128 5,80 ± 0,21 4,87 ± 0,17 2,383 ± 0,058
256 6,73 ± 0,27 5,39 ± 0,20 2,559 ± 0,064
512 8,43 ± 0,38 6,23 ± 0,24 2,577 ± 0,065
1.024 8,96 ± 0,42 6,53 ± 0,26 2,738 ± 0,071
Tabla 6: Tiempos de autocorrelación obtenidos para el algortimo de Swendsen-Wang
Representación de los tiempos de autocorrelación frente al tamaño del
sistema
Una vez que se tienen los valores de los tiempos de autocorrelación τE, τM2 y τF (con sus
correspondientes errores) para los distintos tamaños del sistema y para ambos algoritmos de si-
mulación, podemos hacer una representación de estos como función de L y ajustar los datos a
unas funciones de tipo f(x) = a · xb
. Ya hemos comentado que en el punto crı́tico los tiempos de
autocorrelación crecen aproximadamente como τ(kc) ∝ Lz
; de esta manera, al hacer estos ajustes
podremos estimar los exponentes dinámicos z en función del valor que presente cada parámetro b.
Se ha hecho este ajuste para ambos algoritmos de simulación por separado, representándose en
cada gráfica los datos experimentales de los tiempos de autocorrelación τE y τM2 proporcionados
por anacor.c y superpuestos a ellos, los ajustes de las funciones f(x).
También se podrı́a haber incluı́do los tiempos de autocorrelación τF , pero sus puntos y su ajuste
quedaban demasiado cerca de los de τE, dificultando ligeramente su visión e interpretación, por lo
que finalmente se decidió no añadirlos.
Empezamos viendo en la siguiente imagen el ajuste realizado para los tiempos de autocorrelación
de la energı́a y de la imanación al cuadrado para el algoritmo del Baño Caliente:
Figura 1: Ajustes de los tiempos de autocorrelación - Baño Caliente
Como sabemos, cuando se está estudiando el ajuste de unos datos experimentales a una función
teórica, no es suficiente con presentar la gráfica de dicho ajuste. Además de esto, hay que mostrar
una serie de datos cuantitativos asociados a la gráfica que revelan hasta qué punto ha sido bueno
el ajuste. Esta es una forma de proceder que nos vamos a encontrar numerosas veces a lo largo de
la práctica, por ello conviene saber cuáles son los datos que tenemos que conocer tras realizar un
ajuste:
Número de grados de libertad (G.L.) de la gráfica: se calcula como el número de puntos
representados menos el número de parámetros con los que se ha hecho el ajuste.
7
χ2
: (o test χ2
). Consiste en una herramienta muy útil que cuantifica cuánto difieren los datos
experimentales de un ajuste del resultado teórico esperado. Lo ideal es que χ2
sea del mismo
órden de magnitud que G.L..
p-value: al igual que el anterior, sirve para cuantificar cómo de cerca están los resultados
experimentales a la fórmula teórica a los que se ajustan. Su valor debe encontrarse entre 0,10
y 0,90 para que el ajuste sea bueno.
Valor y error que presenta cada magnitud tras realizarse el ajuste: en este caso AE + ∆(AE)
y zE + ∆(zE).
Barras de error de las magnitudes con las que se trabaja. Muchas veces un ajuste puede
parecer bueno porque en la representación el resultado teórico casa muy bien con los datos
experimentales y para los parámetros de ajuste se obtienen unos valores muy cercanos a los
esperados. Pero si calculamos la variación de dichos parámetros en términos de sus barras de
error, nos daremos cuenta de que esta puede ser una conclusión engañosa.
Valor mı́nimo de la magnitud representada en el eje horizontal (en este caso L, es decir Lmı́n).
En general, en casi todas las gráficas que vamos a estudiar, la magnitud que se representará
en el eje horizontal será L ó k y en muchos casos nos pedirán hacer lo que se llama un test
Lmı́n ó kmı́n según corresponda. El objetivo de estos tests será comprobar cuál es el mı́nimo
valor de L ó de k para el cuál el ajuste comienza a ser fiable. Ası́, en muchas ocasiones
tendremos que realizar un mismo ajuste variando únicamente el valor del L ó del k más
pequeño con el que se trabaja mientras vemos cómo van cambiando los resultados de las
magnitudes anteriores hasta obtener unos valores aceptables de las mismas.
Dicho esto (que será de gran importancia para el resto de la práctica), los datos obtenidos para
el algoritmo del Baño Caliente fueron, para el ajuste de la energı́a:
Lmı́n χ2
G.L. p-value AE + ∆(AE) zE + ∆(zE) Barras(zE)
32 1,75 2 0,42 0,076 ± 0,011 1,853 ± 0,037 -3,97
Tabla 7: Datos del ajuste para los tiempos de autocorrelación de la energı́a - Baño Caliente
Y para el ajuste de la imanación al cuadrado:
Lmı́n χ2
G.L. p-value AM2 + ∆(AM2 ) zM2 + ∆(zM2 ) Barras(zM2 )
8 4,26 4 0,37 0,0754 ± 0,0035 2,123 ± 0,019 6,47
Tabla 8: Datos del ajuste para los tiempos de autocorrelación de la imanación - Baño Caliente
A continuación, realizamos el mismo estudio para el algoritmo de Swendsen-Wang. Comenzamos
mostrando la gráfica obtenida:
Figura 2: Ajustes de los tiempos de autocorrelación - Swendsen-Wang
8
Y a continuación, del mismo modo que con Baño Caliente, los datos proporcionados por gnuplot
al hacer los ajustes. En primer lugar, los de los tiempos de autocorrelación de la energı́a:
Lmı́n χ2
G.L. p-value AE + ∆(AE) zE + ∆(zE)
32 2,71 4 0,61 1,815 ± 0,099 0,237 ± 0,011
Tabla 9: Datos del ajuste para los tiempos de autocorrelación de la energı́a - Swendsen-Wang
Y en segundo lugar, los de los de la imanación al cuadrado:
Lmı́n χ2
G.L. p-value AM2 + ∆(AM2 ) zM2 + ∆(zM2 )
32 2,48 4 0,65 2,09 ± 0,10 0,1702 ± 0,093
Tabla 10: Datos del ajuste para los tiempos de autocorrelación de la imanación - Swendsen-Wang
Estimación de los tiempos de autocorrelación exponenciales
Cada vez que se ejecuta el programa anacor.c de la forma explicada en el apartado de Método
Cuantitativo, se generan dos archivos de salida: autocor.dat y autocor.pdf. Este segundo archivo
consta de dos gráficas en las que se representan superpuestas las funciones de correlación de la
energı́a CE(t) y de la imanación al cuadrado CM2 (t) frente al tiempo t. En la primera de las
gráficas se hace la representación utilizando la escala lineal en ambos ejes mientras que en la
segunda se utiliza la escala logarı́tmica en el eje vertical.
Con ayuda de estas gráficas se puede estimar de forma visual los tiempos de autocorrelación
exponenciales de los diferentes retı́culos con los que se ha ido trabajando. Se puede llegar a estos
resultados de varias maneras y en este apartado veremos dos métodos diferentes para obtener dichos
tiempos, utilizando como ejemplos los retı́culos de mayor tamaño simulados con Baño Caliente y
con Swendsen-Wang.
Antes de nada, tenemos que tener en cuenta que las funciones de correlación de cualquier
magnitud se pueden representar por medio de la expresión C(t) =
PN
i=1 Ai · e−t/τi
; pero para
tiempos lo suficientemente grandes, el primer término del sumatorio A1 se hace muy grande frente
a los demás, con lo que podemos simplificar la anterior expresión a C(t) = A·e−t/τ
; siendo A = A1
y τ = τ1.
Ası́, vamos a poder ajustar los puntos experimentales de las funciones de correlación que ha
calculado el programa y ha representado en los ficheros autocor.dat a unas funciones del tipo
f(x) = A · e−x/t
.
Empezaremos haciendo un ajuste de este tipo tanto para la función de correlación de la energı́a
como para la de la imanación al cuadrado para cada uno de los dos algoritmos de simulación
y representándolos gráficamente. Tras ello, explicaremos cómo se pueden estimar los tiempos de
autocorrelación exponenciales que se nos piden.
En este caso, vamos a empezar viendo el resultado obtenido con Swendsen-Wang para el retı́culo
de mayor tamaño (L = 1,024).
9
Figura 3: Funciones de correlación frente al tiempo - Swendsen-Wang
Los puntos de la función de correlación de la energı́a se han ajustado a una función f(x) =
A · e−x/t
y los de la imanación al cuadrado a una función g(x) = B · e−x/p
, obteniéndose los
resultados:
A ± ∆(A) t ± ∆(t) B ± ∆(B) p ± ∆(p)
0,9706 ± 0,0040 9,237 ± 0,057 0,859 ± 0,019 7,26 ± 0,24
Tabla 11: Ajuste para las funciones de correlación - Swendsen-Wang
Sin embargo, aunque gráficamente los ajustes queden muy bien, estos en realidad no son tan
buenos como parecen. Esto es debido a que el programa anacor.c no proporciona errores en las
medidas de las funciones de correlación, por lo que, en principio no se puede realizar un test χ2
al hacer los ajustes. Para salir de este problema se ha considerado, de manera un tanto arbitraria,
que el error de los mencionadas medidas son los valores que toma cada función en cada punto
multiplicados por 0,075. Se llegó a este factor tan concreto después de hacer los ajustes de las
funciones varias veces para diferentes valores en el error de sus puntos experimentales y ver que
gráficamente, cuando mejor salı́an los ajustes era cuando se consideraba este error. Bajo esta
premisa, es como se obtuvieron los datos de la tabla anterior.
Una vez explicado esto, veamos cómo deducir los tiempos de autocorrelación exponenciales.
Como ya hemos visto, las funciones de correlación son exponenciales decrecientes y por convenio
se dice que este tipo de funciones han decrecido ”notoriamente” cuando su valor llega aproxima-
damente a e−1
. Ası́, admitiremos que CE(t) alcanza este valor cuando t = τE y CM2 (t) lo alcanza
para t = τM2 . Este es el motivo por el cual en la anterior imagen se ha añadido una lı́nea horizontal
roja en el punto e−1
del eje y.
A primera vista, parece que τE está en torno a los 8 ó 9 segudos y τM2 en torno a los 5 ó 6
segundos. Pero la estimación se puede hacer de una manera más exacta. Todo lo que hay que hacer
es igualar nuestras funciones f(x) y g(x) a e−1
y pedirle a gnuplot, por medio del comando print
que nos diga cuál es el valor de x (que representa la variable tiempo) para el cual se cumple esta
igualdad.
Utilizando este método, los resultados obtenidos fueron: 8,96 segundos para el caso de la energı́a
y 5,90 segundos para el del cuadrado de la imanación.
Por su parte, para Baño Caliente resulta mucho más difı́cil realizar un ajuste, puesto que en la
gráfica aparecen muchos más puntos. Ası́ que para este caso usaremos otro método para deducir los
tiempos buscados. En primer lugar, veamos la representación de los puntos del fichero anacor.dat
para el retı́culo de mayor tamaño para el algoritmo de Baño Caliente (L = 256):
10
Figura 4: Funciones de correlación frente al tiempo - Baño Caliente
Seguiremos admitiendo el argumento de que una función exponencial negativa se ha hecho
”notoriamente pequeña” cuando alcanza el valor e−1
, por ello se ha vuelto a representar una lı́nea
roja horizontal a esa altura.
Para este segundo método de estimación, lo que haremos será sencillamente ir al fichero ana-
cor.dat correspondiente al caso que estamos estudiando y vamos a ver cuáles son los valores
del tiempo para los cuales las funciones CE(t) y CM2 (t) alcanzan un valor más cercano a e−1
≈ 0, 36787944...
Ası́, los valores de los tiempos de autocorrelación exponenciales estimados de esta forma fueron:
para la enegı́a, t = 458 segundos, punto en el cual la función de correlación vale 0,367709; por
su parte, para el cuadrado de la imanación se obtuvo t = 8,762 segundos, donde la función de
correlación se hace igual a 0,367881.
5. Valores medios
El programa ising2d.c permite hacer mucho más que estimar y medir los tiempos de auto-
correlación del sistema. Además de esto, se puede utilizar para calcular los valores que presentan
muchas magnitudes fı́sicas, tales como la energı́a, la imanación, el calor especı́fico... y por supuesto,
representarlas.
Lo que se pretende en este segundo apartado de la práctica es, por medio de este programa,
tomar medidas de todas estas magnitudes para retı́culos de distintos tamaños en un rango de
valores de k que se extienda a ambos lados de kc. Para este estudio, se han tomado los valores de
L comprendidos entre L = 8 y L = 256 (ambos incluı́dos) y los valores de k comprendidos entre
k = 0, 30 y k = 0, 50 (ambos incluı́dos) con un salto de 0,02 unidades, incluyendo además el punto
k=kc por las grandes particularidades que presenta.
Se han realizado por tanto medidas para 6 valores distintos para L y 12 valores distintos para k,
con lo que se han hecho un total de 72 procesos de medición diferentes para distintos parámetros de
entrada del programa ising2d.c. En todos los casos se ha tomado lbloque = 100,000 y nbloque = 10
y se ha hecho uso del algoritmo de Swendsen-Wang (ncluster = 1).
Conforme se va ejecutando ising2d.c para los distintos parámetros de entrada, los valores de to-
das las magnitudes fı́sicas que el programa va calculando se almacenan en el archivo historia.dat.
Estos datos se van a ir copiando y clasificando en archivos llamados magnitudesising2dL8.dat,
magnitudesising2dL16.dat... en los que se incluyen los valores recogidos para todas las magni-
tudes calculadas para L = 8, L = 16... respectivamente; variando k en todos los casos entre 0,30 y
0,50.
A partir de estos ficheros se crea un archivo que le ordene a gnuplot generar gráficas en las que
se representen los valores de las distintas magnitudes en función de k; superponiéndose en cada
caso las medidas realizadas para los distintos L.
Mostramos a continuación las gráficas generadas para algunas de estas magnitudes:
11
Figura 5: Representación de E frente a k
Figura 6: Representación de E2
frente a k
12
Figura 7: Representación de |M| frente a k
Figura 8: Representación de M2
frente a k
13
Figura 9: Representación de Cv frente a k
Figura 10: Representación de χc frente a k
14
Figura 11: Representación de ξ frente a k
Figura 12: Representación de ξ0
frente a k
Como comentarios generales, podemos decir que en las gráficas de E, E2
, |M| y M2
los distintos
L acaban colapsando conforme el valor de k aumenta. La diferencia más notoria está en el hecho
de que en las dos primeras, los distintos L presentan unos valores más cercanos entre sı́ para
las k más pequeñas, luego se separan ligeramente para las k intermedias y finalmente vuelven
a juntarse para las k mayores. Por su parte, en las gráficas de |M| y M2
, los distintos L tienen
unos comportamientos mucho más diferentes para los k pequeños e intermedios, aunque finalmente
también acaben colapsando. Se observa además que las gráficas de los L más grandes son las más
similares entre sı́.
Las gráficas de Cvy c presentan unas divergencias muy claras en el punto crı́tico k = Kc, las
cuales se acentúan conforme más grande se hace L.
15
Y finalmente, para las longitudes de correlación ξ y ξ0
, se observa que antes de llegar al punto
crı́tico presentan valores muy cercanos a 0, lo cual tiene sentido porque desde el primer momento
admitimos que las partı́culas de nuestro sistema sólo interactúan con sus primeros vecinos. Para
k  kc, toman valores superiores, en algunos casos muy altos, pero estos datos no nos interesan
demasiado, puesto que las magntides ξ y ξ0
con las que trabaja ising2d.c están exclusivamente
diseñadas para la fase paramagnética k  kc.
6. Lı́mite Termodinámico
En la sección anterior ya se ha hecho una representación de las distintas magnitudes fı́sicas cal-
culadas por ising2d.c frente a k, superponiéndose, como hemos visto, las gráficas de los diferentes
valores de L.
Comenzamos ahora la tercera parte de la práctica, el Lı́mite Termodinámico, en la cual vamos
a indagar un poco más en el estudio de estas magnitudes, ajustando algunas de ellas a leyes
termodinámicas conocidas. Para ello, como siempre, se hará el ajuste de los datos experimentales
a unas funciones teóricas, se enseñará una representación gráfica del mismo y se mostrarán los
parámetros que se obtienen al ejecutarlo, para ası́ analizar si puede o no considerarse un ajuste del
todo fiable.
En particular, vamos a empezar estudiando el módulo de la imanación |M|.
6.1. Estudio de la imanación |M|
Vamos a tomar las gráficas de |M| frente a k de para los distintos L que vimos en el apartado
de Valores Medios, pero en este caso además vamos a superponer sobre ellas la solución exacta
para M(k) dada por la imanación de Yang, cuya expresión es:
M(k) = (1 − senh−4
(2k))
1
8 ; conk  kc (17)
Para hacer esta representación se han utilizado los puntos del archivo m−infinito.dat, los
cuales se añadieron al fichero con el que se hizo la representación de |M| frente a k en el apartado
anterior. Se obtuvo con ello la siguiente gráfica.
Figura 13: Representación de |M| frente a k junto con la solución de Yang
La solución de Yang está restringida exclusivamente para k  kc, por eso su representación
gráfica no se produce hasta este punto. Como puede verse, partir de k ≈ 0, 48, las gráficas de todos
los L tienen ya un comportamiento muy parecido al de la solución de Yang, no obstante las gráficas
de los retı́culos mayores son las que antes convergen a ella.
16
6.2. Estudio de la inversa de la longitud de correlación 1/ξ
La longitud de correlación ξ mide hasta qué distancia puede considerarse que dos partı́culas in-
teractúan (están correlacionadas entre sı́). Más allá de esta distnacia se considera que la interacción
entre ambas es nula y por tanto no están correlacionadas.
Para este segundo ejercicio de Lı́mite Termodinámico, vamos a proceder al estudio del compor-
tamiento de esta magnitud en las próximidades del punto crı́tico, pero antes de comenzar conviene
dejar claros dos detalles importantes.
Lo primero es que realmente no vamos a estudiar el comportamiento de la longitud de correla-
ción ξ propiamente dicha, sino el de su inversa 1/ξ. El motivo es porque el comportamiento de ξ
cerca del punto crı́tico viene dado por:
ξ =
1
|k − kc|ν
(18)
Como puede verse, conforme nos acercamos a kc, la longitud de correlación tiende a infinito, lo
cual no nos pilla por sorpresa, ya que este comportamiento ya lo dedujimos al estudiar la gráfica
de ξ frente a k en el apartado de Valores Medios. Por este motivo, es mucho más sencillo estudiar
su inversa 1/ξ, la cual tenderá a 0 en las cercanı́as del punto crı́tico.
En, segundo lugar, recordemos que la magnitud que ising2d.c calcula como ”xi”, sólo está bien
definida para la fase paramagnética (k  kc), por lo cual reduciremos nuestro estudio a dicha fase.
En principio, la forma de trabajar es bastante similar a la del apartado Valores Medios, sim-
plemente se crea un nuevo fichero que le ordene a gnuplot representar los datos de los archivos
magnitudesising2dL8.dat, magnitudesising2dL16.dat... pero en este caso no tenemos que
perdirle que trabaje con los valores de ξ y ∆(ξ), sino con los de 1/ξ y ∆(ξ)/ξ2
respectivamente,
ya que no queremos graficar ξ frente a k, sino 1/ξ frente a k.
Al hacer esta representación superponiendo los distintos valores de L, nos vamos a encontrar
que para cada valor de k en el que hemos tomado medidas (k = 0, 30; k = 0, 32; k = 0, 34...) los
resultados de los distintos tamaños del sistema se van a pisar unos a otros, lo cual va a dificultar
mucho el estudio de cómo se acerca la función al punto crı́tico.
Para evitar esto es muy recomendable desplazar ligeramente las gráficas de los distintos L que
hay para cada valor de k siguiendo las indicaciones del guion. De esta manera, la figura parece
completamente inalterada si se mira desde lejos, pero si se hace zoom sobre cada valor de k, se
podrán ver claramente separados los resultados asociados a los diferentes L. Esto va a ser de gran
ayuda para la siguiente parte del estudio.
Una vez hecho esto, si se hace zoom sobre cada valor de k, se observan dos efectos contrapues-
tos. Por un lado, los retı́culos más grandes van a presentar unos errores exageradamente grandes
mientras que los retı́culos más pequeños producen unas barras de error que no son acordes con los
resultados de los retı́culos mayores.
Ante esta situación, vamos a intentar buscar un equilibrio entre los L pequeños y los L grandes
anotando, para cada valor de k cuál es el tamaño del retı́culo más pequeño que produce unas barras
de error compatibles con los retı́culos máyores.
Estos valores de L serán llamados Lsafe y este proceso de búsqueda se tiene que repetir para
cada valor de k. Tras haberlo completado, se obtuvieron los siguientes valores de Lsafe para los
distintos k:
k 0,30 0,32 0,34 0,36 0,38 0,40 0,42
Lsafe 8 16 16 16 32 32 64
Tabla 12: Valores de Lsafe para cada k
Archivo longituddecorrelación.gpt en la sesión 4. Documentos de sesiones 5 y 6.
LLegados a este punto, es interesante construir un archivo llamado lı́mitetermodinámico.dat
a partir de los utilizados en los apartados anteriores. En él, para cada valor de k que se esté
estudiando, se van a copiar los resultados calculados para las distintas magnitudes dados por
ising2d.c para el retı́culo cuyo tamaño coincida con el Lsafe de dicha k.
De esta manera, por ejemplo, para k = 0, 30 (cuyo Lsafe es L = 8), se copiarán los datos
de magnitudesising2dL8.dat y se pegarán en el nuevo archivo. Repetimos a continuación este
proceso para cada valor de k hasta acabar completando lı́mitetermodinámico.dat.
17
Ahora, con los datos de lı́mitetermodinámico.dat, vamos a representar 1/ξ frente a k ajus-
tando los datos experimentales a las dos siguientes funciones: f(x) = a·(kc−x)b
y g(x) = c·(d−x).
Como puede verse, para el ajuste con la función f(x) se está dando por válido el valor de kc
que dicta la teorı́a (kc ≈ 0, 4406868) y lo que se busca es (además de la amplitud a) el valor del
parámetro b, correspondiente al exponente ν, cuyo valor es igual a 1 según la solución de Onsager.
De este modo, al hacer el ajuste se espera obtener un valor de b que sea compatible con 1.
Por otro lado, en la función g(x) ocurre justo lo contrario: se da por válida la solución de
Onsager para el exponente ν = 1 y lo que se pretende calcular (además de la amplitud c) es el
valor de d, que deberá ser compatible con kc ≈ 0, 4406868.
A continuación, mostramos los resultados que se obtuvieron al realizar ambos ajustes. En primer
lugar, el de la función f(x):
kmin χ2
G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b)
0,30 33,17 5 3,48 ·10−6
4,96 ± 0,11 2,28 % 1,0522 ± 0,0077 0,73 % 6,78
0,32 5,73 4 0,22 4,789 ± 0,064 1,34 % 1,0422 ± 0,0042 0,41 % 10,05
0,34 3,50 3 0,32 4,753 ± 0,063 1,33 % 1,0401 ± 0,0041 0,40 % 9,78
0,36 1,05 2 0,59 4,649 ± 0,063 1,36 % 1,0342 ± 0,0039 0,38 % 8,77
0,38 0,59 1 0,44 4,57 ± 0,11 2,49 % 1,0295 ± 0,0068 0,66 % 4,33
Tabla 13: Ajuste para la función f(x)
Y en segundo lugar, el de la función g(x):
kmin χ2
G.L. p − value c ± ∆(c) δ(c) d ± ∆(d) δ(d) Barras(d)
0,30 74,79 5 1,03 ·10−14
4,483 ± 0,065 1,46 % 0,43871 ± 0,00044 0,10 % -4,49
0,32 16,09 4 0,0029 4,397 ± 0,041 0,92 % 0,43912 ± 0,00026 0,060 % -6,03
0,34 9,95 3 0,019 4,376 ± 0,040 0,91 % 0,43922 ± 0,00025 0,057 % -5,87
0,36 4,61 2 0,20 4,1036 ± 0,02027 0,49 % 0,440547 ± 0,00003673 0,0083 % -3,81
0,38 0,18 1 0,67 4,261 ± 0,021 0,49 % 0,43977 ± 0,00011 0,025 % -8,33
Tabla 14: Ajuste para la función g(x)
Como puede verse en los datos de estas dos últimas tablas, los ajustes tanto para f(x) como
para g(x) no son demasiado buenos, pues aunque se obtengan unos valores para b y d bastante
próximos a los teóricos, presentan muchas barras de error en sus resultados.
Se trata por tanto de unos resultados extremadamente improbables en términos estadı́sticos,
y el motivo por el que se ha llegado a esta situación es porque la relación χ = 1/|k − kc|ν
con la
que se ha estado trabajando, sólo es válida en puntos muy cercanos al punto crı́tico y no puede
utilizarse en un intervalo de k tan grande como el que hemos estado considerando. Por lo tanto
el estudio realizado no puede considerarse fiable, pues se ha utilizado para realizar el ajuste una
expresión en un intervalo de valores en los que no tiene validez.
Para corregir este error, hay que realizar de nuevo el mismo estudio, pero esta vez en un rango
de valores lo suficientemente cercanos a kc. De esta manera, volveremos a hacer uso del programa
ising2d.c para los mismos valores de L que tenı́amos anteriormente, pero en este caso unos valores
de k diferentes. En particular, para esta práctica se tomaron los valores desde k = 0, 400 hasta
k = 0, 435 con un salto de 0,005 unidades.
Una vez hechas de nuevo todas las medidas pertinentes, los nuevos datos proporcionados por
ising2d.c se van a ir clasificando en unos nuevos archivos nuevasmagnitudesising2dL8.dat,
nuevasmagnitudesising2dL16.dat... y con ellos se procede a buscar de nuevo el Lsafe asociado
a cada k de la misma forma que se hizo con el ajuste anterior.
Los nuevos resultados obtenidos para los Lsafe fueron:
k 0,400 0,405 0,410 0,415 0,420 0,425 0,430 0,435
Lsafe 32 32 64 64 64 128 128 256
Tabla 15: Nuevos valores de Lsafe para cada k
Y con estos nuevos datos, se puede crear un nuevo archivo lı́mitetermodinámico2.dat y
18
realizar de nuevo el ajuste de 1/ξ frente a k a las funciones f(x) y g(x) exactamente igual que
antes (pero ahora esperamos obtener mejores resultados):
kmin χ2
G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b)
0,400 6,82 6 0,34 4,37637 ± 0,04437 1,014 % 1,01743 ± 0,002329 0,2289 % 7,48
0,405 4,83 5 0,44 4,34421 ± 0,0464 1,068 % 1,0159 ± 0,002401 0,2363 % 6,62
0,410 4,54 4 0,34 4,33426 ± 0,05389 1,243 % 1,01543 ± 0,002765 0,2723 % 5,58
0,415 3,90 3 0,27 4,30804 ± 0,06841 1,588 % 1,0142 ± 0,003443 0,3395 % 4,12
0,420 0,76 2 0,68 4,24999 ± 0,04169 0,9809 % 1,01148 ± 0,00209 0,2066 % 5,49
0,425 0,29 1 0,59 4,32665 ± 0,07107 1,643 % 1,01499 ± 0,003308 0,3259 % 4,86
Tabla 16: Nuevo ajuste para la función f(x)
kmin χ2 G.L. p − value c ± ∆(c) δ(c) d ± ∆(d) δ(d) Barras(d)
0,400 13,92 6 0.030 4,13482 +- 0,01828 0,44 % 0,4405 +- 0,00003693 0,0084 % -5,05
0,405 7,98 5 0,16 4,12092 +- 0,01678 0,41 % 0,440521 +- 0,00003267 0,0074 % -5,07
0,410 6,73 4 0,15 4,11575 +- 0,01824 0,44 % 0,440529 +- 0,00003479 0,0079 % -4,54
0,415 4,61 3 0,20 4,1036 +- 0,02027 0,49 % 0,440547 +- 0,00003673 0,0083 % -3,81
0,420 0,27 2 0,87 4,08573 +- 0,00678 0,17 % 0,440573 +- 0,00001189 0,0027 % -6,02
0,425 0,11 1 0,74 4,09727 +- 0,01114 0,27 % 0,440557 +- 0,00001686 0,0038 % -7,70
Tabla 17: Nuevo ajuste para la función g(x)
Como podemos ver, se obtienen unos resultados algo mejores para los valores de b y d (que son
más cercanos a sus valores teóricos que en el ajuste anterior) y también en lo que a las barras de
error se refiere (que ahora son algo más pequeñas).
Sin embargo, sus valores siguen siendo bastante altos, pues en todos los casos se tiene una
desviación entre los resultados teóricos y los experimentales que está entre las 3 y las 8 barras de
error, lo cual es indicativo de que el ajuste aún puede hacerse de una forma más precisa.
Para ir un último paso más allá, se pueden tener en cuenta correciones de orden superior en la
solución de Onsager:
ξ(k) =
a0 + a1 · (k − kc) + ...
(k − kc)
(19)
Con este resultado, vamos a poder hacer un nuevo ajuste de nuestros experimentales del archivo
lı́mitetermodinámico2.dat a una función h(x) = b0 · (kc − x)/(1 + b1 · (kc − c)). Esta función
da por válidos los valores de kc ≈ 0, 4406868 y de ν = 1 que predice la teorı́a y lo que se pretende
ajustando nuestros datos a ella es obtener las amplitudes b0 y b1. Los resultados obtenidos para
este ajuste fueron:
kmin χ2
G.L p − value b0 ± ∆(b0) δ(b0) b1 ± ∆(b1) δ(b1)
0,400 3,49 6 0,75 3,98058 +- 0,008802 0,2211 % -1,10835 +- 0,1001 9,035 %
0,405 3,48 5 0,63 3,98009 +- 0,01039 0,261 % -1,11861 +- 0,1374 12,28 %
0,410 3,37 4 0,50 3,97888 +- 0,0119 0,2991 % -1,14678 +- 0,1698 14,81 %
0,415 3,34 3 0,34 3,97789 +- 0,01501 0,3773 % -1,17307 +- 0,2542 21,67 %
0,420 1,57 2 0,46 3,98484 +- 0,01347 0,3381 % -1,51181 +- 0,4877 32,26 %
0,425 0,61 1 0,44 3,970 +- 0,017 0,42 % -1,51181 +- 0,4877 32,26 %
Tabla 18: Ajuste para la función h(x)
Y aquı́ podemos ver la representación gráfica del ajuste:
19
Figura 14: Representación de 1/xi frente a k
7. Finite-Size Scaling
Comenzamos con la última parte del trabajo, en la cual no tenemos como objetivo estudiar
cómo se comporta el sistema en las cercanı́as del punto crı́tico como pasaba en el apartado anterior,
sino estudiar cómo se comporta el sistema en el propio punto crı́tico.
A lo largo de esta sección vamos a realizar una serie de ejercicios que siguen un guion práctica-
mente idéntico: se pretende estudiar cómo evoluciona una magnitud fı́sica en el punto crı́tico y para
ello se van a ajustar los valores experimentales que toma dicha magnitud a una cierta expresión
teórica que viene dada por el teorema de Fluctuación-Disipación, por la teorı́a de Onsager... etc.
En todas estas fórmulas, se va a relacionar la magnitud fı́sica que se está estudiando con el
tamaño L del sistema, lo cual nos va a sugerir hacer una representación de la magnitud en cuestión
frente a L. Nótese que en este caso ya no tiene sentido hacer una representación frente a k, porque
al estar trabajando exclusivamente en el punto crı́tico, siempre vamos a tener una única k = kc y
lo único que puede variar es la L.
En cada una de las expresiones que veremos intervienen uno o más parámetros de ajuste
(algunos de ellos son exponentes crı́ticos), con lo que, además de representar gráficamente los
resultados, mostraremos qué valores se obtienen para estos parámetros esperando que queden
cerca de aquellos que la teorı́a dicta.
7.1. Simulación y obtención de datos
Para esta parte de la práctica hay que trabajar con los datos experimentales que obtuvimos
a partir de la simulación realizada en clase. Se trata de una simulación muy costosa que llevarı́a
mucho tiempo hacerla en casa, por eso se la encargamos a los ordenadores del Aula de Informática
del Departamento de Fı́sica Teórica y los resultados nos llegaron por correo.
Estos resultados llegaron dados en un fichero llamado resultadosFSS.zip que contenı́a un total
de 16 archivos. Para cada tamaño del retı́culo, desde L = 8 hasta L = 1024 (ambos incluidos), se
proporcionaba una carpeta con dos archivos: ising2d.dat e historia.dat.
Los archivos ising2d.dat, constaban de una única lı́nea, en la cual se presentaban los valores
de las distintas magnitudes fı́sicas calucados por ising2d.c para k = kc y el L correspondiente
a cada caso. La información de cada fichero ising2d.dat debı́a ser copiada y aglutinada en un
único fichero llamado ising2dFSS.dat, el cual será de gran utilidad para los siguientes ejercicios.
En él están incluı́dos los valores que presentan todas las magnitudes fı́sicas de todos los sistemas
20
que vamos a estudiar medidas exactamente en el punto crı́tico, por lo que ising2dFSS.dat es un
archivo de gran interés.
7.2. Cálculo de η a partir de  m2

El primer ejercicio que vamos a hacer a partir de los resultados de la simulación anterior es un
ajuste de  m2
 frente a L con el objetivo de estimar el valor del exponente crı́tico η.
Por medio del teorema de Fluctuación-Disipación, para k = kc, la relación entre ambas magni-
tudes viene dada por:
 m2
 (L) =
fx(0)
(Lη)
(20)
Esta expresión sugiere ajustar los valores experimentales de  m2
 frente a L por medio de
una función f(x) = a/(xb
); según esta, a se corresponde con fx(0) y b, con el exponente crı́tico
η. La solución de Onsager enuncia que η = 0, 25, con lo cuál el exponente b nos tendrı́a que salir
compatible con este valor.
La gráfica que se generó al hacer el ajuste es la siguiente:
Figura 15: Ajuste de  m2
 frente a L
Y a continuación, mostramos los datos obtenidos a partir del test Lmı́n
Lmin χ2
G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b)
8 7,64 6 0,27 1,08751 ± 0,00097 0,089 % 0,24915 ± 0,00021 0,08 % 4,22
16 4,77 5 0,44 1,0891 ± 0,0013 0,11 % 0,24943 ± 0,00024 0,10 % 2,36
32 4,51 4 0,34 1,0898 ± 0,0019 0,18 % 0,24954 ± 0,00035 0,14 % 1,32
64 4,48 3 0,21 1,0901 ± 0,0032 0,29 % 0,24958 ± 0,00053 0,21 % 0,78
128 4,09 2 0,13 1,0920 ± 0,0058 0,53 % 0,24987 ± 0,00091 0,36 % 0,14
256 4,09 1 0,04 1,092 ± 0,014 1,29 % 0,2499 ± 0,0021 0,84 % 0,060
Tabla 19: Datos del primer ajuste para el cálculo de η
Para este ejercicio, además del ajuste a la función teórica f(x) disponemos de dos técnicas
adiccionales para llegar al resultado. En primer lugar, podemos dar por válida la solución de
Onsager (η = 0, 25) y realizar un segundo test de Lmı́n esta vez a la función g(x) = a/(x0,25
),
obteniéndose:
21
Lmin χ2
G.L. p − value a ± ∆(a) δ(a)
8 28,89 7 0,00015 1,09118 ± 0,00065 0,059 %
16 10,12 6 0,12 1,09195 ± 0,00047 0,043 %
32 6,48 5 0,26 1,09230 ± 0,00046 0,043 %
64 5,41 4 0,25 1,09251 ± 0,00053 0,048 %
128 4,13 3 0,25 1,09281 ± 0,00062 0,057 %
256 4,10 2 0,13 1,09287 ± 0,00090 0,083 %
512 3,34 1 0,067 1,0924 ± 0,0015 0,14 %
Tabla 20: Datos del segundo ajuste para el cálculo de η
Y por último, también podemos considerar correciones de orden superior en el teorema de
Fluctuación-Disipación, según las cuales la relación entre  m2
 y L acaba por ser :
 m2
 (L) =
a1
(L1/4)
· [1 +
d1
(L1,75)
] =
a1
(L1/4)
+
c1
(L2)
(21)
Con ello, vamos a poder ajustar nuestros datos a una función h(x) = a
xb + c
x2 , según la cual,
se pretenden obtener, además de las amplitudes a y c, el valor del exponente b, que naturalmente
debe ser compatible con el valor η = 0, 25 dado por la solución de Onsager. Los datos obtenidos
haciendo el test de Lmı́n con esta tercera función son los siguientes:
Lmin 8 16 32 64 128
χ2
4,47 4,45 4,45 4,45 4,09
G.L. 5 4 3 2 1
p − value 0,48 0,35 0,22 0,11 0,043
a 1,0900 1,0903 1,0902 1,0902 1,092
∆(a) 0,0016 0,0025 0,0043 0,0086 0,022
δa 0,14 % 0,23 % 0,40 % 0,79 % 2,00 %
c -0,087 -0,12 -0,112 -0,12 -0,11
∆(c) 0,046 0,21 1,00 4,95 31,05
δc 53,12 % 185,1 % 867,2 % 4.306 % 2,706 ·104
%
b 0,24957 0,24961 0,24960 0,2496 0,2499
∆(b) 0,00029 0,00043 0,00069 0,0013 0,0031
δb 0,11 % 0,17 % 0,28 % 0,52 % 1,24 %
Barras(b) 1,50 0,91 0,57 0,30 0,038
Tabla 21: Datos del tercer ajuste para el cálculo de η
7.3. Cálculo de β
ν
a partir de  |m| 
Como segundo ejercicio, vamos a estudiar la dependencia de |m| con L, (como ya hemos co-
mentado, en esta parte de la práctica todos ellos son muy parecidos). La relación entre ambas
magnitudes en este caso viene dada por la expresión:
 |m|  (L) ≈
e1
(L
β
ν )
+ ... (22)
Se puede por tanto hacer un ajuste de nuestros datos experimentales de  |m|  frente a L a
una función del tipo f(x) = a
bx . Según esta función, a será la amplitud que hemos llamado e1 y b
será el cociente entre los exponentes crı́ticos β/ν, cuyo valor teórico es de 1
8 , pues β = 1
8 para el
modelo de Ising en dos dimensiones y ν = 1 según la solución de Onsager.
Aquı́ mostramos la representación gráfica del ajuste:
22
Figura 16: Ajuste de  |m|  frente a L
Y aquı́, los datos cuantitativos asociados al mismo:
Lmin χ2
G.L. p − value e ± ∆(e) δ(e) β/ν ± ∆(β/ν) δ(β/ν) Barras(β/ν)
8 5,07 6 0,53 1,00785 ± 0,00046 0,046 % 0,12469 ± 0,00011 0,086 % -2,82
16 5,04 5 0,41 1,00795 ± 0,00075 0,075 % 0,12470 ± 0,00016 0,13 % -1,88
32 4,97 4 0,29 1,0082 ± 0,0012 0,12 % 0,12474 ± 0,00023 0,19 % -1,13
64 4,87 3 0,18 1,0085 ± 0,0019 0,19 % 0,12480 ± 0,00035 0,28 % -0,57
128 4,49 2 0,11 1,0096 ± 0,0035 0,35 % 0,12498 ± 0,00059 0,48 % -0,034
256 4,47 1 0,035 1,0100 ± 0,0085 0,84 % 0,1250 ± 0,0014 1,09 % 0
Tabla 22: Datos del primer ajuste para el cálculo de β
ν
Al igual que pasaba en el ejercicio anterior, disponemos de una segunda manera para realizar
este ajuste de forma satisfactoria. Esta se basa en el hecho de que la aproximación  |m| ≈
√
 m2  funciona razonablemente bien en las proximidades del punto crı́tico, con lo que podemos
tomar la raı́z cuadrada a ambos lados de la expresión (21) que relaciona  m2
 con L ası́ para
obtener la dependencia de  |m|  con L que buscamos:
 |m|  (L) ≈
p
 m2  (L) =
s
a1
(L1/4)
· [1 +
d1
(L1,75)
] ≈
e1
(L1/8)
+
e1
(L15/8)
(23)
Con ello, vamos a hacer un segundo test de Lmı́n de nuestros datos de  |m| , esta vez a una
función f(x) = e
Lb + s
L15/8 , con el cual esperamos obtener, además de los valores de las amplitudes
e y s, el del exponente b, cuyo resultado debe ser compatible con β
ν = 1
8 . Los resultados obtenidos
al reealizar este ajuste son:
Lmin 8 16 32 64 128
χ2
5,01 5,00 4,95 4,86 4,49
G.L. 5 4 3 2 1
p − value 0,42 0,29 0,18 0,088 0,034
e 1,00807 1,0080 1,0082 1,0085 1,010
∆e 0,00097 0,0016 0,0027 0,0052 0,013
δe 0,096 % 0,16 % 0,26 % 0,52 % 1,31 %
s -0,00752 -0,00753 -0,00753 -0,00754 -0,00754
∆s 0,029 0,13 0,62 3,02 18,76
δs 53,12 % 185,1 % 867,2 % 4.306 % 2.706 ·104
%
b 0,24957 0,24961 0,24960 0,2496 0,2499
∆b 0,00029 0,00043 0,00069 0,0013 0,0031
δb 0,11 % 0,17 % 0,28 % 0,52 % 1,24 %
Barrasb 1,50 0,91 0,57 0,30 0,038
Tabla 23: Datos del segundo ajuste para el cálculo de β
ν
23
7.4. Estudio del calor especı́fico
Veamos ahora el comportamiento del calor especı́fico para un sistema de tamaño L = ∞ en las
cercanı́as del punto crı́tico:
Cv(L) = a1 · log(L) + b1 +
c1
L
+ ... (24)
Con lo cual, en este caso podremos ajustar los valores experimentales del calor especı́fico del
archivo ising2dFSS.dat, a una función: h(x) = c · log(x) + d + q
x , para la cual, los términos c, d
y d se corresponden respectivamente con los parámetros a1, b1 y c1 de la expresión (24).
Empezamos viendo la representación gráfica de dicho ajuste:
Figura 17: Ajuste de Cv frente a L
Y tras ella, vemos los datos numéricos asociados al ajuste:
Lmin 8 16 32 64 128
χ2
2,99 2,18 1,97 1,95 1,77
G.L. 5 4 3 2 1
p − value 0,70 0,70 0,58 0,38 0,18
c 2,5330 2,521 2,531 2,535 2,57
∆c 0,0091 0,013 0,023 0,048 0,13
δc 0,36 % 0,53 % 0,90 % 1,88 % 4,87 %
d 0,772 0,840 0,78 0,75 0,51 ·10−3
∆d 0,044 0,073 0,14 0,31 0,86
δd 5,73 % 8,64 % 17,47 % 40,82 % 168,3 %
q -1,10 -1,84 -0,68 0,13 10,7
∆q 0,23 0,65 2,12 7,67 34,3
δq 21,05 % 35,1 % 309,3 % 5.909 % 320,5 %
Tabla 24: Ajuste del calor especı́fico
7.5. Análisis dimensional de L y ξ
Este nuevo ejercicio tiene como objetivo llevar a cabo un análisis dimensional para compro-
bar que L (la longitud del lado del retı́culo) y ξ (la longitud de correlación) crecen de manera
proporcional, lo cual es lo que deberı́a ocurrir ya que ambas magnitudes son longitudes.
En las proximidades del punto crı́tico, la relación que hay entre ambas es:
ξ(L) = L · Fξ(0) + ... (25)
De entrada sabemos que la expresión anterior al menos tiene sentido dimensional, pues el
crecimiento de ξ es lineal con L tal y como habı́amos predicho y viene dado por una cierta amplitud
Fξ(0).
24
Podemos hacer por tanto un test de Lmı́n ajustando los datos experimentales de ξ de nuestro
fichero ising2dFSS.dat a una función f(x) = a · x, según la cual a coincidirá con el valor que se
obtenga para Fξ(0).
Lmin χ2
G.L. p − value a ± ∆(a) δ(a)
8 223,53 7 0 0,9104 ± 0,0027 0,29 %
16 12,07 6 0,060 0,90709 ± 0,00075 0,082 %
32 4,60 5 0,47 0,90645 ± 0,00055 0,061 %
64 3,75 4 0,44 0,90618 ± 0,00062 0,069 %
128 3,75 3 0,29 0,90620 ± 0,00082 0,091 %
256 3,72 2 0,16 0,9063 ± 0,0012 0,13 %
512 1,76 1 0,18 0,9053 ± 0,0014 0,16 %
Tabla 25: Datos del primer ajuste de ξ frente a L
Sin embargo, aquı́ también existe una segunda opción para realizar este ajuste, la cual además
es más exacta. Esta va a consistir en considerar correcciones de un orden mayor en la expresión
(25), tal que:
ξ(L) = L · Fξ(0) +
Fξ(1)
L1,75
(26)
Esto posibilitará ajustar nuestros datos a una nueva función h(x) = c · x + d
(x1,75) , haciendo un
segundo test de Lmı́n. Pero antes veamos, como siempre, la gráfica de dicho ajuste:
Figura 18: Ajuste de ξ frente a L
Y ahora ya sı́, los datos numéricos del mismo:
Lmin χ dof p-value c+∆(c) δ(c) d+∆(d) δ(d)
8 4,96 6 0,55 0,90653 +- 0,00049 0,054 % 5,58 +- 0,34 6,15 %
16 4,03 5 0,54 0,90629 +- 0,00054 0,059 % 8,41 +- 2,66 31,67 %
32 3,78 4 0,44 0,90614 +- 0,00065 0,072 % 18,65 +- 20,07 107,6 %
64 3,77 3 0,29 0,90613 +- 0,00087 0,096 % 18,65 +- 163,6 877,1 %
128 3,75 2 0,15 0,9062 +- 0,0013 0,14 % 18,65 +- 1.514 8.121 %
256 3,72 1 0,054 0,9063 +- 0,0023 0,26 % 18,65 +- 1,57*104 8,43*104 %
Tabla 26: Datos del segundo ajuste de ξ frente a L
7.6. Cálculo de ν a partir de ξ0
La siguiente magnitud que vamos a tratar de estimar va a ser el exponente crı́tico ν y para ello
realizaremos un ajuste de ξ0
frente a L. Esta magnitud es la que ising2d.c llama ”xi”’ y consiste
en la derivada de la longitud de correlación ξ con respecto a k.
En las proximidades del punto crı́tico, la dependencia de ξ0
con L viene dada por la siguiente
expresión:
25
ξ0
(L) = L1+ 1
ν · F0
ξ(0) + ... (27)
La cual nos sugiere ajustar los datos experimentales de ξ0
a una función f(x) = a · xb
, donde
a será la amplitud F0
ξ(0) y b será el exponente 1 + 1
ν . El valor teórico que toma este último es 2,
pues ν = 1 según la solución de Onsager. Ası́, al realizar este nuevo ajuste, se espera obtener que
b resulte compatible con 2.
Como en todos los casos anteriores, empezamos viendo cómo queda la gráfica tras realizar el
ajuste:
Figura 19: Ajuste de  m2
 frente a L
Y a continuación, todos los datos relevantes en el estudio del test Lmı́n:
Lmin χ2
G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b)
8 2,19 6 0,90 1,496 ± 0,026 1,73 % 1,9876 ± 0,0039 0,19 % -3,18
16 0,12 5 0,9997 1,4388 ± 0,0089 0,62 % 1,9949 ± 0,0013 0,064 % -3,92
32 0,040 4 0,9998 1,4248 ± 0,0074 0,52 % 1,9966 ± 0,0010 0,050 % -3,4
64 0,018 3 0,9994 1,4131 ± 0,0083 0,59 % 1,9980 ± 0,0011 0,052 % -1,82
128 0,016 2 0,99 1,408 ± 0,017 1,20 % 1,9987 ± 0.0020 0,10 % -0,65
256 0,011 1 0,92 1,391 ± 0,029 2,08 % 2,0005 ± 0,0033 0,17 % 0,15
Tabla 27: Cálculo de η
7.7. La densidad espectral
A continuación, vamos a aplicar el método de la densidad espectral, cuyo objetivo es extrapolar
los valores de las magnitudes medidas en un punto (en este caso kc) con el objetivo de hacerlos
válidos en un entorno cercano a dicho punto.
Lo primero que tenemos que hacer es ir siguiendo las indicaciones del guion, que nos van a
explicar cómo obtener los datos que necesitamos para esta parte de la práctica. Estos datos, se
nos van a generan en unas carpetas etiquetadas desde L = 8 hasta L = 512 incluı́do. Los datos
que hemos obtenido, representan para cada L, los valores que toman las distintas magnitudes
con las que hemos estado trabajando a lo largo de toda la práctica (energı́a, magnetización, calor
especı́fico...) en un entorno más grande o más pequeño de k en torno a kc . Este intervalo es
diferente para cada L y va disminuyendo conforme aumenta el tamaño del sistema, pero en ningún
caso se separa más de 0,10 unidades de kc.
Los datos que se han obtenido por el método de la densidad espectral para los distintos L y k
son en general notoriamente diferentes de los que utilizamos en los apartados de Valores Medios
y Lı́mite Termodinámico para esos mismos L y unos valores de k cercanos. La única excepción se
da en L = 8, por ello el guion nos sugiere hacer una comparación entre los datos que calculamos
para L = 8 en Valores Medios y Lı́mite Termodinámico con los que se han generado en esta última
simulación y representarlos en el entorno de kc en el que estos últimos han sido evaluados.
Por lo tanto, el objetivo será pedirle a gnuplot que represente superpuestos los datos de los
archivos antiguo y nuevo para L = 8, prestando atención a las columnas que con las que le
26
indicamos trabajar, porque la misma magnitud, en uno y otro archivo, ocupa columnas distintas.
Concretamente, las magnitudes con las que vamos a trabajar van a ser la energı́a E, el calor
especı́fico Cv y la susceptibilidad conexa χc. Mostramos a continuación sus gráficas:
Figura 20: Comparación de los valores de E para L = 8
Figura 21: Comparación de los valores de Cv para L = 8
Figura 22: Comparación de los valores de χc para L = 8
7.8. Representación de la función de escala
En nuestro último ejercicio de la práctica vamos a representar la llamada función de escala Fx.
Esta función relaciona la susceptibilidad conexa χc con L en las cercanı́as del punto crı́tico por
medio de la siguiente expresión:
27
χc(L) = L
γ
ν · Fx[L
1
ν · (k − kc)] + ... (28)
Para hacer la representación, vamos a empezar despejando Fx en el miembro derecho:
χc(L)
L
γ
ν
= Fx[L
1
ν · (k − kc)] + ... (29)
Esta segunda expresión nos sugiere ajustar el cociente χc(L)
L
γ
ν
frente al producto L
1
ν · (k − kc)
para obtener la gráfica de la función de escala. Cabe destacar que para este ejercicio, a diferencia
de lo que pasaba en el anterior, trabajaremos con todos los L y no sólo con L = 8.
La idea va a ser utilizar los datos de χc de los diferentes archivos generados en la última
simulación, y para calcular cada cociente χc(L)
L
γ
ν
, dividir los valores de los χc de estos archivos entre
L
γ
ν utilizando el L correspondiente en cada caso.
De esta forma, conseguiremos que las gráficas de las funciones de escala de todos los L colapsen
a una misma curva, al menos durante un pequeño intervalo k − kc centrado en el origen (una
desviación pequeña con respecto al punto crı́tico); pongamos por ejemplo [-0,5; 0,5]. Mostramos a
continuación la gráfica obtenida:
Figura 23: Funciones de escala para los distintos L
28

Más contenido relacionado

Similar a Modelo de Ising en dos dimensiones- Alberto Blanco García

ALFARO_Cours_00606.pdf
ALFARO_Cours_00606.pdfALFARO_Cours_00606.pdf
ALFARO_Cours_00606.pdfMatiasMerchan1
 
Metodo cualitativo de_analisis_graficos
Metodo cualitativo de_analisis_graficosMetodo cualitativo de_analisis_graficos
Metodo cualitativo de_analisis_graficosWilliam Bahoque
 
Jean chillogallo
Jean chillogalloJean chillogallo
Jean chillogallojeankjc
 
nanopdf.com_fes-vibraciones-reticulares.pdf
nanopdf.com_fes-vibraciones-reticulares.pdfnanopdf.com_fes-vibraciones-reticulares.pdf
nanopdf.com_fes-vibraciones-reticulares.pdfJulioCsarHerasSumoza
 
Función trigonométrica wikipedia, la enciclopedia libre
Función trigonométrica   wikipedia, la enciclopedia libreFunción trigonométrica   wikipedia, la enciclopedia libre
Función trigonométrica wikipedia, la enciclopedia libreLuis Elias
 
Modelando matemáticamente, el "Slinky'' en caída libre
Modelando matemáticamente, el "Slinky'' en caída libreModelando matemáticamente, el "Slinky'' en caída libre
Modelando matemáticamente, el "Slinky'' en caída libreJames Smith
 
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo Básico
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo BásicoEcuación de Euler-Lagrange: Deducción utilizando Cálculo Básico
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo Básicoguest6f168da
 
C L A S E S O B R E T E O RÍ A C UÁ N T I C A D E L Á T O M O D E H I D...
C L A S E  S O B R E  T E O RÍ A  C UÁ N T I C A  D E L Á T O M O  D E  H I D...C L A S E  S O B R E  T E O RÍ A  C UÁ N T I C A  D E L Á T O M O  D E  H I D...
C L A S E S O B R E T E O RÍ A C UÁ N T I C A D E L Á T O M O D E H I D...jaival
 

Similar a Modelo de Ising en dos dimensiones- Alberto Blanco García (20)

ALFARO_Cours_00606.pdf
ALFARO_Cours_00606.pdfALFARO_Cours_00606.pdf
ALFARO_Cours_00606.pdf
 
Alfaro cours 00606
Alfaro cours 00606Alfaro cours 00606
Alfaro cours 00606
 
Metodo cualitativo de_analisis_graficos
Metodo cualitativo de_analisis_graficosMetodo cualitativo de_analisis_graficos
Metodo cualitativo de_analisis_graficos
 
Jean chillogallo
Jean chillogalloJean chillogallo
Jean chillogallo
 
nanopdf.com_fes-vibraciones-reticulares.pdf
nanopdf.com_fes-vibraciones-reticulares.pdfnanopdf.com_fes-vibraciones-reticulares.pdf
nanopdf.com_fes-vibraciones-reticulares.pdf
 
1.3. La ecuación de Schrödinger
1.3. La ecuación de Schrödinger1.3. La ecuación de Schrödinger
1.3. La ecuación de Schrödinger
 
264exam
264exam264exam
264exam
 
Función trigonométrica wikipedia, la enciclopedia libre
Función trigonométrica   wikipedia, la enciclopedia libreFunción trigonométrica   wikipedia, la enciclopedia libre
Función trigonométrica wikipedia, la enciclopedia libre
 
Modelando matemáticamente, el "Slinky'' en caída libre
Modelando matemáticamente, el "Slinky'' en caída libreModelando matemáticamente, el "Slinky'' en caída libre
Modelando matemáticamente, el "Slinky'' en caída libre
 
Hamilton Lagrange
Hamilton LagrangeHamilton Lagrange
Hamilton Lagrange
 
Fase1 g31
Fase1 g31Fase1 g31
Fase1 g31
 
Probabilidad
ProbabilidadProbabilidad
Probabilidad
 
6ta guia resueltos
6ta guia resueltos6ta guia resueltos
6ta guia resueltos
 
Funcion
FuncionFuncion
Funcion
 
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo Básico
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo BásicoEcuación de Euler-Lagrange: Deducción utilizando Cálculo Básico
Ecuación de Euler-Lagrange: Deducción utilizando Cálculo Básico
 
Ecuaciones def sistema
Ecuaciones def sistemaEcuaciones def sistema
Ecuaciones def sistema
 
Analisis grafico
Analisis graficoAnalisis grafico
Analisis grafico
 
mecanica cuantica 2
mecanica cuantica 2mecanica cuantica 2
mecanica cuantica 2
 
Numeroscuanticos.pdf
Numeroscuanticos.pdfNumeroscuanticos.pdf
Numeroscuanticos.pdf
 
C L A S E S O B R E T E O RÍ A C UÁ N T I C A D E L Á T O M O D E H I D...
C L A S E  S O B R E  T E O RÍ A  C UÁ N T I C A  D E L Á T O M O  D E  H I D...C L A S E  S O B R E  T E O RÍ A  C UÁ N T I C A  D E L Á T O M O  D E  H I D...
C L A S E S O B R E T E O RÍ A C UÁ N T I C A D E L Á T O M O D E H I D...
 

Último

Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdffrank0071
 
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...GloriaMeza12
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)s.calleja
 
SESIÓN DE APRENDIZAJE N° 5 SEMANA 7 CYT I BIMESTRE ESTUDIANTES.pdf
SESIÓN DE APRENDIZAJE N° 5  SEMANA 7 CYT  I BIMESTRE ESTUDIANTES.pdfSESIÓN DE APRENDIZAJE N° 5  SEMANA 7 CYT  I BIMESTRE ESTUDIANTES.pdf
SESIÓN DE APRENDIZAJE N° 5 SEMANA 7 CYT I BIMESTRE ESTUDIANTES.pdfkevingblassespinalor
 
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaDiapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaAgustin535878
 
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdfvguadarramaespinal
 
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoArturoDavilaObando
 
Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxlm24028
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxErichManriqueCastill
 
Vectores y operaciones con vectores, producto interno y vectorial de vectores...
Vectores y operaciones con vectores, producto interno y vectorial de vectores...Vectores y operaciones con vectores, producto interno y vectorial de vectores...
Vectores y operaciones con vectores, producto interno y vectorial de vectores...ErichManriqueCastill
 
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfDESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfssuser6a4120
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxSergioSanto4
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionMarcoAntonioJimenez14
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...ocanajuanpablo0
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -FridaDesiredMenesesF
 
Centro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxCentro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxErichManriqueCastill
 
Harvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdfHarvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdffrank0071
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdffrank0071
 
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptxEXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptxJhonFonseca16
 
Generalidades de Morfología y del aparato musculoesquelético.pdf
Generalidades de Morfología y del aparato musculoesquelético.pdfGeneralidades de Morfología y del aparato musculoesquelético.pdf
Generalidades de Morfología y del aparato musculoesquelético.pdfJosefinaRojas27
 

Último (20)

Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
 
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
Sistema Endocrino, rol de los receptores hormonales, hormonas circulantes y l...
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
 
SESIÓN DE APRENDIZAJE N° 5 SEMANA 7 CYT I BIMESTRE ESTUDIANTES.pdf
SESIÓN DE APRENDIZAJE N° 5  SEMANA 7 CYT  I BIMESTRE ESTUDIANTES.pdfSESIÓN DE APRENDIZAJE N° 5  SEMANA 7 CYT  I BIMESTRE ESTUDIANTES.pdf
SESIÓN DE APRENDIZAJE N° 5 SEMANA 7 CYT I BIMESTRE ESTUDIANTES.pdf
 
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundariaDiapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
Diapositiva sobre el conflicto de Israel - Palestina para nivel secundaria
 
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
4.-ENLACE-QUÍMICO.-LIBRO-PRINCIPAL (1).pdf
 
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
 
Teoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptxTeoría de usos y gratificaciones 2024.pptx
Teoría de usos y gratificaciones 2024.pptx
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptx
 
Vectores y operaciones con vectores, producto interno y vectorial de vectores...
Vectores y operaciones con vectores, producto interno y vectorial de vectores...Vectores y operaciones con vectores, producto interno y vectorial de vectores...
Vectores y operaciones con vectores, producto interno y vectorial de vectores...
 
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdfDESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
DESPOTISMO ILUSTRADOO - copia - copia - copia - copia.pdf
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptx
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracion
 
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
PARES CRANEALES. ORIGEN REAL Y APARENTE, TRAYECTO E INERVACIÓN. CLASIFICACIÓN...
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -
 
Centro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptxCentro de masa, centro de gravedad y equilibrio.pptx
Centro de masa, centro de gravedad y equilibrio.pptx
 
Harvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdfHarvey, David. - Paris capital de la modernidad [2008].pdf
Harvey, David. - Paris capital de la modernidad [2008].pdf
 
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdfHolland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
Holland, Tom - Milenio. El fin del mundo y el origen del cristianismo [2010].pdf
 
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptxEXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
 
Generalidades de Morfología y del aparato musculoesquelético.pdf
Generalidades de Morfología y del aparato musculoesquelético.pdfGeneralidades de Morfología y del aparato musculoesquelético.pdf
Generalidades de Morfología y del aparato musculoesquelético.pdf
 

Modelo de Ising en dos dimensiones- Alberto Blanco García

  • 1. Modelo de Ising en dos dimensiones Alberto Blanco Garcı́a 1. Introducción al modelo de Ising en dos dimensiones El modelo de Ising tiene como objetivo estudiar la interacción y el comportamiento de los sis- temas magnéticos en función de la temperatura. Es importante comenzar remarcando la diferencia entre sistema magnético y cristal magnético, pues ”sistema magnético” es un concepto más general en el que se engloban muchos tipos de sistemas distintos mientras que ”cristal magnético” es sólo uno de los tipos de sistemas a los que hace referencia el concepto anterior. Se entiende por sistema magnético todo aquel sistema que viene descrito por un Hamiltoniano H que presenta un término que da cuenta de su carácter magnético: Hmagn. Los cristales, como sabemos, son unos sistemas caracterizados por una estructura muy ordenada y una movilidad muy reducida por parte de sus constituyentes. Por lo que son sistemas que presentan un comportamiento cinético nulo o muy pobre en sus Hamiltonianos: Hcin. Existen también sistemas magnéticos en estado lı́quido o gaseoso, y en ellos Hcin tiene una contribución importante al Hamiltoniano total. Ni que decir tiene que por la gran movilidad y desorden que caracteriza a estos sistemas, son muchos más difı́ciles de estudiar que los cristales magnéticos, por lo que nuestro estudio sobre el modelo de Ising se va a ubicar dentro de estos últimos. Para el estudio del modelo de Ising en dos dimensiones, tenemos que pensar en una red bidi- mensional cuadrada. En cada uno de los nodos de esta red se ubica un dipolo magnético que viene caracterizado por un momento dipolar magnético µi, o equivalentemente, un momento angular de spin si. Estas magnitudes pueden tomar valores discretos o continuos en función de las condiciones del problema, pero en este caso, por simplicidad, admitiremos que sus únicos valores posibles son: si=±1. En este tipo de sistemas, cada partı́cula posee un comportamiento magnético que puede tener dos orı́genes distintos. En primer lugar, puede ser debido a la acción de un campo magnético externo B, que actúa sobre la posición de cada una de estas partı́culas ri, tomando valores B(ri). Por otro lado, también puede existir un comportamiento magnético que tiene su origen en la interacción de unos spines con otros. Esto es debido a que cada sj genera un campo magnético que puede afectar al resto de partı́culas, caracterizadas por un si diferente. Este campo magnético generado por cada spin sj es proporcional al propio sj multiplicado por una función que depende de la distancia entre si y sj: f(|ri − rj|). Concretamente esta función se comporta aproximadamente como f ∝|ri − rj| −3 . A consecuencia de estas dos interacciones, el Hamiltoniano total del sistema se representa como: H = − N X i si · B(ri) − N X i,j si · sj · f(|ri − rj|) (1) Por simplicidad, se puede admitir que este campo magnético actúa exclusivamente sobre la dirección z, con lo cuál desaparecerá el producto escalar con si del primer sumando y quedará un Bz que puede salir del sumatorio. Además, a partir de ahora, la interacción entre partı́culas vendrá dada por el término Jij, con lo que: H = −Bz · N X i si − N X i,j si · sj · Jij (2) Como puede verse, este Hamiltoniano tiene una parte ideal (el primer sumando) y una parte no ideal (el segundo sumando). La parte no ideal del Hamiltoniano es con mucha diferencia la más difı́cil de estudiar; por un lado porque presenta N·(N−1) 2 términos por los N términos que presenta la parte ideal y en segundo lugar porque en la parte no ideal hay que tener en cuenta las 1
  • 2. interacciones de cada una de las partı́culas del sistema con todas las demás y cualquier mı́nimo cambio en la posición de una sola de ellas puede afectar en mayor o menor medida al resto. De este modo, resolver de forma exacta este Hamiltoniano serı́a un trabajo absolutamente inabordable que el mejor de los ordenadores de hoy en dı́a tardarı́a un tiempo igual a cientos de veces la edad del Universo en completar, por eso hay que buscar algún método para simplificar el estudio. Este método va a consistir en admitir que la interacción Jij actúa sólo a primeros vecinos, lo cual parece una aproximación razonable teniendo en cuenta que la función f(|ri − rj|) decae muy rápido con la distancia entre partı́culas. Al tratarse de una red bidimensional cuadrada, cada partı́cula tiene cuatro primeros vecinos (el de arriba, el de abajo, el de la izquierda y el de la derecha), con lo que esta interacción exclusivamente a primeros vecinos se representa en el Hamiltoniano como: H = −Bz · N X i si − 4N X <i,j> si · sj · Jij (3) Este es el Hamiltonio final con el que trabajaremos a lo largo de esta práctica y a partir del cual estudiaremos los distintos resultados y magnitudes fı́sicas que iremos viendo. 2. Formalismo de la matriz de transeferencia Una vez que ya conocemos el Hamiltoniano del sistema, vamos a ver una forma de llegar, a partir de él, a muchas de las más magnitudes fı́sicas que vamos a estudiar en esta práctica. El paso intermedio entre la obtención del Hamiltonio y de estas magnitudes es el cálculo de la función de partición del sistema: Z = P Conf. e−β·H . Para llevar esto a cabo, vamos a explicar el formalismo de la matriz de transferencia. Para mayor simplicidad, lo veremos aplicado para el modelo de Ising en una dimensión, pero los resultados y conclusiones son perfectamente extrapolables a más dimensiones. En primer lugar, hay que empezar escribiendo el Hamiltoniano del sistema que queremos estu- diar. En este caso, por tratarse del modelo unidimensional, las partı́culas están dispuestas en fila a lo largo de una dirección determinada. Seguiremos considerando que sólo hay interacción entre primeros vecinos, por lo que cada spin si sólo interactúa con el que tiene delante si+1 y con el que tiene detrás si−1. Además, vamos a considerar condiciones de contorno periódicas; esto significa que el primer spin de la fila s0 y el último sN , son en realidad el mismo (la cadena se ha doblado formando una circunferencia) y este interacciona con s1 y sN−1 Con estas ideas, el Hamiltoniano que tenemos es: H = −Bz · N−1 X i=0 si − J · N−1 X i=0 si · si+1 (4) Como podemos ver, también se ha admitido que la interacción entre partı́culas Jij es la misma en todos los casos y ha sido sustituida por una J común que sale fuera del sumatorio. Con este Hamiltonio, nuestra función de partición queda: Z = X Conf. e−βH = X si=±1 eβJ·(s0s1+s1s2+s2s3+...)+βB·(s0+s1+s2+...) (5) Esta expresión de puede reformular descomponiendo Z en factores en los que sólo aparecen primeros vecinos: Z = X si=±1 eβJs0s1+βB·(s0+s1)/2 · eβJs1s2+βB·(s1+s2)/2 · (...) (6) Cada una de estas exponenciales se puede representar como un elemento de matriz Ti,i+1, cuya expresión es: Ti,i+1 = eβJsisi+1+βB·(si+si+1)/2 (7) Con lo que la función de partición queda: Z = X si=±1 T01 · T12 · T23 · (...) (8) 2
  • 3. Sin embargo, teniendo en cuenta que el valor de cada uno de los spines puede ser +1 ó -1, en realidad, de cada uno de estos términos Ti,i+1 salen cuatro elementos diferentes, que se pueden representar de forma matricial: Tsi,si+1 = Tsi=1,si+1=1 Tsi=1,si+1=−1 Tsi=−1,si+1=1 Tsi=−1,si+1=−1 = eβ·(J+B) e−(βJ) e−(βJ) eβ·(J−B) (9) Como todos los spines del sistema toman únicamente los valores +1 ó -1, todas las matrices Tsi,si+1 son iguales, ası́ que la función de partición se va a poder escribir como una matriz genérica T elevada a N. Teniendo en cuenta que hay que hacer una suma sobre todas las diferentes con- figuraciones posibles del sistema, la función de partición se puede expresar sencillamente como la suma de los autovalores λi de la matriz T elevados a N, es decir: Z = X si=±1 TN si,si+1 = tr(TN ) = X i λN i (10) Vemos por tanto, la gran utilidad del formalismo de la matriz de transferencia. Aunque aquı́ lo estemos evaluando para un ejemplo muy concreto, es muy útil para el estudio de sistemas cuya función de partición se puede expresar por medio de un producto matricial. Permite calcular esta función de partición de una forma muy sencilla a partir de una suma de los autovalores de la matriz T, en lugar de tener que hacer una suma a todas las posibles configuraciones del sistema del tipo Z = P Conf. e−βH . De hecho, muchas veces es aún más sencillo, pues en el lı́mite termodinámico, con calcular sólo el mayor de estos autovalores, será suficiente. Si llamamos a los autovalores de T: λ0, λ1, λ2... en orden de mayor a menor, en el lı́mite termodinámico se tiene: lı́m N→∞ Z = lı́m N→∞ X i λN i = lı́m N→∞ λN 0 · (1 + ( λ1 λ0 )N + ( λ2 λ0 )N + ...) ≈ λN 0 (11) Ası́, en el lı́mite termodinámico, el cálculo de la función de partición se reduce a obtener el mayor autovalor de la matriz de transferencia y elevarlo a N. Cada sistema tendrá su propia matriz de transferencia con unas dimensiones y unos autovalores diferentes; en este caso, al tratarse de matrices 2x2, sólo habrá dos autovalores, cuyas expresiones son: λ± = eβJ · cosh(βB) ± q e2βJ · senh2(βB) + e−2βJ (12) Con lo cual, para el modelo de Ising en una dimensión, la función de partición en el lı́mite termodinámico es: Z = λN + (13) Y como sabemos, la función de partición es mucho más que una mera constante de normalización de la distribución de probabilidad de ocupación de los estados del sistema, ya que a partir de ella se pueden obtener muchas magnitudes fı́sicas. Algunos ejemplos son la energı́a libre de Helmholtz F o la imanación M: F = −KBT · ln(Z) = −KBT · ln(λN + ) = −KBTN · ln(λ+) (14) M = KBT · ∂ln(Z) ∂B = KBT · ∂ln(λN + ) ∂B = KBTN · ∂ln(λ+) ∂B (15) Otra magnitud interesante es la longitud de correlación entre partı́culas ξ, que se puede calcular a partir de los autovalores de la matriz de transferencia. Para el ejemplo que estamos viendo: ξ = 1 ln(λ+ λ− ) (16) Estas magnitudes, obtenidas a partir de la función de partición, y muchas otras más se irán estudiando en detalle a lo largo de la práctica, por eso es importante saber de dónde salen muchas de las expresiones con las que vamos a trabajar y cómo el formalismo de la matriz de transferencia establece un camino sencillo de llegar hasta ellas. 3
  • 4. 3. Presentación del trabajo Ahora que ya hemos sabemos qué es exactamente el modelo de Ising y hemos visto algo de su contenido fı́sico, vamos a hacer una breve presentación de la práctica explicando sus objetivos y sus aspectos informáticos. Esta se divide en cuatro apartados: Tiempos de Autocorrelación, Valores Medios, Lı́mite Termodinámico y Finite-Size Scaling (FSS para abreviar). En cada uno de ellos habrá que hacer una serie de ejercicios y obtener una serie de resultados realizando simulaciones en Linux por medio de los programas que se nos han proporcionado en el Campus Virtual. No obstante, para poder realizar todos ellos de manera eficiente, hay que haber estudiado y comprendido muy bien toda la explicación teórica sobre el modelo de Ising, para ası́ tener una idea clara de lo que se está haciendo. Todos los ejercicios van a seguir, en general, un guion similar: se empezará explicando cuál es su objetivo (qué es lo que desea estudiar o qué resultado se pretende obtener) y se mostran los detalles fı́sicos y matemáticos de cómo llegar hasta él. Tras ello se verá cómo llevar estos razonamientos al terreno de la informática y cuáles son los distintos pasos que hay que dar con ayuda del ordenador para poder contestar a todas las preguntas que se nos hagan. En muchos de estos ejercicios, los resultados se representarán a modo de tablas y gráficas, las cuales se irán mostrando y explicando a lo largo del trabajo; al menos las más importantes, para no acabar teniendo un informe excesivamente largo. Se trata por tanto de una práctica muy completa en la que hay que combinar la destreza informática con los conocimientos fı́sicos y matemáticos sobre el modelo de Ising en dos dimensiones (entendido como una red cuadrada). Ası́, una vez vista toda esta introducción sobre el modelo de Ising y los objetivos de la práctica, comencemos con la primera parte del trabajo: los Tiempos de Autocorrelación. 4. Tiempos de autocorrelación El objetivo de esta sección es estimar, calcular y trabajar con el tiempo de autocorrelación que presenta el sistema en distintas circunstancias. Se conoce como tiempo de autocorrelación el tiempo caracterı́stico que tarda el sistema en termalizarse, o dicho de otro modo, en llegar al equilibrio. Efectivamente, hablamos de ”distintos tiempos de autocorrelación” y no de uno solo porque este puede ser calculado para un mismo sistema en condiciones muy variadas y obtenerse resultados diferentes tal y como veremos a continuación. Cabe destacar que el tiempo que tarda un sistema en alcanzar el equilibrio suele ser del orden de una fracción de segundo, la cual será más grande o más pequeña dependiendo del problema, pero siempre estaremos hablando de un lapso de tiempo instantáneo. La única excepción se da, como veremos más adelante, en el punto crı́tico, en el cual, este tiempo se hace mucho mayor y puede llegar a durar varias horas o incluso dı́as. Método visual En nuestro primer ejercicio, vamos a hacer una estimación de manera visual de los tiempos de autocorrelación del sistema con la ayuda del programa ising2d.c. Este funciona con cinco argumentos de entrada: L: es la longitud del lado del sistema. Los sistemas que estudiaremos serán retı́culos cuadrados cuyo lado es siempre una potencia de base 2 con exponente mayor o igual que 3. Ası́, los valores que puede tomar la longitud son L = 8, 16, 32, 64... k: es el cociente adimensional entre la energı́a de interacción de las partı́culas J y la energı́a térmica del sistema KBT. Su valor irá variando en función del ejercicio que vayamos a hacer, pero en general tomará valores cercanos al que presenta en el punto crı́tico: k = kc = 1 2 ln(1 + √ 2) ≈ 0, 4406868. La parte de FSS está dedicada enteramente al estudio del sistema en k = kc; veremos que el sistema presenta propiedades muy singulares en ese punto. nbloques y lbloque: estos dos parámetros de entrada tienen que ver con el funcionamiento del programa y los podemos presentar a la par porque están muy relacionados. El comando nbloques indica el número de bloques de datos que genera el programa (que son nbloques+1). Por su parte, lbloque es la longitud de cada bloque de medidas. Ası́, ising2d.c realiza un total de lbloque x nbloques medidas. 4
  • 5. ncluster: de nuevo, se trata de un comando relacionado con la forma de trabajar del software. Para esta parte de la práctica se van a utilizar dos algoritmos de simulación: el del Baño Caliente y el de Swendsen-Wang, y con ncluster le indicaremos al sistema cuál queremos que utilice en cada caso en función de si le damos el valor -1 (Baño Caliente) o 1 (Swendsen- Wang). El objetivo de estos algoritmos de simulación es simplificar el estudio del sistema reduciendo el número de posibles configuraciones del mismo. Para ello, se aporta a cada configuración un peso estadı́stico más grande o más pequeño en función de lo probable que sea obtener dicha configuración, haciendo que aquellas que son más improbables tengan un peso estadı́stico prácticamente nulo. Para cada conjunto de parámetros de entrada, el programa genera dos ficheros: historia.dat e historia.pdf, que quedan almacenados en la memoria del ordenador. En particular, los archivos historia.pdf consisten en unas gráficas en las que se representan la energı́a E y la imanación al cuadrado del sistema M2 a lo largo del tiempo. Y serán estas gráficas las que nos ayuden a estimar de forma visual si el sistema llega a termalizarse o no. Al estar trabajando con el cuadrado de la imanación, sólo podemos obtener valores positivos o nulos; de esta manera, si se obtiene un valor de M2 positivo, es porque el sistema tiene una imanación no nula (ya sea positiva o negativa) y hay un número diferente de spines apuntando en un sentido que en otro. Por su parte, los puntos en los que M2 = 0, nos indican que el sistema tiene imanación nula, es decir, que hay aproximadamente tantos spines orientados hacia arriba como hacia abajo. Para saber si el sistema se ha termalizado, simplemente tenemos que observar y contar el número de veces que el valor de M2 se hace 0 (o toma valores muy cercanos a este). Estos mı́nimos de la gráfica de M2 frente a t son estados de equilibrio y reciben el nombre de instantones. De este modo, si la gráfica con la que trabajemos en cada caso presenta un número de instantones lo suficientemente grande (pongamos 6 por fijar un valor), diremos que el sistema se ha termalizado y en caso contrario, diremos que no lo ha hecho. Este proceso debe realizarse tanto con el algoritmo del Baño Caliente como con el de Swedsen- Wang y para cada uno de ellos se tomarán distintos valores de L. Mostramos los resultados obtenidos en las siguientes tablas, en primer lugar para Baño Caliente y luego para Swendsen-Wang. En cada casilla aparece ”SÍ” en el caso de que el sistema se haya termalizado (es decir, si se han alcanzado 6 instantones o más), ”NO” si no lo ha hecho (cuando se han alcanzado menos de 6 instantones) o ”DUDOSO”, para aquellos en los que la gráfica alcanza tı́picamente entre 4 y 8 instantones. Estos últimos casos fueron repetidos varias veces obteniendose en algunas ocasiones 6 o más instantones y en otras ocaciones menos de 6 instantones. Por eso, lo mejor es presentar estos casos como ”DUDOSOS” ya que puede encontrarse tanto un resultado como el otro al ejecutar la simulación en esas condiciones. L lbloque = 100 lbloque = 1,000 lbloque = 1,0000 16 NO DUDOSO SÍ 32 NO NO SÍ 64 NO NO SÍ 128 NO NO NO 256 NO NO NO Tabla 1: Estimación gráfica de los tiempos de autocorrelación - Baño Caliente L lbloque = 10 lbloque = 100 lbloque = 1,000 lbloque = 10,000 16 NO DUDOSO SÍ SÍ 32 NO DUDOSO SÍ SÍ 64 NO DUDOSO SÍ SÍ 128 NO NO SÍ SÍ 256 NO NO SÍ SÍ 512 NO DUDOSO SÍ SÍ Tabla 2: Estimación gráfica de los tiempos de autocorrelación - Swendsen-Wang 5
  • 6. Método cuantitativo Este segundo método es mucho más objetivo y riguroso desde el punto de vista cientı́fico que el anterior, pues que está basado en el manejo de datos cuantitativos. Esto permitirá obtener unos resultados numéricos, en general muy fiables, para los tiempos que tarda el sistema en termalizarse, en lugar de tan solo poder estimar si lo ha hecho o no, como pasaba en el apartado anterior. La forma de proceder al principio es la misma que antes: se empieza usando el programa isind2d.c introduciéndose los cinco argumentos de entrada correspondientes a cada situación que se quiera estudiar. Pero en este caso no acaba aquı́ el trabajo, pues ahora hay que utilizar un segundo programa: anacor.c. Este utiliza un único argumento de entrada: distancia-máxima, gracias al cual se van a poder calcular los tiempos de autocorrelación de tres magnitudes: la energı́a E, magnetización al cuadrado M2 y una tercera magnitud F relacionada con la transformada de Fourier. El parámetro distancia-máxima tiene que ser al menos 6 veces superior al mayor de los tres tiempos de autocorrelación proporcionados por el programa, de lo contrario no podrá calcular estos datos; pero aún ası́, no conviene darle un valor demasiado grande. Es probable que haya que probar más de una vez hasta dar con su valor adecuado. No obstante, existe una manera de hacer una estimación razonable para dar con él sin ir a ciegas. En el punto crı́tico (k = kc), el tiempo de autocorrelación del sistema crece aproximadamente como τ(kc) ∝ Lz . En nuestro estudio siempre estaremos relativamente próximos al punto crı́tico y utilizaremos z ≈ 2, lo cual se traduce en que entre los valores de distancia-máxima asociados a un L y al siguiente, hay aproximadamente un factor 4. Se realizará este procedimiento repetidas veces para poder estudiar los tamaños desde L = 8 hasta L = 256 para el algoritmo del Baño Caliente y desde L = 8 hasta L = 1,024 para el de Swendsen-Wang. En primer lugar, mostramos los parámetros de entrada que se utilizaron para los programas ising2d.c y anacor.c para Baño Caliente: L 8 16 32 64 128 256 lbloque 100.000 100.000 100.000 100.000 400.000 400.000 nbloque 10 10 10 10 10 10 Distancia − máxima 40 180 760 3.600 16.000 70.000 Tabla 3: Parámetros de entrada utilizados para el algoritmo del Baño Caliente Y para Swendsen-Wang: L 8 16 32 64 128 256 512 1.024 lbloque 100.000 100.000 100.000 100.000 400.000 400.000 400.000 1.000.000 nbloque 10 10 10 10 10 10 10 10 Distancia − máxima 20 20 30 30 40 50 60 70 Tabla 4: Parámetros de entrada utilizados para el algortimo de Swendsen-Wang Con estos parámetros de entrada, se obtuvieron los siguientes resultados para los tiempos de autocorrelación. En primer lugar mostramos los de Baño Caliente: L τE ± ∆τE τM2 ± ∆τM2 τF ± ∆τF 8 4,498 ± 0,047 6,228 ± 0,077 6,556 ± 0,083 16 14,82 ± 0,28 27,35 ± 0,70 29,33 ± 0,78 32 47,24 ± 1,59 114,06 ± 5,97 123,58 ± 6,73 64 166,82 ± 5,28 534,80 ± 30,30 598,66 ± 35,88 128 706,61 ± 46,01 2.590,66 ± 323,00 2.654,81 ± 335,07 256 2.122,65 ± 239,55 7.476,86 ± 1.583,64 8.580,73 ± 1.946,99 Tabla 5: Tiempos de autocorrelación obtenidos para el algortimo del Baño Caliente Y a continuación, los de Swendsen-Wang: 6
  • 7. L τE ± ∆τE τM2 ± ∆τM2 τF ± ∆τF 8 2,549 ± 0,064 2,509 ± 0,063 1,849 ± 0,040 16 3,201 ± 0,090 3,095 ± 0,085 2,032 ± 0,046 32 4,10 ± 0,13 3,70 ± 0,11 2,125 ± 0,049 64 4,83 ± 0,17 4,26 ± 0,14 2,256 ± 0,053 128 5,80 ± 0,21 4,87 ± 0,17 2,383 ± 0,058 256 6,73 ± 0,27 5,39 ± 0,20 2,559 ± 0,064 512 8,43 ± 0,38 6,23 ± 0,24 2,577 ± 0,065 1.024 8,96 ± 0,42 6,53 ± 0,26 2,738 ± 0,071 Tabla 6: Tiempos de autocorrelación obtenidos para el algortimo de Swendsen-Wang Representación de los tiempos de autocorrelación frente al tamaño del sistema Una vez que se tienen los valores de los tiempos de autocorrelación τE, τM2 y τF (con sus correspondientes errores) para los distintos tamaños del sistema y para ambos algoritmos de si- mulación, podemos hacer una representación de estos como función de L y ajustar los datos a unas funciones de tipo f(x) = a · xb . Ya hemos comentado que en el punto crı́tico los tiempos de autocorrelación crecen aproximadamente como τ(kc) ∝ Lz ; de esta manera, al hacer estos ajustes podremos estimar los exponentes dinámicos z en función del valor que presente cada parámetro b. Se ha hecho este ajuste para ambos algoritmos de simulación por separado, representándose en cada gráfica los datos experimentales de los tiempos de autocorrelación τE y τM2 proporcionados por anacor.c y superpuestos a ellos, los ajustes de las funciones f(x). También se podrı́a haber incluı́do los tiempos de autocorrelación τF , pero sus puntos y su ajuste quedaban demasiado cerca de los de τE, dificultando ligeramente su visión e interpretación, por lo que finalmente se decidió no añadirlos. Empezamos viendo en la siguiente imagen el ajuste realizado para los tiempos de autocorrelación de la energı́a y de la imanación al cuadrado para el algoritmo del Baño Caliente: Figura 1: Ajustes de los tiempos de autocorrelación - Baño Caliente Como sabemos, cuando se está estudiando el ajuste de unos datos experimentales a una función teórica, no es suficiente con presentar la gráfica de dicho ajuste. Además de esto, hay que mostrar una serie de datos cuantitativos asociados a la gráfica que revelan hasta qué punto ha sido bueno el ajuste. Esta es una forma de proceder que nos vamos a encontrar numerosas veces a lo largo de la práctica, por ello conviene saber cuáles son los datos que tenemos que conocer tras realizar un ajuste: Número de grados de libertad (G.L.) de la gráfica: se calcula como el número de puntos representados menos el número de parámetros con los que se ha hecho el ajuste. 7
  • 8. χ2 : (o test χ2 ). Consiste en una herramienta muy útil que cuantifica cuánto difieren los datos experimentales de un ajuste del resultado teórico esperado. Lo ideal es que χ2 sea del mismo órden de magnitud que G.L.. p-value: al igual que el anterior, sirve para cuantificar cómo de cerca están los resultados experimentales a la fórmula teórica a los que se ajustan. Su valor debe encontrarse entre 0,10 y 0,90 para que el ajuste sea bueno. Valor y error que presenta cada magnitud tras realizarse el ajuste: en este caso AE + ∆(AE) y zE + ∆(zE). Barras de error de las magnitudes con las que se trabaja. Muchas veces un ajuste puede parecer bueno porque en la representación el resultado teórico casa muy bien con los datos experimentales y para los parámetros de ajuste se obtienen unos valores muy cercanos a los esperados. Pero si calculamos la variación de dichos parámetros en términos de sus barras de error, nos daremos cuenta de que esta puede ser una conclusión engañosa. Valor mı́nimo de la magnitud representada en el eje horizontal (en este caso L, es decir Lmı́n). En general, en casi todas las gráficas que vamos a estudiar, la magnitud que se representará en el eje horizontal será L ó k y en muchos casos nos pedirán hacer lo que se llama un test Lmı́n ó kmı́n según corresponda. El objetivo de estos tests será comprobar cuál es el mı́nimo valor de L ó de k para el cuál el ajuste comienza a ser fiable. Ası́, en muchas ocasiones tendremos que realizar un mismo ajuste variando únicamente el valor del L ó del k más pequeño con el que se trabaja mientras vemos cómo van cambiando los resultados de las magnitudes anteriores hasta obtener unos valores aceptables de las mismas. Dicho esto (que será de gran importancia para el resto de la práctica), los datos obtenidos para el algoritmo del Baño Caliente fueron, para el ajuste de la energı́a: Lmı́n χ2 G.L. p-value AE + ∆(AE) zE + ∆(zE) Barras(zE) 32 1,75 2 0,42 0,076 ± 0,011 1,853 ± 0,037 -3,97 Tabla 7: Datos del ajuste para los tiempos de autocorrelación de la energı́a - Baño Caliente Y para el ajuste de la imanación al cuadrado: Lmı́n χ2 G.L. p-value AM2 + ∆(AM2 ) zM2 + ∆(zM2 ) Barras(zM2 ) 8 4,26 4 0,37 0,0754 ± 0,0035 2,123 ± 0,019 6,47 Tabla 8: Datos del ajuste para los tiempos de autocorrelación de la imanación - Baño Caliente A continuación, realizamos el mismo estudio para el algoritmo de Swendsen-Wang. Comenzamos mostrando la gráfica obtenida: Figura 2: Ajustes de los tiempos de autocorrelación - Swendsen-Wang 8
  • 9. Y a continuación, del mismo modo que con Baño Caliente, los datos proporcionados por gnuplot al hacer los ajustes. En primer lugar, los de los tiempos de autocorrelación de la energı́a: Lmı́n χ2 G.L. p-value AE + ∆(AE) zE + ∆(zE) 32 2,71 4 0,61 1,815 ± 0,099 0,237 ± 0,011 Tabla 9: Datos del ajuste para los tiempos de autocorrelación de la energı́a - Swendsen-Wang Y en segundo lugar, los de los de la imanación al cuadrado: Lmı́n χ2 G.L. p-value AM2 + ∆(AM2 ) zM2 + ∆(zM2 ) 32 2,48 4 0,65 2,09 ± 0,10 0,1702 ± 0,093 Tabla 10: Datos del ajuste para los tiempos de autocorrelación de la imanación - Swendsen-Wang Estimación de los tiempos de autocorrelación exponenciales Cada vez que se ejecuta el programa anacor.c de la forma explicada en el apartado de Método Cuantitativo, se generan dos archivos de salida: autocor.dat y autocor.pdf. Este segundo archivo consta de dos gráficas en las que se representan superpuestas las funciones de correlación de la energı́a CE(t) y de la imanación al cuadrado CM2 (t) frente al tiempo t. En la primera de las gráficas se hace la representación utilizando la escala lineal en ambos ejes mientras que en la segunda se utiliza la escala logarı́tmica en el eje vertical. Con ayuda de estas gráficas se puede estimar de forma visual los tiempos de autocorrelación exponenciales de los diferentes retı́culos con los que se ha ido trabajando. Se puede llegar a estos resultados de varias maneras y en este apartado veremos dos métodos diferentes para obtener dichos tiempos, utilizando como ejemplos los retı́culos de mayor tamaño simulados con Baño Caliente y con Swendsen-Wang. Antes de nada, tenemos que tener en cuenta que las funciones de correlación de cualquier magnitud se pueden representar por medio de la expresión C(t) = PN i=1 Ai · e−t/τi ; pero para tiempos lo suficientemente grandes, el primer término del sumatorio A1 se hace muy grande frente a los demás, con lo que podemos simplificar la anterior expresión a C(t) = A·e−t/τ ; siendo A = A1 y τ = τ1. Ası́, vamos a poder ajustar los puntos experimentales de las funciones de correlación que ha calculado el programa y ha representado en los ficheros autocor.dat a unas funciones del tipo f(x) = A · e−x/t . Empezaremos haciendo un ajuste de este tipo tanto para la función de correlación de la energı́a como para la de la imanación al cuadrado para cada uno de los dos algoritmos de simulación y representándolos gráficamente. Tras ello, explicaremos cómo se pueden estimar los tiempos de autocorrelación exponenciales que se nos piden. En este caso, vamos a empezar viendo el resultado obtenido con Swendsen-Wang para el retı́culo de mayor tamaño (L = 1,024). 9
  • 10. Figura 3: Funciones de correlación frente al tiempo - Swendsen-Wang Los puntos de la función de correlación de la energı́a se han ajustado a una función f(x) = A · e−x/t y los de la imanación al cuadrado a una función g(x) = B · e−x/p , obteniéndose los resultados: A ± ∆(A) t ± ∆(t) B ± ∆(B) p ± ∆(p) 0,9706 ± 0,0040 9,237 ± 0,057 0,859 ± 0,019 7,26 ± 0,24 Tabla 11: Ajuste para las funciones de correlación - Swendsen-Wang Sin embargo, aunque gráficamente los ajustes queden muy bien, estos en realidad no son tan buenos como parecen. Esto es debido a que el programa anacor.c no proporciona errores en las medidas de las funciones de correlación, por lo que, en principio no se puede realizar un test χ2 al hacer los ajustes. Para salir de este problema se ha considerado, de manera un tanto arbitraria, que el error de los mencionadas medidas son los valores que toma cada función en cada punto multiplicados por 0,075. Se llegó a este factor tan concreto después de hacer los ajustes de las funciones varias veces para diferentes valores en el error de sus puntos experimentales y ver que gráficamente, cuando mejor salı́an los ajustes era cuando se consideraba este error. Bajo esta premisa, es como se obtuvieron los datos de la tabla anterior. Una vez explicado esto, veamos cómo deducir los tiempos de autocorrelación exponenciales. Como ya hemos visto, las funciones de correlación son exponenciales decrecientes y por convenio se dice que este tipo de funciones han decrecido ”notoriamente” cuando su valor llega aproxima- damente a e−1 . Ası́, admitiremos que CE(t) alcanza este valor cuando t = τE y CM2 (t) lo alcanza para t = τM2 . Este es el motivo por el cual en la anterior imagen se ha añadido una lı́nea horizontal roja en el punto e−1 del eje y. A primera vista, parece que τE está en torno a los 8 ó 9 segudos y τM2 en torno a los 5 ó 6 segundos. Pero la estimación se puede hacer de una manera más exacta. Todo lo que hay que hacer es igualar nuestras funciones f(x) y g(x) a e−1 y pedirle a gnuplot, por medio del comando print que nos diga cuál es el valor de x (que representa la variable tiempo) para el cual se cumple esta igualdad. Utilizando este método, los resultados obtenidos fueron: 8,96 segundos para el caso de la energı́a y 5,90 segundos para el del cuadrado de la imanación. Por su parte, para Baño Caliente resulta mucho más difı́cil realizar un ajuste, puesto que en la gráfica aparecen muchos más puntos. Ası́ que para este caso usaremos otro método para deducir los tiempos buscados. En primer lugar, veamos la representación de los puntos del fichero anacor.dat para el retı́culo de mayor tamaño para el algoritmo de Baño Caliente (L = 256): 10
  • 11. Figura 4: Funciones de correlación frente al tiempo - Baño Caliente Seguiremos admitiendo el argumento de que una función exponencial negativa se ha hecho ”notoriamente pequeña” cuando alcanza el valor e−1 , por ello se ha vuelto a representar una lı́nea roja horizontal a esa altura. Para este segundo método de estimación, lo que haremos será sencillamente ir al fichero ana- cor.dat correspondiente al caso que estamos estudiando y vamos a ver cuáles son los valores del tiempo para los cuales las funciones CE(t) y CM2 (t) alcanzan un valor más cercano a e−1 ≈ 0, 36787944... Ası́, los valores de los tiempos de autocorrelación exponenciales estimados de esta forma fueron: para la enegı́a, t = 458 segundos, punto en el cual la función de correlación vale 0,367709; por su parte, para el cuadrado de la imanación se obtuvo t = 8,762 segundos, donde la función de correlación se hace igual a 0,367881. 5. Valores medios El programa ising2d.c permite hacer mucho más que estimar y medir los tiempos de auto- correlación del sistema. Además de esto, se puede utilizar para calcular los valores que presentan muchas magnitudes fı́sicas, tales como la energı́a, la imanación, el calor especı́fico... y por supuesto, representarlas. Lo que se pretende en este segundo apartado de la práctica es, por medio de este programa, tomar medidas de todas estas magnitudes para retı́culos de distintos tamaños en un rango de valores de k que se extienda a ambos lados de kc. Para este estudio, se han tomado los valores de L comprendidos entre L = 8 y L = 256 (ambos incluı́dos) y los valores de k comprendidos entre k = 0, 30 y k = 0, 50 (ambos incluı́dos) con un salto de 0,02 unidades, incluyendo además el punto k=kc por las grandes particularidades que presenta. Se han realizado por tanto medidas para 6 valores distintos para L y 12 valores distintos para k, con lo que se han hecho un total de 72 procesos de medición diferentes para distintos parámetros de entrada del programa ising2d.c. En todos los casos se ha tomado lbloque = 100,000 y nbloque = 10 y se ha hecho uso del algoritmo de Swendsen-Wang (ncluster = 1). Conforme se va ejecutando ising2d.c para los distintos parámetros de entrada, los valores de to- das las magnitudes fı́sicas que el programa va calculando se almacenan en el archivo historia.dat. Estos datos se van a ir copiando y clasificando en archivos llamados magnitudesising2dL8.dat, magnitudesising2dL16.dat... en los que se incluyen los valores recogidos para todas las magni- tudes calculadas para L = 8, L = 16... respectivamente; variando k en todos los casos entre 0,30 y 0,50. A partir de estos ficheros se crea un archivo que le ordene a gnuplot generar gráficas en las que se representen los valores de las distintas magnitudes en función de k; superponiéndose en cada caso las medidas realizadas para los distintos L. Mostramos a continuación las gráficas generadas para algunas de estas magnitudes: 11
  • 12. Figura 5: Representación de E frente a k Figura 6: Representación de E2 frente a k 12
  • 13. Figura 7: Representación de |M| frente a k Figura 8: Representación de M2 frente a k 13
  • 14. Figura 9: Representación de Cv frente a k Figura 10: Representación de χc frente a k 14
  • 15. Figura 11: Representación de ξ frente a k Figura 12: Representación de ξ0 frente a k Como comentarios generales, podemos decir que en las gráficas de E, E2 , |M| y M2 los distintos L acaban colapsando conforme el valor de k aumenta. La diferencia más notoria está en el hecho de que en las dos primeras, los distintos L presentan unos valores más cercanos entre sı́ para las k más pequeñas, luego se separan ligeramente para las k intermedias y finalmente vuelven a juntarse para las k mayores. Por su parte, en las gráficas de |M| y M2 , los distintos L tienen unos comportamientos mucho más diferentes para los k pequeños e intermedios, aunque finalmente también acaben colapsando. Se observa además que las gráficas de los L más grandes son las más similares entre sı́. Las gráficas de Cvy c presentan unas divergencias muy claras en el punto crı́tico k = Kc, las cuales se acentúan conforme más grande se hace L. 15
  • 16. Y finalmente, para las longitudes de correlación ξ y ξ0 , se observa que antes de llegar al punto crı́tico presentan valores muy cercanos a 0, lo cual tiene sentido porque desde el primer momento admitimos que las partı́culas de nuestro sistema sólo interactúan con sus primeros vecinos. Para k kc, toman valores superiores, en algunos casos muy altos, pero estos datos no nos interesan demasiado, puesto que las magntides ξ y ξ0 con las que trabaja ising2d.c están exclusivamente diseñadas para la fase paramagnética k kc. 6. Lı́mite Termodinámico En la sección anterior ya se ha hecho una representación de las distintas magnitudes fı́sicas cal- culadas por ising2d.c frente a k, superponiéndose, como hemos visto, las gráficas de los diferentes valores de L. Comenzamos ahora la tercera parte de la práctica, el Lı́mite Termodinámico, en la cual vamos a indagar un poco más en el estudio de estas magnitudes, ajustando algunas de ellas a leyes termodinámicas conocidas. Para ello, como siempre, se hará el ajuste de los datos experimentales a unas funciones teóricas, se enseñará una representación gráfica del mismo y se mostrarán los parámetros que se obtienen al ejecutarlo, para ası́ analizar si puede o no considerarse un ajuste del todo fiable. En particular, vamos a empezar estudiando el módulo de la imanación |M|. 6.1. Estudio de la imanación |M| Vamos a tomar las gráficas de |M| frente a k de para los distintos L que vimos en el apartado de Valores Medios, pero en este caso además vamos a superponer sobre ellas la solución exacta para M(k) dada por la imanación de Yang, cuya expresión es: M(k) = (1 − senh−4 (2k)) 1 8 ; conk kc (17) Para hacer esta representación se han utilizado los puntos del archivo m−infinito.dat, los cuales se añadieron al fichero con el que se hizo la representación de |M| frente a k en el apartado anterior. Se obtuvo con ello la siguiente gráfica. Figura 13: Representación de |M| frente a k junto con la solución de Yang La solución de Yang está restringida exclusivamente para k kc, por eso su representación gráfica no se produce hasta este punto. Como puede verse, partir de k ≈ 0, 48, las gráficas de todos los L tienen ya un comportamiento muy parecido al de la solución de Yang, no obstante las gráficas de los retı́culos mayores son las que antes convergen a ella. 16
  • 17. 6.2. Estudio de la inversa de la longitud de correlación 1/ξ La longitud de correlación ξ mide hasta qué distancia puede considerarse que dos partı́culas in- teractúan (están correlacionadas entre sı́). Más allá de esta distnacia se considera que la interacción entre ambas es nula y por tanto no están correlacionadas. Para este segundo ejercicio de Lı́mite Termodinámico, vamos a proceder al estudio del compor- tamiento de esta magnitud en las próximidades del punto crı́tico, pero antes de comenzar conviene dejar claros dos detalles importantes. Lo primero es que realmente no vamos a estudiar el comportamiento de la longitud de correla- ción ξ propiamente dicha, sino el de su inversa 1/ξ. El motivo es porque el comportamiento de ξ cerca del punto crı́tico viene dado por: ξ = 1 |k − kc|ν (18) Como puede verse, conforme nos acercamos a kc, la longitud de correlación tiende a infinito, lo cual no nos pilla por sorpresa, ya que este comportamiento ya lo dedujimos al estudiar la gráfica de ξ frente a k en el apartado de Valores Medios. Por este motivo, es mucho más sencillo estudiar su inversa 1/ξ, la cual tenderá a 0 en las cercanı́as del punto crı́tico. En, segundo lugar, recordemos que la magnitud que ising2d.c calcula como ”xi”, sólo está bien definida para la fase paramagnética (k kc), por lo cual reduciremos nuestro estudio a dicha fase. En principio, la forma de trabajar es bastante similar a la del apartado Valores Medios, sim- plemente se crea un nuevo fichero que le ordene a gnuplot representar los datos de los archivos magnitudesising2dL8.dat, magnitudesising2dL16.dat... pero en este caso no tenemos que perdirle que trabaje con los valores de ξ y ∆(ξ), sino con los de 1/ξ y ∆(ξ)/ξ2 respectivamente, ya que no queremos graficar ξ frente a k, sino 1/ξ frente a k. Al hacer esta representación superponiendo los distintos valores de L, nos vamos a encontrar que para cada valor de k en el que hemos tomado medidas (k = 0, 30; k = 0, 32; k = 0, 34...) los resultados de los distintos tamaños del sistema se van a pisar unos a otros, lo cual va a dificultar mucho el estudio de cómo se acerca la función al punto crı́tico. Para evitar esto es muy recomendable desplazar ligeramente las gráficas de los distintos L que hay para cada valor de k siguiendo las indicaciones del guion. De esta manera, la figura parece completamente inalterada si se mira desde lejos, pero si se hace zoom sobre cada valor de k, se podrán ver claramente separados los resultados asociados a los diferentes L. Esto va a ser de gran ayuda para la siguiente parte del estudio. Una vez hecho esto, si se hace zoom sobre cada valor de k, se observan dos efectos contrapues- tos. Por un lado, los retı́culos más grandes van a presentar unos errores exageradamente grandes mientras que los retı́culos más pequeños producen unas barras de error que no son acordes con los resultados de los retı́culos mayores. Ante esta situación, vamos a intentar buscar un equilibrio entre los L pequeños y los L grandes anotando, para cada valor de k cuál es el tamaño del retı́culo más pequeño que produce unas barras de error compatibles con los retı́culos máyores. Estos valores de L serán llamados Lsafe y este proceso de búsqueda se tiene que repetir para cada valor de k. Tras haberlo completado, se obtuvieron los siguientes valores de Lsafe para los distintos k: k 0,30 0,32 0,34 0,36 0,38 0,40 0,42 Lsafe 8 16 16 16 32 32 64 Tabla 12: Valores de Lsafe para cada k Archivo longituddecorrelación.gpt en la sesión 4. Documentos de sesiones 5 y 6. LLegados a este punto, es interesante construir un archivo llamado lı́mitetermodinámico.dat a partir de los utilizados en los apartados anteriores. En él, para cada valor de k que se esté estudiando, se van a copiar los resultados calculados para las distintas magnitudes dados por ising2d.c para el retı́culo cuyo tamaño coincida con el Lsafe de dicha k. De esta manera, por ejemplo, para k = 0, 30 (cuyo Lsafe es L = 8), se copiarán los datos de magnitudesising2dL8.dat y se pegarán en el nuevo archivo. Repetimos a continuación este proceso para cada valor de k hasta acabar completando lı́mitetermodinámico.dat. 17
  • 18. Ahora, con los datos de lı́mitetermodinámico.dat, vamos a representar 1/ξ frente a k ajus- tando los datos experimentales a las dos siguientes funciones: f(x) = a·(kc−x)b y g(x) = c·(d−x). Como puede verse, para el ajuste con la función f(x) se está dando por válido el valor de kc que dicta la teorı́a (kc ≈ 0, 4406868) y lo que se busca es (además de la amplitud a) el valor del parámetro b, correspondiente al exponente ν, cuyo valor es igual a 1 según la solución de Onsager. De este modo, al hacer el ajuste se espera obtener un valor de b que sea compatible con 1. Por otro lado, en la función g(x) ocurre justo lo contrario: se da por válida la solución de Onsager para el exponente ν = 1 y lo que se pretende calcular (además de la amplitud c) es el valor de d, que deberá ser compatible con kc ≈ 0, 4406868. A continuación, mostramos los resultados que se obtuvieron al realizar ambos ajustes. En primer lugar, el de la función f(x): kmin χ2 G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b) 0,30 33,17 5 3,48 ·10−6 4,96 ± 0,11 2,28 % 1,0522 ± 0,0077 0,73 % 6,78 0,32 5,73 4 0,22 4,789 ± 0,064 1,34 % 1,0422 ± 0,0042 0,41 % 10,05 0,34 3,50 3 0,32 4,753 ± 0,063 1,33 % 1,0401 ± 0,0041 0,40 % 9,78 0,36 1,05 2 0,59 4,649 ± 0,063 1,36 % 1,0342 ± 0,0039 0,38 % 8,77 0,38 0,59 1 0,44 4,57 ± 0,11 2,49 % 1,0295 ± 0,0068 0,66 % 4,33 Tabla 13: Ajuste para la función f(x) Y en segundo lugar, el de la función g(x): kmin χ2 G.L. p − value c ± ∆(c) δ(c) d ± ∆(d) δ(d) Barras(d) 0,30 74,79 5 1,03 ·10−14 4,483 ± 0,065 1,46 % 0,43871 ± 0,00044 0,10 % -4,49 0,32 16,09 4 0,0029 4,397 ± 0,041 0,92 % 0,43912 ± 0,00026 0,060 % -6,03 0,34 9,95 3 0,019 4,376 ± 0,040 0,91 % 0,43922 ± 0,00025 0,057 % -5,87 0,36 4,61 2 0,20 4,1036 ± 0,02027 0,49 % 0,440547 ± 0,00003673 0,0083 % -3,81 0,38 0,18 1 0,67 4,261 ± 0,021 0,49 % 0,43977 ± 0,00011 0,025 % -8,33 Tabla 14: Ajuste para la función g(x) Como puede verse en los datos de estas dos últimas tablas, los ajustes tanto para f(x) como para g(x) no son demasiado buenos, pues aunque se obtengan unos valores para b y d bastante próximos a los teóricos, presentan muchas barras de error en sus resultados. Se trata por tanto de unos resultados extremadamente improbables en términos estadı́sticos, y el motivo por el que se ha llegado a esta situación es porque la relación χ = 1/|k − kc|ν con la que se ha estado trabajando, sólo es válida en puntos muy cercanos al punto crı́tico y no puede utilizarse en un intervalo de k tan grande como el que hemos estado considerando. Por lo tanto el estudio realizado no puede considerarse fiable, pues se ha utilizado para realizar el ajuste una expresión en un intervalo de valores en los que no tiene validez. Para corregir este error, hay que realizar de nuevo el mismo estudio, pero esta vez en un rango de valores lo suficientemente cercanos a kc. De esta manera, volveremos a hacer uso del programa ising2d.c para los mismos valores de L que tenı́amos anteriormente, pero en este caso unos valores de k diferentes. En particular, para esta práctica se tomaron los valores desde k = 0, 400 hasta k = 0, 435 con un salto de 0,005 unidades. Una vez hechas de nuevo todas las medidas pertinentes, los nuevos datos proporcionados por ising2d.c se van a ir clasificando en unos nuevos archivos nuevasmagnitudesising2dL8.dat, nuevasmagnitudesising2dL16.dat... y con ellos se procede a buscar de nuevo el Lsafe asociado a cada k de la misma forma que se hizo con el ajuste anterior. Los nuevos resultados obtenidos para los Lsafe fueron: k 0,400 0,405 0,410 0,415 0,420 0,425 0,430 0,435 Lsafe 32 32 64 64 64 128 128 256 Tabla 15: Nuevos valores de Lsafe para cada k Y con estos nuevos datos, se puede crear un nuevo archivo lı́mitetermodinámico2.dat y 18
  • 19. realizar de nuevo el ajuste de 1/ξ frente a k a las funciones f(x) y g(x) exactamente igual que antes (pero ahora esperamos obtener mejores resultados): kmin χ2 G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b) 0,400 6,82 6 0,34 4,37637 ± 0,04437 1,014 % 1,01743 ± 0,002329 0,2289 % 7,48 0,405 4,83 5 0,44 4,34421 ± 0,0464 1,068 % 1,0159 ± 0,002401 0,2363 % 6,62 0,410 4,54 4 0,34 4,33426 ± 0,05389 1,243 % 1,01543 ± 0,002765 0,2723 % 5,58 0,415 3,90 3 0,27 4,30804 ± 0,06841 1,588 % 1,0142 ± 0,003443 0,3395 % 4,12 0,420 0,76 2 0,68 4,24999 ± 0,04169 0,9809 % 1,01148 ± 0,00209 0,2066 % 5,49 0,425 0,29 1 0,59 4,32665 ± 0,07107 1,643 % 1,01499 ± 0,003308 0,3259 % 4,86 Tabla 16: Nuevo ajuste para la función f(x) kmin χ2 G.L. p − value c ± ∆(c) δ(c) d ± ∆(d) δ(d) Barras(d) 0,400 13,92 6 0.030 4,13482 +- 0,01828 0,44 % 0,4405 +- 0,00003693 0,0084 % -5,05 0,405 7,98 5 0,16 4,12092 +- 0,01678 0,41 % 0,440521 +- 0,00003267 0,0074 % -5,07 0,410 6,73 4 0,15 4,11575 +- 0,01824 0,44 % 0,440529 +- 0,00003479 0,0079 % -4,54 0,415 4,61 3 0,20 4,1036 +- 0,02027 0,49 % 0,440547 +- 0,00003673 0,0083 % -3,81 0,420 0,27 2 0,87 4,08573 +- 0,00678 0,17 % 0,440573 +- 0,00001189 0,0027 % -6,02 0,425 0,11 1 0,74 4,09727 +- 0,01114 0,27 % 0,440557 +- 0,00001686 0,0038 % -7,70 Tabla 17: Nuevo ajuste para la función g(x) Como podemos ver, se obtienen unos resultados algo mejores para los valores de b y d (que son más cercanos a sus valores teóricos que en el ajuste anterior) y también en lo que a las barras de error se refiere (que ahora son algo más pequeñas). Sin embargo, sus valores siguen siendo bastante altos, pues en todos los casos se tiene una desviación entre los resultados teóricos y los experimentales que está entre las 3 y las 8 barras de error, lo cual es indicativo de que el ajuste aún puede hacerse de una forma más precisa. Para ir un último paso más allá, se pueden tener en cuenta correciones de orden superior en la solución de Onsager: ξ(k) = a0 + a1 · (k − kc) + ... (k − kc) (19) Con este resultado, vamos a poder hacer un nuevo ajuste de nuestros experimentales del archivo lı́mitetermodinámico2.dat a una función h(x) = b0 · (kc − x)/(1 + b1 · (kc − c)). Esta función da por válidos los valores de kc ≈ 0, 4406868 y de ν = 1 que predice la teorı́a y lo que se pretende ajustando nuestros datos a ella es obtener las amplitudes b0 y b1. Los resultados obtenidos para este ajuste fueron: kmin χ2 G.L p − value b0 ± ∆(b0) δ(b0) b1 ± ∆(b1) δ(b1) 0,400 3,49 6 0,75 3,98058 +- 0,008802 0,2211 % -1,10835 +- 0,1001 9,035 % 0,405 3,48 5 0,63 3,98009 +- 0,01039 0,261 % -1,11861 +- 0,1374 12,28 % 0,410 3,37 4 0,50 3,97888 +- 0,0119 0,2991 % -1,14678 +- 0,1698 14,81 % 0,415 3,34 3 0,34 3,97789 +- 0,01501 0,3773 % -1,17307 +- 0,2542 21,67 % 0,420 1,57 2 0,46 3,98484 +- 0,01347 0,3381 % -1,51181 +- 0,4877 32,26 % 0,425 0,61 1 0,44 3,970 +- 0,017 0,42 % -1,51181 +- 0,4877 32,26 % Tabla 18: Ajuste para la función h(x) Y aquı́ podemos ver la representación gráfica del ajuste: 19
  • 20. Figura 14: Representación de 1/xi frente a k 7. Finite-Size Scaling Comenzamos con la última parte del trabajo, en la cual no tenemos como objetivo estudiar cómo se comporta el sistema en las cercanı́as del punto crı́tico como pasaba en el apartado anterior, sino estudiar cómo se comporta el sistema en el propio punto crı́tico. A lo largo de esta sección vamos a realizar una serie de ejercicios que siguen un guion práctica- mente idéntico: se pretende estudiar cómo evoluciona una magnitud fı́sica en el punto crı́tico y para ello se van a ajustar los valores experimentales que toma dicha magnitud a una cierta expresión teórica que viene dada por el teorema de Fluctuación-Disipación, por la teorı́a de Onsager... etc. En todas estas fórmulas, se va a relacionar la magnitud fı́sica que se está estudiando con el tamaño L del sistema, lo cual nos va a sugerir hacer una representación de la magnitud en cuestión frente a L. Nótese que en este caso ya no tiene sentido hacer una representación frente a k, porque al estar trabajando exclusivamente en el punto crı́tico, siempre vamos a tener una única k = kc y lo único que puede variar es la L. En cada una de las expresiones que veremos intervienen uno o más parámetros de ajuste (algunos de ellos son exponentes crı́ticos), con lo que, además de representar gráficamente los resultados, mostraremos qué valores se obtienen para estos parámetros esperando que queden cerca de aquellos que la teorı́a dicta. 7.1. Simulación y obtención de datos Para esta parte de la práctica hay que trabajar con los datos experimentales que obtuvimos a partir de la simulación realizada en clase. Se trata de una simulación muy costosa que llevarı́a mucho tiempo hacerla en casa, por eso se la encargamos a los ordenadores del Aula de Informática del Departamento de Fı́sica Teórica y los resultados nos llegaron por correo. Estos resultados llegaron dados en un fichero llamado resultadosFSS.zip que contenı́a un total de 16 archivos. Para cada tamaño del retı́culo, desde L = 8 hasta L = 1024 (ambos incluidos), se proporcionaba una carpeta con dos archivos: ising2d.dat e historia.dat. Los archivos ising2d.dat, constaban de una única lı́nea, en la cual se presentaban los valores de las distintas magnitudes fı́sicas calucados por ising2d.c para k = kc y el L correspondiente a cada caso. La información de cada fichero ising2d.dat debı́a ser copiada y aglutinada en un único fichero llamado ising2dFSS.dat, el cual será de gran utilidad para los siguientes ejercicios. En él están incluı́dos los valores que presentan todas las magnitudes fı́sicas de todos los sistemas 20
  • 21. que vamos a estudiar medidas exactamente en el punto crı́tico, por lo que ising2dFSS.dat es un archivo de gran interés. 7.2. Cálculo de η a partir de m2 El primer ejercicio que vamos a hacer a partir de los resultados de la simulación anterior es un ajuste de m2 frente a L con el objetivo de estimar el valor del exponente crı́tico η. Por medio del teorema de Fluctuación-Disipación, para k = kc, la relación entre ambas magni- tudes viene dada por: m2 (L) = fx(0) (Lη) (20) Esta expresión sugiere ajustar los valores experimentales de m2 frente a L por medio de una función f(x) = a/(xb ); según esta, a se corresponde con fx(0) y b, con el exponente crı́tico η. La solución de Onsager enuncia que η = 0, 25, con lo cuál el exponente b nos tendrı́a que salir compatible con este valor. La gráfica que se generó al hacer el ajuste es la siguiente: Figura 15: Ajuste de m2 frente a L Y a continuación, mostramos los datos obtenidos a partir del test Lmı́n Lmin χ2 G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b) 8 7,64 6 0,27 1,08751 ± 0,00097 0,089 % 0,24915 ± 0,00021 0,08 % 4,22 16 4,77 5 0,44 1,0891 ± 0,0013 0,11 % 0,24943 ± 0,00024 0,10 % 2,36 32 4,51 4 0,34 1,0898 ± 0,0019 0,18 % 0,24954 ± 0,00035 0,14 % 1,32 64 4,48 3 0,21 1,0901 ± 0,0032 0,29 % 0,24958 ± 0,00053 0,21 % 0,78 128 4,09 2 0,13 1,0920 ± 0,0058 0,53 % 0,24987 ± 0,00091 0,36 % 0,14 256 4,09 1 0,04 1,092 ± 0,014 1,29 % 0,2499 ± 0,0021 0,84 % 0,060 Tabla 19: Datos del primer ajuste para el cálculo de η Para este ejercicio, además del ajuste a la función teórica f(x) disponemos de dos técnicas adiccionales para llegar al resultado. En primer lugar, podemos dar por válida la solución de Onsager (η = 0, 25) y realizar un segundo test de Lmı́n esta vez a la función g(x) = a/(x0,25 ), obteniéndose: 21
  • 22. Lmin χ2 G.L. p − value a ± ∆(a) δ(a) 8 28,89 7 0,00015 1,09118 ± 0,00065 0,059 % 16 10,12 6 0,12 1,09195 ± 0,00047 0,043 % 32 6,48 5 0,26 1,09230 ± 0,00046 0,043 % 64 5,41 4 0,25 1,09251 ± 0,00053 0,048 % 128 4,13 3 0,25 1,09281 ± 0,00062 0,057 % 256 4,10 2 0,13 1,09287 ± 0,00090 0,083 % 512 3,34 1 0,067 1,0924 ± 0,0015 0,14 % Tabla 20: Datos del segundo ajuste para el cálculo de η Y por último, también podemos considerar correciones de orden superior en el teorema de Fluctuación-Disipación, según las cuales la relación entre m2 y L acaba por ser : m2 (L) = a1 (L1/4) · [1 + d1 (L1,75) ] = a1 (L1/4) + c1 (L2) (21) Con ello, vamos a poder ajustar nuestros datos a una función h(x) = a xb + c x2 , según la cual, se pretenden obtener, además de las amplitudes a y c, el valor del exponente b, que naturalmente debe ser compatible con el valor η = 0, 25 dado por la solución de Onsager. Los datos obtenidos haciendo el test de Lmı́n con esta tercera función son los siguientes: Lmin 8 16 32 64 128 χ2 4,47 4,45 4,45 4,45 4,09 G.L. 5 4 3 2 1 p − value 0,48 0,35 0,22 0,11 0,043 a 1,0900 1,0903 1,0902 1,0902 1,092 ∆(a) 0,0016 0,0025 0,0043 0,0086 0,022 δa 0,14 % 0,23 % 0,40 % 0,79 % 2,00 % c -0,087 -0,12 -0,112 -0,12 -0,11 ∆(c) 0,046 0,21 1,00 4,95 31,05 δc 53,12 % 185,1 % 867,2 % 4.306 % 2,706 ·104 % b 0,24957 0,24961 0,24960 0,2496 0,2499 ∆(b) 0,00029 0,00043 0,00069 0,0013 0,0031 δb 0,11 % 0,17 % 0,28 % 0,52 % 1,24 % Barras(b) 1,50 0,91 0,57 0,30 0,038 Tabla 21: Datos del tercer ajuste para el cálculo de η 7.3. Cálculo de β ν a partir de |m| Como segundo ejercicio, vamos a estudiar la dependencia de |m| con L, (como ya hemos co- mentado, en esta parte de la práctica todos ellos son muy parecidos). La relación entre ambas magnitudes en este caso viene dada por la expresión: |m| (L) ≈ e1 (L β ν ) + ... (22) Se puede por tanto hacer un ajuste de nuestros datos experimentales de |m| frente a L a una función del tipo f(x) = a bx . Según esta función, a será la amplitud que hemos llamado e1 y b será el cociente entre los exponentes crı́ticos β/ν, cuyo valor teórico es de 1 8 , pues β = 1 8 para el modelo de Ising en dos dimensiones y ν = 1 según la solución de Onsager. Aquı́ mostramos la representación gráfica del ajuste: 22
  • 23. Figura 16: Ajuste de |m| frente a L Y aquı́, los datos cuantitativos asociados al mismo: Lmin χ2 G.L. p − value e ± ∆(e) δ(e) β/ν ± ∆(β/ν) δ(β/ν) Barras(β/ν) 8 5,07 6 0,53 1,00785 ± 0,00046 0,046 % 0,12469 ± 0,00011 0,086 % -2,82 16 5,04 5 0,41 1,00795 ± 0,00075 0,075 % 0,12470 ± 0,00016 0,13 % -1,88 32 4,97 4 0,29 1,0082 ± 0,0012 0,12 % 0,12474 ± 0,00023 0,19 % -1,13 64 4,87 3 0,18 1,0085 ± 0,0019 0,19 % 0,12480 ± 0,00035 0,28 % -0,57 128 4,49 2 0,11 1,0096 ± 0,0035 0,35 % 0,12498 ± 0,00059 0,48 % -0,034 256 4,47 1 0,035 1,0100 ± 0,0085 0,84 % 0,1250 ± 0,0014 1,09 % 0 Tabla 22: Datos del primer ajuste para el cálculo de β ν Al igual que pasaba en el ejercicio anterior, disponemos de una segunda manera para realizar este ajuste de forma satisfactoria. Esta se basa en el hecho de que la aproximación |m| ≈ √ m2 funciona razonablemente bien en las proximidades del punto crı́tico, con lo que podemos tomar la raı́z cuadrada a ambos lados de la expresión (21) que relaciona m2 con L ası́ para obtener la dependencia de |m| con L que buscamos: |m| (L) ≈ p m2 (L) = s a1 (L1/4) · [1 + d1 (L1,75) ] ≈ e1 (L1/8) + e1 (L15/8) (23) Con ello, vamos a hacer un segundo test de Lmı́n de nuestros datos de |m| , esta vez a una función f(x) = e Lb + s L15/8 , con el cual esperamos obtener, además de los valores de las amplitudes e y s, el del exponente b, cuyo resultado debe ser compatible con β ν = 1 8 . Los resultados obtenidos al reealizar este ajuste son: Lmin 8 16 32 64 128 χ2 5,01 5,00 4,95 4,86 4,49 G.L. 5 4 3 2 1 p − value 0,42 0,29 0,18 0,088 0,034 e 1,00807 1,0080 1,0082 1,0085 1,010 ∆e 0,00097 0,0016 0,0027 0,0052 0,013 δe 0,096 % 0,16 % 0,26 % 0,52 % 1,31 % s -0,00752 -0,00753 -0,00753 -0,00754 -0,00754 ∆s 0,029 0,13 0,62 3,02 18,76 δs 53,12 % 185,1 % 867,2 % 4.306 % 2.706 ·104 % b 0,24957 0,24961 0,24960 0,2496 0,2499 ∆b 0,00029 0,00043 0,00069 0,0013 0,0031 δb 0,11 % 0,17 % 0,28 % 0,52 % 1,24 % Barrasb 1,50 0,91 0,57 0,30 0,038 Tabla 23: Datos del segundo ajuste para el cálculo de β ν 23
  • 24. 7.4. Estudio del calor especı́fico Veamos ahora el comportamiento del calor especı́fico para un sistema de tamaño L = ∞ en las cercanı́as del punto crı́tico: Cv(L) = a1 · log(L) + b1 + c1 L + ... (24) Con lo cual, en este caso podremos ajustar los valores experimentales del calor especı́fico del archivo ising2dFSS.dat, a una función: h(x) = c · log(x) + d + q x , para la cual, los términos c, d y d se corresponden respectivamente con los parámetros a1, b1 y c1 de la expresión (24). Empezamos viendo la representación gráfica de dicho ajuste: Figura 17: Ajuste de Cv frente a L Y tras ella, vemos los datos numéricos asociados al ajuste: Lmin 8 16 32 64 128 χ2 2,99 2,18 1,97 1,95 1,77 G.L. 5 4 3 2 1 p − value 0,70 0,70 0,58 0,38 0,18 c 2,5330 2,521 2,531 2,535 2,57 ∆c 0,0091 0,013 0,023 0,048 0,13 δc 0,36 % 0,53 % 0,90 % 1,88 % 4,87 % d 0,772 0,840 0,78 0,75 0,51 ·10−3 ∆d 0,044 0,073 0,14 0,31 0,86 δd 5,73 % 8,64 % 17,47 % 40,82 % 168,3 % q -1,10 -1,84 -0,68 0,13 10,7 ∆q 0,23 0,65 2,12 7,67 34,3 δq 21,05 % 35,1 % 309,3 % 5.909 % 320,5 % Tabla 24: Ajuste del calor especı́fico 7.5. Análisis dimensional de L y ξ Este nuevo ejercicio tiene como objetivo llevar a cabo un análisis dimensional para compro- bar que L (la longitud del lado del retı́culo) y ξ (la longitud de correlación) crecen de manera proporcional, lo cual es lo que deberı́a ocurrir ya que ambas magnitudes son longitudes. En las proximidades del punto crı́tico, la relación que hay entre ambas es: ξ(L) = L · Fξ(0) + ... (25) De entrada sabemos que la expresión anterior al menos tiene sentido dimensional, pues el crecimiento de ξ es lineal con L tal y como habı́amos predicho y viene dado por una cierta amplitud Fξ(0). 24
  • 25. Podemos hacer por tanto un test de Lmı́n ajustando los datos experimentales de ξ de nuestro fichero ising2dFSS.dat a una función f(x) = a · x, según la cual a coincidirá con el valor que se obtenga para Fξ(0). Lmin χ2 G.L. p − value a ± ∆(a) δ(a) 8 223,53 7 0 0,9104 ± 0,0027 0,29 % 16 12,07 6 0,060 0,90709 ± 0,00075 0,082 % 32 4,60 5 0,47 0,90645 ± 0,00055 0,061 % 64 3,75 4 0,44 0,90618 ± 0,00062 0,069 % 128 3,75 3 0,29 0,90620 ± 0,00082 0,091 % 256 3,72 2 0,16 0,9063 ± 0,0012 0,13 % 512 1,76 1 0,18 0,9053 ± 0,0014 0,16 % Tabla 25: Datos del primer ajuste de ξ frente a L Sin embargo, aquı́ también existe una segunda opción para realizar este ajuste, la cual además es más exacta. Esta va a consistir en considerar correcciones de un orden mayor en la expresión (25), tal que: ξ(L) = L · Fξ(0) + Fξ(1) L1,75 (26) Esto posibilitará ajustar nuestros datos a una nueva función h(x) = c · x + d (x1,75) , haciendo un segundo test de Lmı́n. Pero antes veamos, como siempre, la gráfica de dicho ajuste: Figura 18: Ajuste de ξ frente a L Y ahora ya sı́, los datos numéricos del mismo: Lmin χ dof p-value c+∆(c) δ(c) d+∆(d) δ(d) 8 4,96 6 0,55 0,90653 +- 0,00049 0,054 % 5,58 +- 0,34 6,15 % 16 4,03 5 0,54 0,90629 +- 0,00054 0,059 % 8,41 +- 2,66 31,67 % 32 3,78 4 0,44 0,90614 +- 0,00065 0,072 % 18,65 +- 20,07 107,6 % 64 3,77 3 0,29 0,90613 +- 0,00087 0,096 % 18,65 +- 163,6 877,1 % 128 3,75 2 0,15 0,9062 +- 0,0013 0,14 % 18,65 +- 1.514 8.121 % 256 3,72 1 0,054 0,9063 +- 0,0023 0,26 % 18,65 +- 1,57*104 8,43*104 % Tabla 26: Datos del segundo ajuste de ξ frente a L 7.6. Cálculo de ν a partir de ξ0 La siguiente magnitud que vamos a tratar de estimar va a ser el exponente crı́tico ν y para ello realizaremos un ajuste de ξ0 frente a L. Esta magnitud es la que ising2d.c llama ”xi”’ y consiste en la derivada de la longitud de correlación ξ con respecto a k. En las proximidades del punto crı́tico, la dependencia de ξ0 con L viene dada por la siguiente expresión: 25
  • 26. ξ0 (L) = L1+ 1 ν · F0 ξ(0) + ... (27) La cual nos sugiere ajustar los datos experimentales de ξ0 a una función f(x) = a · xb , donde a será la amplitud F0 ξ(0) y b será el exponente 1 + 1 ν . El valor teórico que toma este último es 2, pues ν = 1 según la solución de Onsager. Ası́, al realizar este nuevo ajuste, se espera obtener que b resulte compatible con 2. Como en todos los casos anteriores, empezamos viendo cómo queda la gráfica tras realizar el ajuste: Figura 19: Ajuste de m2 frente a L Y a continuación, todos los datos relevantes en el estudio del test Lmı́n: Lmin χ2 G.L. p − value a ± ∆(a) δ(a) b ± ∆(b) δ(b) Barras(b) 8 2,19 6 0,90 1,496 ± 0,026 1,73 % 1,9876 ± 0,0039 0,19 % -3,18 16 0,12 5 0,9997 1,4388 ± 0,0089 0,62 % 1,9949 ± 0,0013 0,064 % -3,92 32 0,040 4 0,9998 1,4248 ± 0,0074 0,52 % 1,9966 ± 0,0010 0,050 % -3,4 64 0,018 3 0,9994 1,4131 ± 0,0083 0,59 % 1,9980 ± 0,0011 0,052 % -1,82 128 0,016 2 0,99 1,408 ± 0,017 1,20 % 1,9987 ± 0.0020 0,10 % -0,65 256 0,011 1 0,92 1,391 ± 0,029 2,08 % 2,0005 ± 0,0033 0,17 % 0,15 Tabla 27: Cálculo de η 7.7. La densidad espectral A continuación, vamos a aplicar el método de la densidad espectral, cuyo objetivo es extrapolar los valores de las magnitudes medidas en un punto (en este caso kc) con el objetivo de hacerlos válidos en un entorno cercano a dicho punto. Lo primero que tenemos que hacer es ir siguiendo las indicaciones del guion, que nos van a explicar cómo obtener los datos que necesitamos para esta parte de la práctica. Estos datos, se nos van a generan en unas carpetas etiquetadas desde L = 8 hasta L = 512 incluı́do. Los datos que hemos obtenido, representan para cada L, los valores que toman las distintas magnitudes con las que hemos estado trabajando a lo largo de toda la práctica (energı́a, magnetización, calor especı́fico...) en un entorno más grande o más pequeño de k en torno a kc . Este intervalo es diferente para cada L y va disminuyendo conforme aumenta el tamaño del sistema, pero en ningún caso se separa más de 0,10 unidades de kc. Los datos que se han obtenido por el método de la densidad espectral para los distintos L y k son en general notoriamente diferentes de los que utilizamos en los apartados de Valores Medios y Lı́mite Termodinámico para esos mismos L y unos valores de k cercanos. La única excepción se da en L = 8, por ello el guion nos sugiere hacer una comparación entre los datos que calculamos para L = 8 en Valores Medios y Lı́mite Termodinámico con los que se han generado en esta última simulación y representarlos en el entorno de kc en el que estos últimos han sido evaluados. Por lo tanto, el objetivo será pedirle a gnuplot que represente superpuestos los datos de los archivos antiguo y nuevo para L = 8, prestando atención a las columnas que con las que le 26
  • 27. indicamos trabajar, porque la misma magnitud, en uno y otro archivo, ocupa columnas distintas. Concretamente, las magnitudes con las que vamos a trabajar van a ser la energı́a E, el calor especı́fico Cv y la susceptibilidad conexa χc. Mostramos a continuación sus gráficas: Figura 20: Comparación de los valores de E para L = 8 Figura 21: Comparación de los valores de Cv para L = 8 Figura 22: Comparación de los valores de χc para L = 8 7.8. Representación de la función de escala En nuestro último ejercicio de la práctica vamos a representar la llamada función de escala Fx. Esta función relaciona la susceptibilidad conexa χc con L en las cercanı́as del punto crı́tico por medio de la siguiente expresión: 27
  • 28. χc(L) = L γ ν · Fx[L 1 ν · (k − kc)] + ... (28) Para hacer la representación, vamos a empezar despejando Fx en el miembro derecho: χc(L) L γ ν = Fx[L 1 ν · (k − kc)] + ... (29) Esta segunda expresión nos sugiere ajustar el cociente χc(L) L γ ν frente al producto L 1 ν · (k − kc) para obtener la gráfica de la función de escala. Cabe destacar que para este ejercicio, a diferencia de lo que pasaba en el anterior, trabajaremos con todos los L y no sólo con L = 8. La idea va a ser utilizar los datos de χc de los diferentes archivos generados en la última simulación, y para calcular cada cociente χc(L) L γ ν , dividir los valores de los χc de estos archivos entre L γ ν utilizando el L correspondiente en cada caso. De esta forma, conseguiremos que las gráficas de las funciones de escala de todos los L colapsen a una misma curva, al menos durante un pequeño intervalo k − kc centrado en el origen (una desviación pequeña con respecto al punto crı́tico); pongamos por ejemplo [-0,5; 0,5]. Mostramos a continuación la gráfica obtenida: Figura 23: Funciones de escala para los distintos L 28