Histéresis y avalanchas

Raúl Reyes (/raul_reyes)

Rodrigo Leal (/rodrigolece)

Hamiltoniano:

$$ H = - \sum_{\langle i, j \rangle} J s_i s_j - \sum_{i}(H(t) + h_i)s_i $$

El campo aleatorio se saca de la distribución:

$$ P(h) = \frac{1}{\sqrt{2 \pi} R} e^{-h^2/2R^2} $$

In [6]:
using PyPlot

In [7]:
using Histeresis

In [9]:
L = 50
N = L^2
m = edo_inicial(L)

@time mag, hs = magnetizacion_aumenta_H(m);


elapsed time: 0.546682142 seconds (27844524 bytes allocated)

In [12]:
figure(figsize=(7,5))
ylabel(L"M/N")
xlabel(L"H/J") #J=1
plot(hs,mag/N, ".");


Hacemos un zoom: ruido de Barkhausen


In [16]:
n = 1100

figure(figsize=(5,3))
xlabel(L"M/N")
ylabel(L"H/J") #J=1
plot(hs[n:end],(mag/N)[n:end],".");


¿Cómo se ve la evolución del sistema?


In [3]:
L = 10
m = edo_inicial(L)
num_pasos = 50

@time edos = microEstados_aumenta_H(m, num_pasos);


elapsed time: 0.281080122 seconds (4898624 bytes allocated)

In [4]:
for estado in edos
    figure(figsize=(4,4))
    imshow(estado, interpolation="none")
end


/Applications/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py:412: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_num_figures`).
  max_open_warning, RuntimeWarning)

Falta:

  • Hacer la simulación de regreso, cuando el campo disminuye
  • Hacer una animación de lo que mostramos con un for
  • Graficar el número de espines que cambia cada paso
  • Estudiar el tamaño de las avalanchas