blob: 6eeb3743047adaef45accfd26434544f314457ad [file] [log] [blame]
Adrià Vilanova Martínez24d87012022-06-16 00:29:59 +02001\documentclass[a4paper, 11pt, twocolumn]{article}
2
3\input{preamble.tex}
4\addbibresource{references.bib}
5
6\graphicspath{{graphs/}}
7
8\rhead{Adrià Vilanova Martínez}
9\lhead{Pràctica ordinador FCiTF}
10\fancyfoot[C]{\thepage}
11
12\setlength{\droptitle}{-4em}
13\title{Pràctica ordinador Fenòmens Col·lectius i Transicions de Fase \\
14 \large Algorisme de Metropolis per simular el model d'Ising 2D}
15\author{Adrià Vilanova Martínez}
16\date{Primavera 2022}
17
18\begin{document}
19
20{
21 \parskip = 0pt
22 \maketitle
23}
24
25\section{Introducció}
26
27Les pràctiques d'ordinador de l'assignatura han consistit en simular el model d'Ising 2D amb condicions de vora periòdiques. Això s'ha fet mitjançant l'algoritme de Metropolis.
28
29El model d'Ising que hem emprat descriu el comportament d'una xarxa d'$N$ partícules disposades en els nusos d'una quadrícula 2D que poden tenir spin $+1$ o $-1$. Aquestes partícules només interaccionen amb els 4 veïns, que estan a la dreta, esquerra, dalt i baix. Si denotem per $\langle i, j \rangle$ les parelles de veïns, i $S_i$ l'spin que té la partícula $i$-èssima, el model descriu el comportament d'aquestes partícules mitjançant el següent hamiltonià:\cite[p.~12]{presentacio}
30\[ \Ham(S_1, S_2, \ldots, S_n) = -J \sum_{\langle i, j \rangle} S_i S_j - H \sum_{i = 1}^N S_i, \]
31on $J$ és una constant que modelitza la interacció entre veïns, i $H$ modelitza un camp magnètic extern constant que interacciona amb tots els spins (nosaltres hem estudiat el cas en què $H = 0$).
32
33En el nostre cas hem imposat condicions de contorn periòdiques, és a dir, que la topologia de la nostra xarxa no és la d'un quadrat sinó la d'un tor. En termes simples, això vol dir que una partícula a un dels extrems de la quadrícula té com a veïna la partícula de l'extrem oposat.
34
35Per tal de simular aquest model, hem emprat l'algoritme de Metropolis, que originalment va ser concebut per simular un sistema de partícules en una capsa 2D amb condicions de vora periòdiques, i amb un cert potencial entre partícules que depèn de la distància entre elles.\cite{metropolis} Es tracta d'un mètode de Montecarlo modificat. Aquest algoritme, en la nostra simulació, fa el següent:
36
37\begin{algorithmic}
38 \Procedure{Metropolis}{$T, L$} \Comment{Simulació donada una temp. $T$ i mida de costat de la quadrícula $L$}
39 \State $S \gets$ \Call{genSpinMatrix}{L} \Comment{Inicialitza una matriu d'spins $S$ de mida $L \times L$ aleatòriament}
40 \For{$i \gets 1, ITER$}
41 \For {$j \gets 1, L^2$} \Comment{$L^2 = N$}
42 \State $(x, y) \gets$ \Call{randPos}{} \Comment{Considerem una posició aleatòria de la xarxa}
43 \State $\Delta\Ham \gets$ \Call{difE}{S, x, y} \Comment{Calculem la diferència d'energies entre la configuració en què hem invertit l'spin a la posició $(x, y)$ i la configuració actual $S$}
44 \If{$\Delta\Ham < 0$}
45 \State $S(x, y) \gets -S(x, y)$ \Comment{Acceptem el canvi d'spin}
46 \Else
47 \State $q \gets$ \Call{rand}{$0, 1$} \Comment {Nombre aleatori entre 0 i 1}
48 \If{$q < \exp\left(\frac{- \Delta\Ham}{K_B T}\right)$}
49 \State $S(x, y) \gets -S(x, y)$ \Comment{Acceptem el canvi d'spin}
50 \EndIf
51 \EndIf
52 \EndFor
53 \EndFor
54 \EndProcedure
55\end{algorithmic}
56
57Com es pot veure a l'algoritme anterior explicat amb pseudocodi, a cada iteració del mètode es proposen $L^2$ canvis d'spin.
58
59La propietat essencial d'aquest algoritme és que les configuracions d'spin al final de cada iteració es recorren d'acord amb la seva probabilitat a la col·lectivitat canònica. Per tant, podrem calcular els valors mitjos de les variables termodinàmiques com el promig d'elles sobre totes les configuracions que anem recorrent.\cite[p.~1088]{metropolis}
60
61Els objectius de la pràctica són els següents:
62\begin{itemize}
63 \item Analitzar el comportament de l'energia, magnetització, capacitat calorífica $c_V$ i susceptibilitat magnètica $\chi$ del sistema en funció de la temperatura per diferents valors d'$L$.
64 \item Obtenir la temperatura crítica en el cas $L \to \infty$ i els exponents crítics.
65 \item Comprovar la hipòtesi de \textit{Finite Size Scaling}.
66\end{itemize}
67
68Durant tot l'informe utilitzarem unitats reduïdes, ja que és el que també utilitza el codi desenvolupat: $\Ham^* = \frac{\Ham}{J}$, $H^* = \frac{H}{J} = 0$, $T^* = \frac{K_B T}{J}$. També farem un abús de notació i ometrem l'estrella d'aquestes variables reduïdes per referir-nos a elles.
69
70\section{Evolució temporal a diferents temperatures}
71
72Com es pot observar a la figura \ref{fig:dift}, durant la simulació, tant l'energia com la magnetització convergeixen a un promig quan permetem que passin certes iteracions del mètode de Montecarlo.
73
74\begin{figure}[h]
75 \centering
76 \input{graphs/diferent_t.tex}
77 \caption{Evolució de l'energia per partícula $\langle e \rangle := \langle E \rangle/N$ i la magnetització per partícula $\langle m \rangle := \langle M \rangle/N$ durant la simulació per diferents temperatures $T$, amb $L = 32$.}
78 \label{fig:dift}
79\end{figure}
80
81Això és perquè, tal com es menciona al guió de la pràctica 3, durant les primeres iteracions la cadena de configuracions té una correlació molt forta amb la configuració inicial.\cite[p.~10]{p3} És per això que, a l'hora de calcular els promitjos, el nostre codi no considera les primeres iteracions, ja que l'energia i magnetització podrien no haver convergit al promig.
82
83Una altra conseqüència d'això és el fet que, donat que utilitzem l'algoritme \texttt{mt19937} com a generador de nombres pseudoaleatoris\footnote{Nosaltres utilitzem una traducció al Fortran escrita per Tsuyoshi Tada del programa original en C.\cite{mt19937Fortran}} i aquest depèn d'una llavor per començar a calcular-los,\cite{mt19937} per tal de no dependre de la llavor inicial la simulació es fa per diferents llavors, i les magnituds es promitgen per totes les llavors.
84
85De fet, depenent de la llavor inicial, per temperatures baixes la cadena de configuracions es manté en configuracions amb signe de la magnetització determinada (és a dir, canvia de signe amb una probabilitat molt baixa), tal com es mostra a la figura \ref{fig:depenseed}. Aquest és un altre motiu pel qual fem el promig per moltes llavors, ja que ens permet explorar tant les configuracions amb $M > 0$ com les que tenen $M < 0$.
86
87\begin{figure}[h]
88 \centering
89 \input{graphs/depEnSeed.tex}
90 \caption{Evolució temporal de $\langle e \rangle$ i $\langle m \rangle$ durant la simulació per diferents llavors (\textit{seeds}) inicials $S$, amb $L = 64$.}
91 \label{fig:depenseed}
92\end{figure}
93
94A més, segons el mateix guió, també hi ha correlació entre configuracions consecutives, així que el codi només calcula el promig amb les configuracions obtingudes cada $MCD$ iteracions per evitar introduir la correlació al càlcul del promig.
95
96\newpage
97
98\begin{figure}[h]
99 \centering
100 \input{graphs/confs.tex}
101 \caption{Configuracions al final de la simulació per diferents temperatures $T$.}
102 \label{fig:finalconf}
103\end{figure}
104
105A la figura \ref{fig:finalconf} podem veure com les configuracions finals per simulacions de temperatures diferents ens descriuen el comportament que hem vist a classe sobre el model d'Ising (recordem que estem usant unitats reduïdes): per temperatures baixes el comportament és semblant al ferromagnètic (spins paral·lels), i per temperatures altes el comportament és més semblant al paramagnètic (spins aleatoris).
106
107També podem observar com la transició té lloc contínuament, sense una temperatura crítica que delimiti les dues fases, ja que estem treballant amb una $L$ finita, i la transició de fase discontínua només té lloc al límit termodinàmic $L \to \infty$.\cite[p.~10]{p4}
108
109\section{Comportament de les variables del sistema quan \texorpdfstring{$L = 32$}{L = 32}}
110
Adrià Vilanova Martínez680bef22022-06-16 11:29:00 +0200111Després d'executar la simulació per diferents valors de $T$ amb $L = 32$ ($N = 1024$), amb punts amb menys separació en regions on hem hagut de calcular certs valors, hem obtingut els següents resultats (la incertesa no està dibuixada, perquè és ordres de magnitud més petita que la longitud característica de les gràfiques i no es veuria):
Adrià Vilanova Martínez24d87012022-06-16 00:29:59 +0200112
113\begin{figure}[h!]
114 \centering
115 \input{graphs/energia_L32.tex}
116 \caption{Energia per partícula reduïda $\langle e \rangle$ en funció de la temperatura $T$ en el cas del sistema amb $L = 32$.}
117 \label{fig:energia32}
118\end{figure}
119
120A la figura \ref{fig:energia32}, l'energia per partícula reduïda l'hem calculat com:
121\[ \langle e \rangle := \frac{\langle E \rangle}{N} = \frac{\sum_{i \in I} E_i}{\# I \cdot N}, \]
122on $I$ representa el conjunt d'iteracions que hem usat per fer el promig, i $\# I$ és el seu cardinal.
123
124Notem que hi ha un punt d'inflexió al voltant del que serà la temperatura crítica i, com és d'esperar, veiem que tendeix a -2 quan $T \to 0$ i tendeix a 0 quan $T \to \infty$, d'acord amb la figura \ref{fig:dift}.\cite[p.~3]{p4}
125
126\begin{figure}[h!]
127 \centering
128 \input{graphs/magnetitzacio_L32.tex}
129 \caption{Magnetització per partícula reduïda $\langle m \rangle$ en funció de la temperatura $T$ en el cas del sistema amb $L = 32$.}
130 \label{fig:magne32}
131\end{figure}
132
133A la figura \ref{fig:magne32}, la magnetització per partícula reduïda (el paràmetre d'ordre) l'hem calculat de dues maneres:
134\[ \langle |m| \rangle := \frac{\langle |M| \rangle}{N} = \frac{\sum_{i \in I} |M_i|}{\# I \cdot N}, \]
135\[ \sqrt{\langle m^2 \rangle} := \frac{\sqrt{\langle M^2 \rangle}}{N} = \frac{1}{N}\sqrt{\frac{\sum_{i \in I} M_i^2}{\# I}}. \]
136
137Hem usat aquestes 2 magnituds i no $\langle m \rangle$ perquè per un sistema de mida finita aquesta darrera donaria sempre 0 degut a la simetria dels spins (en invertir $\uparrow$ i $\downarrow$ la física del sistema és la mateixa, però $m$ s'inverteix).
138
139De nou, observem que hi ha un punt d'inflexió al voltant del que serà la temperatura crítica, i que tendeix a 1 quan $T \to 0$ i tendeix a 0 quan $T \to \infty$ (de nou, d'acord amb la figura \ref{fig:dift}).\cite[p.~4]{p4}
140
141\begin{figure}[h!]
142 \centering
143 \input{graphs/capacitat_calorifica_L32.tex}
144 \caption{Capacitat calorífica reduïda $c_V$ en funció de la temperatura $T$ en el cas del sistema amb $L = 32$.}
145 \label{fig:cv32}
146\end{figure}
147
148En quant a la capacitat calorífica $c_V$, representada a la figura \ref{fig:cv32}, l'hem calculat de les dues maneres següents:\footnote{\label{fn:unitatsreduides}Recordem que estem treballant amb unitats reduïdes. És a dir, estem usant $\chi^* := \frac{\chi}{K_B}$ i $c_V^* := \frac{c_V}{K_B}$, i fem un abús de notació traient-li l'estrella.}
149\[ c_V = \frac{\langle E^2 \rangle - \langle E \rangle^2}{N T^2}, \]
150\[ c_V = \frac{d\langle e \rangle}{dT} \approx \frac{\langle e \rangle(T + h) - \langle e \rangle(T)}{h}. \]
151
152Veiem a la figura \ref{fig:cv32} que efectivament ambdues maneres coincideixen, verificant que la primera expressió és adequada per calcular-la. A més, observem que aquesta variable presenta el pic a prop del que serà la temperatura crítica. També veiem que sempre és positiva, tal com esperaríem donat que així ho imposen les condicions d'estabilitat.
153
154\begin{figure}[h!]
155 \centering
156 \input{graphs/susceptibilitat_magnetica_L32.tex}
157 \caption{Susceptibilitat magnètica reduïda $\chi$ en funció de la temperatura $T$ en el cas del sistema amb $L = 32$.}
158 \label{fig:smagn32}
159\end{figure}
160
161Finalment, la susceptibilitat magnètica a la figura \ref{fig:smagn32} s'ha calculat de la següent manera:
162\[ \chi := \frac{\langle M^2 \rangle - \langle |M| \rangle^2}{NT}. \]
163
164Com en el cas de la capacitat calorífica, tornem a observar un pic a prop de la futura temperatura crítica, i de nou torna a ser positiva en tot el rang com esperaríem per les condicions d'estabilitat.
165
166\section{Dependència amb \texorpdfstring{$L$}{L}}
167
168De cara a poder obtenir els comportaments crítics en el límit termodinàmic, hem d'estudiar les magnituds de la secció anterior per diferents valors d'$L$. Per aquest motiu, treballarem amb $L \in \{ 8, 16, 32, 64 \}$, i farem les simulacions amb els següents valors dels paràmetres: $\textsc{nSeeds} = 150$, $\textsc{mcTot} = 40000$.
169
170També hem executat la simulació amb $L = 96$, però amb valors dels paràmetres molt més petits per tal de reduir el temps d'execució ($\textsc{nSeeds} = 16$, $\textsc{mcTot} = 30000$), ja que el càlcul és massa lent amb els paràmetres originals en una màquina amb un Intel Core i5 de \SI{2.7}{\giga\hertz}. Per aquest motiu no inclourem aquestes dades en el càlcul de la temperatura crítica i exponents crítics (les gràfiques amb la $L = 96$ es poden veure a l'apèndix \ref{sec:l96graphs}).
171
172\begin{figure}[h!]
173 \centering
174 \input{graphs/energia.tex}
175 \caption{Energia per partícula reduïda $\langle e \rangle$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
176 \label{fig:energia}
177\end{figure}
178
179Veiem a la figura \ref{fig:energia} que en augmentar la mida del sistema, el punt d'inflexió va pujant i movent-se cap a l'esquerra, i la segona derivada és més gran en valor absolut, tot i que fora d'aquest entorn (temperatures baixes o altes) totes les mides segueixen un comportament similar. Veiem que l'energia canvia més ràpidament just abans del punt d'inflexió en sistemes de mida més gran, ja que la derivada creix amb la mida.
180
181\begin{figure}[h!]
182 \centering
183 \input{graphs/magnetitzacio.tex}
184 \caption{Magnetització per partícula reduïda $\langle m \rangle$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
185 \label{fig:magne}
186\end{figure}
187
188En quant a la magnetització, a la figura \ref{fig:magne} veiem un comportament similar al de l'energia. La magnetització decau més ràpidament en funció de la temperatura quan la mida és més gran, i per temperatures baixes el comportament és similar. En quant a temperatures altes, és de suposar que també convergeixen totes a temperatura 0, però a la gràfica no ho observem (faltaria augmentar el rang de temperatures). El punt d'inflexió també es va movent cap a l'esquerra per mides més grans.
189
190Aquests comportaments de l'energia i magnetització ens fan sospitar que al límit termodinàmic, aquestes dues magnituds presentaran una discontinuïtat a la temperatura crítica.
191
192\begin{figure}[h!]
193 \centering
194 \input{graphs/capacitat_calorifica.tex}
195 \caption{Capacitat calorífica reduïda $c_V$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
196 \label{fig:cv}
197\end{figure}
198
199\begin{figure}[h!]
200 \centering
201 \input{graphs/susceptibilitat_magnetica.tex}
202 \caption{Susceptibilitat magnètica reduïda $\chi$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
203 \label{fig:smagn}
204\end{figure}
205
206El pic de la capacitat calorífica (figura \ref{fig:cv}) i el de la susceptibilitat magnètica (figura \ref{fig:smagn}) es van movent cap a l'esquerra i van augmentant quan augmentem $L$. Han de créixer perquè al límit termodinàmic tindrem una divergència d'ambdues magnituds a la temperatura crítica, que és el que volem estudiar.
207
208Un comentari sobre aquestes figures és que hi ha un comportament erràtic a temperatures baixes per $L = 64$ (també s'observa a les figures de l'apèndix \ref{sec:l96graphs} per $L = 96$). Això és normal segons el guió de pràctiques, i pot ser degut al fet que fa falta executar la simulació amb un nombre més alt d'iteracions.\cite[p.~5-6]{p4}
209
210\section{Comportament crític}
211
212\begin{table}[h!]
213 \centering
214 \pgfplotstabletypeset[
215 columns={0, 1, 3},
216 columns/0/.style={column name=$L$, fixed, fixed zerofill, precision=0},
217 columns/1/.style={column name=$(T_c)_{c_V} \; (\pm 0.005)$, fixed, fixed zerofill, precision=3},
218 columns/3/.style={column name=$(T_c)_\chi \; (\pm 0.005)$, fixed, fixed zerofill, precision=3},
219 ]{data/tc.dat}
220 \caption{Temperatures crítiques per les diferents $L$. S'han près com a valors les temperatures en què les gràfiques de $c_V$ i $\chi$ respectivament assoleixen el màxim.}
221 \label{tab:tc}
222\end{table}
223
224A partir dels pics de la capacitat calorífica i la susceptibilitat magnètica per diferents mides del sistema (taula $\ref{tab:tc}$), podem extrapolar el valor de la temperatura crítica al límit termodinàmic.
225
226Donat que pel model d'Ising 2D $\nu = 1$,\cite{lajko2000correlation} el comportament dels pics $T_c$ respecte la variable $1/L$ és lineal.\cite[p.~13]{p4} Per tant, fent una regressió lineal dels punts per les temperatures crítiques obtingudes de les dues magnituds per separat i extrapolant pel cas $1/L = 0$ (és a dir $L \to \infty$), obtindrem 2 estimacions de la temperatura crítica.
227
228\begin{figure}[h!]
229 \centering
230 \input{graphs/tc.tex}
231 \caption{Regressió lineal de les dades de la taula \ref{tab:tc}.}
232 \label{fig:tc}
233\end{figure}
234
235Els valors obtinguts degut a les dues regressions són, corresponentment:
236\[ \begin{cases}
237 {T_c}_{c_V} = \SI{2.264(5)}{}, \\
238 {T_c}_\chi = \SI{2.271(5)}{}.
239\end{cases} \]
240Observem que $|{T_c}_\chi - {T_c}_{c_V}| = \SI{0.01(1)}{}$ i, per tant, els dos valors són compatibles. Prendrem com a estimació de la temperatura crítica la mitjana de tots 2 valors:
241\[ \boxed{T_c = \SI{2.268(6)}{}}. \]
242
243Aquest valor a més és compatible amb el valor teòric que podem trobar a la literatura: $T_c^\text{lit} = \frac{2}{\log(1 + \sqrt{2})} \approx 2.269$.\cite[p.~9]{p4}\cite{expising2d}
244
245Per acabar d'analitzar el comportament crític, obtindrem els valors dels exponents crítics.
246
247\subsection{Exponent \texorpdfstring{$\nu$}{nu}}
248
249Donat que ja hem usat el fet que $\nu = 1$, aquest apartat realment hauria de fer-nos verificar que en el nostre sistema $\nu$ és compatible amb aquest valor.
250
251L'exponent crític $\nu$ és tal que la longitud de correlació és $\xi \propto |T - T_c|^{- \nu}$. Donat que els pics de les figures \ref{fig:cv} i \ref{fig:smagn} corresponen als casos en què la longitud de correlació és $\chi_L \approx L$,\cite[p.~10]{p4}, tindrem la relació
252\begin{equation}
253 L \approx \xi_L = \tilde{C} |(T_c)_L - T_c|^{- \nu},
254 \label{eq:nurelation}
255\end{equation}
256on $(T_c)_L$ és la temperatura crítica pel sistema finit de mida $L$ i $\tilde{C}$ és una constant. Desenvolupant l'expressió obtenim:
257\[ \log((T_c)_L - T_c) = C - \frac{1}{\nu} \log(L), \]
258on $C$ és una constant.
259
260\begin{figure}[h!]
261 \centering
262 \input{graphs/nu.tex}
263 \caption{Regressió lineal per calcular la $\nu$, utilitzant les dades de la taula \ref{tab:tc}.}
264 \label{fig:nu}
265\end{figure}
266
267Després de fer una regressió lineal de les dades, com hem representat a la figura \ref{fig:nu}, obtenim els següents valors de la pendent de les rectes de regressió:
268\[ \begin{cases}
269 - \frac{1}{\nu_{c_V}} = \SI{-0.84(11)}{}, \\
270 - \frac{1}{\nu_\chi} = \SI{-1.01(2)}{},
271\end{cases} \]
272que donen:
273\[ \begin{cases}
274 \nu_{c_V} = \SI{1.19(16)}{}, \\
275 \nu_\chi = \SI{0.99(2)}{}
276\end{cases} \]
277
278Ambdós valors són compatibles amb el valor de la literatura $\nu = 1$ (prenent 2 sigmes), així que hem verificat que la temperatura crítica és consistent.
279
280\subsection{Exponent \texorpdfstring{$\alpha$}{alfa}}
281
282Donat que $c_V \propto |T - T_c|^{-\alpha}$, utilitzant \eqref{eq:nurelation} obtenim:
283\[ c_V^\text{c} \equiv c_V((T_c)_{c_V}) = \tilde{C} L^\frac{\alpha}{\nu}. \]
284
285Avaluant $\nu = 1$ a l'expressió i fent una mica d'àlgebra, obtenim aquesta expressió amb què fer una regressió lineal:
286\[ \log(c_V^\text{c}) = C + \alpha \log(L). \]
287
288\begin{figure}[h!]
289 \centering
290 \input{graphs/alpha.tex}
291 \caption{Regressió lineal per calcular l'$\alpha$, utilitzant les dades de la taula \ref{tab:tc}.}
292 \label{fig:alpha}
293\end{figure}
294
295La regressió lineal ens dona el següent valor de l'exponent crític:
296\[ \boxed{\alpha = \SI{0.30(3)}{}}. \]
297
298Observem que aquest valor no és compatible amb el valor de la literatura de l'exponent crític $\alpha_\text{lit} = 0$.\cite[p.~9]{p4}\cite{expising2d}
299
300\subsection{Exponent \texorpdfstring{$\gamma$}{gamma}}
301
302Com $\chi \propto |T - T_c|^{- \gamma}$, fent la mateixa deducció que per l'exponent $\alpha$ (però ara utilitzant $\chi$ en comptes de $c_V$ i $\gamma$ en comptes de $\alpha$), obtenim la següent expressió amb què podem fer una regressió per obtenir el valor de $\gamma$:
303\[ \chi^\text{c} = C + \gamma \log(L). \]
304
305\begin{figure}[h!]
306 \centering
307 \input{graphs/gamma.tex}
308 \caption{Regressió lineal per calcular la $\gamma$, utilitzant les dades de la taula \ref{tab:tc}.}
309 \label{fig:gamma}
310\end{figure}
311
312A partir de la regressió obtenim el següent valor:
313\[ \boxed{\gamma = \SI{1.77(3)}{}}. \]
314
315L'exponent de la literatura és $\gamma_\text{lit} = 1.75$, que està dins del rang d'incertesa del nostre valor i, per tant, són compatibles.\cite[p.~9]{p4}\cite{expising2d}
316
317\subsection{Exponent \texorpdfstring{$\beta$}{beta}}
318
319L'exponent $\beta$ és tal que $|m| \propto |T_c - T|^\beta$. De nou usant \eqref{eq:nurelation}, $\nu = 1$ obtenim $|m((T_c)_L)| = \tilde{C}L^{- \frac{\beta}{\nu}}$.
320
321De nou, fem dues regressions amb la següent expressió derivada de l'anterior:
322\[ \log(|m^\text{c}|) \equiv \log(|m(T_c)_L|) = C - \frac{\beta}{\nu} \log(L). \]
323
324\begin{figure}[h!]
325 \centering
326 \input{graphs/beta.tex}
327 \caption{Regressió lineal per calcular la $\beta$, utilitzant les dades de la taula \ref{tab:tc}.}
328 \label{fig:beta}
329\end{figure}
330
331Obtenim els següents valors:
332\[ \begin{cases}
333 \beta_{c_V} = \SI{0.14(2)}{}, \\
334 \beta_\chi = \SI{0.13(2)}{}.
335\end{cases} \]
336
337El valor de la literatura de l'exponent és $\beta_\text{lit} = 0.125$, així que ambdós estimacions són compatibles perquè $\beta_\text{lit}$ està dins dels dos intervals de confiança.\cite[p.~9]{p4}\cite{expising2d}
338
339Prenem com a estimació final el promig:
340\[ \boxed{\beta = \SI{0.13(2)}{}}. \]
341
342\subsection{Exponent \texorpdfstring{$\delta$}{delta}}
343
344Per calcular el coeficient $\delta$ (que és tal que $m \propto |H - H_c|^{1/\delta}$), donat que hem considerat $H = 0$ durant tota la pràctica, hem de calcular-lo mitjançant una de les relacions d'escala:
345\[ 2\beta + \gamma = \beta(\delta + 1) \implies \delta = 1 + \frac{\gamma}{\beta}. \]
346Mitjançant aquesta relació d'escala, obtenim:
347\[ \boxed{\delta = \SI{15(2)}{}}, \]
348que és compatible amb el valor de la literatura $\delta_\text{lit} = 15$.\cite[p.~9]{p4}\cite{expising2d}
349
350\section{\textit{Finite Size Scaling}}
351
352Jae-Kwon Kim al seu article \textit{Application of finite size scaling to Monte Carlo simulations} introdueix una tècnica per corregir els efectes de mida finita.\cite{finitesizescaling} Citant textualment el guió de pràctiques, la hipòtesi sobre la qual es fonamenta aquesta tècnica és la següent:\cite[p.~17]{p4}
353
354\begin{displayquote}
355 Una propietat termodinàmica $P$ que divergeixi en el punt crític com $P_\infty(t) \sim t^{- \rho}$, pels sistemes finits serà analítica i es comporta com:
356 \[ \frac{P_L(t)}{P_\infty(t)} = f_P\left( \frac{L}{\xi_\infty(t)} \right), \]
357 on $t = \frac{T - T_c}{T_c}$. [...]
358
359 Per tant:
360 \begin{equation}\label{eq:fss1} \langle |m| \rangle_L \propto L^{- \frac{\beta}{\nu}} \Psi\left(t L^{\frac{1}{\nu}}\right), \end{equation}
361 \begin{equation}\label{eq:fss2} \chi_L \propto L^{\frac{\gamma}{\nu}} \Psi\left(t L^{\frac{1}{\nu}}\right). \end{equation}
362\end{displayquote}
363
364\begin{figure}[h!]
365 \centering
366 \input{graphs/magnetitzacio_fss.tex}
367 \caption{Representació gràfica de les dades per verificar l'expressió \eqref{eq:fss1}.}
368 \label{fig:mFss}
369\end{figure}
370
371\begin{figure}[h!]
372 \centering
373 \input{graphs/susceptibilitat_magnetica_fss.tex}
374 \caption{Representació gràfica de les dades per verificar l'expressió \eqref{eq:fss2}.}
375 \label{fig:chiFss}
376\end{figure}
377
378Podem confirmar que els resultats anteriors predits per la hipòtesi es compleixen degut al fet que a les figures \ref{fig:mFss} i \ref{fig:chiFss} totes les gràfiques per $L$ diferents coincideixen en la mateixa funció $\Psi$.
379
380\section{Conclusions}
381
382Hem pogut comprovar que l'algoritme de Metropolis és una bona manera de simular el model d'Ising 2D, degut al fet que hem pogut analitzar que la simulació es comporta com marca la teoria, en quant a l'evolució temporal i les configuracions finals.
383
384A més, hem pogut extrapolar al límit termodinàmic per obtenir la temperatura crítica i els exponents crítics d'acord amb els valors de la literatura, exceptuant l'exponent $\alpha$, que no és compatible amb el valor de la literatura. I també hem pogut validar la hipòtesi del \textit{Finite Size Scaling} en el nostre model.
385
386\begin{table}[h!]
387 \centering
388 \begin{tabular}{c|cc}
389 & Valor calculat & Valor de la literatura \\
390 \hline
391 $T_c$ & $\SI{2.268(6)}{}$ & $\frac{2}{\log(1 + \sqrt{2})} \approx 2.269$ \\
392 $\alpha$ & $\SI{0.30(3)}{}$ & 0 \\
393 $\beta$ & $\SI{0.13(2)}{}$ & 0.125 \\
394 $\gamma$ & $\SI{1.77(3)}{}$ & 1.75 \\
395 $\nu$ & \SI{0.99(2)}{} & 1 \\
396 $\delta$ & $\SI{15(2)}{}$ & 15 \\
397 \end{tabular}
398 \caption{Resum dels coeficients calculats i els de la literatura.\cite[p.~9]{p4}\cite{expising2d}}
399 \label{tab:expcrit}
400\end{table}
401
402Per altra banda, a temperatures baixes hem observat comportament erràtics en la magnetització (figura \ref{fig:magne}), capacitat calorífica (figura \ref{fig:cv}) i susceptibilitat magnètica (figura \ref{fig:smagn}) per $L$ grans, i hem obtingut algunes incerteses una mica grans durant el desenvolupament.
403
404De cara a millorar això i la discrepància en l'exponent $\alpha$, seria útil provar d'augmentar el nombre d'iteracions i de llavors inicials. Tot i així, això no ens garanteix una millora, perquè pot ser que els errors de la màquina deguts a la precisió finita prevalguin.
405
406\appendix
407
408\clearpage
409
410\section{\texorpdfstring{Gràfiques de la dependència amb $L$ incloent $L = 96$}{Gràfiques de la dependència amb L incloent L = 96}}\label{sec:l96graphs}
411
412\begin{center}
413 \centering
414 \input{graphs/energia_ALLL.tex}
415 \captionof{figure}{Energia per partícula reduïda $\langle e \rangle$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
416\end{center}
417
418\begin{center}
419 \centering
420 \input{graphs/magnetitzacio_ALLL.tex}
421 \captionof{figure}{Magnetització per partícula reduïda $\langle m \rangle$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
422\end{center}
423
424\begin{center}
425 \centering
426 \input{graphs/capacitat_calorifica_ALLL.tex}
427 \captionof{figure}{Capacitat calorífica reduïda $c_V$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
428\end{center}
429
430\begin{center}
431 \centering
432 \input{graphs/susceptibilitat_magnetica_ALLL.tex}
433 \captionof{figure}{Susceptibilitat magnètica reduïda $\chi$ en funció de la temperatura $T$ per sistemes de diferent $L$.}
434\end{center}
435
436\clearpage
437
438\onecolumn
439
440\section{Comentari sobre algunes otimitzacions realitzades i el codi}
441
442De cara a millorar el rendiment de la simulació, s'han realitzat dues optimitzacions:
443
444\begin{enumerate}
445 \item La primera d'elles és que la magnetització no es recalcula a cada iteració, sinó que es va actualitzant que s'accepta un canvi d'spin, d'una manera similar al que ja fem es fa amb l'energia, Això es fa sumant 2 vegades el nou valor de l'spin canviat.
446 \item La segona optimització consisteix en executar diverses simulacions paral·lelament en diferents nuclis de la CPU. D'aquesta manera, s'ha pogut millorar el temps de simulació tot i la lentitud de l'ordinador en què s'ha executat. Això s'ha realitzat amb un programa anomenat GNU Parallel que gestiona les tasques i les executa simultàniament.\cite{parallel}
447\end{enumerate}
448
449Finalment, el codi adjunt no és un únic fitxer Fortran, ja que he usat scripts auxiliars per interaccionar amb el programa principal \texttt{mc-2}. Això m'ha permès treballar més eficientment. A més, el fitxer principal \texttt{MC-2.f90} depèn en diversos fitxers Fortran. Això s'ha fet per distribuir el codi d'una manera que sigui més llegible.
450
451El codi íntegre, i el codi font d'aquest informe, també estan disponibles a la següent adreça (està penjat a un servidor Git): \url{https://iavm.xyz/lab-fenomens}.
452
453\printbibliography
454
455\end{document}