189 lines
9.5 KiB
TeX
189 lines
9.5 KiB
TeX
\documentclass[../ising_model.tex]{subfiles}
|
|
|
|
\begin{document}
|
|
\section{Results}\label{sec:results}
|
|
\subsection{Burn-in time}\label{subsec:burnin_time}
|
|
$\boldsymbol{Draft}$
|
|
We decided with a burn-in time parallelization trade-off. That is, we set the
|
|
burn-in time lower in favor of sampling. To take advantage of the parallelization
|
|
and not to waste computational resources. The argument to discard samples generated
|
|
during the burn-in time is ... Increasing number of samples outweigh the ...
|
|
parallelize using MPI. We generated
|
|
samples for the temperature range $T \in [2.1, 2.4]$. Using Fox we generated both
|
|
1 million samples and 10 million samples.
|
|
|
|
We start with a lattice where $L = 20$, to study the burn-in time, that is the
|
|
number of Monte Carlo cycles necessary for the system to reach an equilibrium.
|
|
We consider two different temperatures $T_{1} = 1.0 J/k_{B}$ and $T_{2} = 2.4 J/k_{B}$,
|
|
where $T_{2}$ is close to the critical temperature. We can use the correlation
|
|
time $\tau \approx L^{d + z}$ to determine time, where $d$ is the dimensionality
|
|
of the system and $z = 2.1665 \pm 0.0012$ \footnote{This value was determined by
|
|
Nightingale and Blöte for the Metropolis algorithm.}
|
|
%
|
|
We show the numerical estimates for temperature $T_{1}$ of $\langle \epsilon \rangle$
|
|
in Figure \ref{fig:burn_in_energy_1_0} and $\langle |m| \rangle$ in Figure
|
|
\ref{fig:burn_in_magnetization_1_0}. For temperature $T_{2}$, the numercal estimate
|
|
of $\langle \epsilon \rangle$ is shown in Figure \ref{fig:burn_in_energy_2_4} and
|
|
$\langle |m| \rangle$ in Figure \ref{fig:burn_in_magnetization_2_4}. The lattice
|
|
is initialized in both an ordered and an unordered state. We observe that for
|
|
$T_{1}$ there is no change in either expectation value with increasing number of
|
|
Monte Carlo cycles, when we start with an ordered state. As for the unordered
|
|
lattice, we observe a change for the first 5000 MC cycles, where it stabilizes.
|
|
The approximated expected energy is $-2$ and expected magnetization is $1.0$,
|
|
which is to be expected for temperature 0f $1.0$. T is below the critical and the
|
|
pdf using $T = 1.0$ result in
|
|
\begin{align*}
|
|
p(s|T=1.0) &= \frac{1}{e^{-\beta \sum E(s)}} e^{-\beta E(s)} \\
|
|
&= \frac{1}{e^{-(1/k_{B}) \sum E(s)}} e^{-(1/k_{B}) E(s)} \ .
|
|
\end{align*}
|
|
% Burn-in figures
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/burn_in_time_magnetization_1_0.pdf}
|
|
\caption{$\langle |m| \rangle$ as a function of time, for $T = 1.0 J / k_{B}$}
|
|
\label{fig:burn_in_magnetization_1_0}
|
|
\end{figure}
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/burn_in_time_energy_1_0.pdf}
|
|
\caption{$\langle \epsilon \rangle$ as a function of time, for $T = 1.0 J / k_{B}$}
|
|
\label{fig:burn_in_energy_1_0}
|
|
\end{figure}
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/burn_in_time_magnetization_2_4.pdf}
|
|
\caption{$\langle |m| \rangle$ as a function of time, for $T = 2.4 J / k_{B}$}
|
|
\label{fig:burn_in_magnetization_2_4}
|
|
\end{figure}
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/burn_in_time_energy_2_4.pdf}
|
|
\caption{$\langle \epsilon \rangle$ as a function of time, for $T = 2.4 J / k_{B}$}
|
|
\label{fig:burn_in_energy_2_4}
|
|
\end{figure}
|
|
|
|
|
|
\subsection{Probability distribution}\label{subsec:probability_distribution}
|
|
% Histogram figures
|
|
We used the estimated burn-in time as starting time for sampling, and generated
|
|
samples. To visualize the distribution of energy per spin $\epsilon$, we used histograms
|
|
with a bin size (...). In Figure \ref{fig:histogram_1_0} we show the distribution
|
|
for $T_{1}$, where the majority of the energy per spin is $-2$. The resulting expectation
|
|
value of energy per spin is $\langle \epsilon \rangle = -1.9969$, with a low variance
|
|
of Var$(\epsilon) = 0.0001$. %
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/pd_estimate_1_0.pdf}
|
|
\caption{Histogram $T = 1.0 J / k_{B}$}
|
|
\label{fig:histogram_1_0}
|
|
\end{figure} %
|
|
In Figure \ref{fig:histogram_2_4}, for $T_{2}$, the samples of energy per spin is
|
|
centered around the expectation value $\langle \epsilon \rangle = -1.2370$. %
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/pd_estimate_2_4.pdf}
|
|
\caption{Histogram $T = 2.4 J / k_{B}$}
|
|
\label{fig:histogram_2_4}
|
|
\end{figure} %
|
|
However, we observe a higher variance of Var$(\epsilon) = 0.0203$. When the temperature
|
|
increase, the system moves from an ordered to an onordered state. The change in
|
|
system state, or phase transition, indicates the temperature is close to a critical
|
|
point.
|
|
|
|
|
|
\subsection{Phase transition}\label{subsec:phase_transition}
|
|
$\boldsymbol{Draft}$
|
|
% Phase transition figures
|
|
We continue investigating the behavior of the system around the critical temperature.
|
|
First, we generated $10$ million samples of spin configurations for lattices of
|
|
size $L \in \{20, 40, 60, 80, 100\}$, and temperatures $T \in [2.1, 2.4]$. We divided the
|
|
temperature range into $40$ steps, with an equal step size of $0.0075$. The samples
|
|
were generated in parallel, where we allocated $4$ sequential temperatures to $10$
|
|
MPI processes. Each process was set to spawn $10$ thread, resulting in a total of
|
|
$100$ threads working in parallel. We include results for $1$ million MC cycles
|
|
in Appendix \ref{sec:additional_results}
|
|
|
|
$\boldsymbol{Rewrite}$ We ran a profiler to make sure the program was fully optimized which found that the
|
|
workload was balanced, the threads was not left idle to long/not a lot of downtime.
|
|
|
|
In Figure \ref{fig:phase_energy_10M}, for the larger lattices we observe a sharper
|
|
increase in $\langle \epsilon \rangle$ in the temperature range $T \in [2.25, 2.35]$. %]
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/energy.pdf}
|
|
\caption{$\langle \epsilon \rangle$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.}
|
|
\label{fig:phase_energy_10M}
|
|
\end{figure} %
|
|
We observe a deacrese in $\langle |m| \rangle$ for the same temperature range in
|
|
Figure \ref{fig:phase_magnetization_10M}, suggesting the system moves from an ordered
|
|
magnetized state to a state of no net magnetization. The system energy increase,
|
|
however, there is a loss of magnetization close to the critical temperature.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/magnetization.pdf}
|
|
\caption{$\langle |m| \rangle$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.}
|
|
\label{fig:phase_magnetization_10M}
|
|
\end{figure} %
|
|
In Figure \ref{fig:phase_heat_10M}, we observe an increase in heat capacity in the
|
|
temperature range $T \in [2.25, 2.35]$. In addition, we observed a sharper peak
|
|
value of heat capacity the lattice size increase.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/heat_capacity.pdf}
|
|
\caption{$C_{V}$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.}
|
|
\label{fig:phase_heat_10M}
|
|
\end{figure} %
|
|
The magnetic susceptibility in Figure \ref{fig:phase_susceptibility_10M}, showed
|
|
the sharp peak in the same temperature range as that of the heat capacity. Since
|
|
shape of the curve for both heat capacity and the magnetic susceptibility become
|
|
sharper when we increase lattice size, we are moving closer to the critical temperature.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/susceptibility.pdf}
|
|
\caption{$\chi$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.}
|
|
\label{fig:phase_susceptibility_10M}
|
|
\end{figure} %
|
|
% Add something about the correlation length?
|
|
|
|
|
|
\subsection{Critical temperature}\label{subsec:critical_temperature}
|
|
Based on the heat capacity (Figure \ref{fig:phase_heat_10M}) and susceptibility
|
|
(Figure \ref{fig:phase_susceptibility_10M}), we estimated the critical temperatures
|
|
of lattices of size $L \in \{20, 40, 60, 80, 100\}$ found in Table \ref{tab:critical_temperatures}.
|
|
\begin{table}[H]
|
|
\centering
|
|
\begin{tabular}{cc} % @{\extracolsep{\fill}}
|
|
\hline
|
|
$L$ & $T_{c}(L)$ \\
|
|
\hline
|
|
$20$ & $J$ \\
|
|
$40$ & $1$ \\
|
|
$60$ & $J / k_{B}$ \\
|
|
$80$ & $k_{B}$ \\
|
|
$100$ & $1 / J$ \\
|
|
\hline
|
|
\end{tabular}
|
|
\caption{Estimated critical temperatures for lattices $L \times L$.}
|
|
\label{tab:critical_temperatures}
|
|
\end{table}
|
|
We used the critical temperatures of finite lattices and the scaling relation in
|
|
Equation \eqref{eq:critical_infinite}, Section \ref{subsec:phase_critical}, to estimate
|
|
the critical temperature of a lattice of infinite size. In Figure \ref{fig:linreg_10M},
|
|
we plot the critical temperatures $T_{c}(L)$ of the inverse lattice size $1/L$. When
|
|
the lattice size increase toward infinity, $1/L$ approaches zero. %
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/linreg.pdf}
|
|
\caption{Linear regression, where $\beta_{0}$ is the intercept approximating $T_{c}(L = \infty)$, and $\beta_{1}$ is the slope.}
|
|
\label{fig:linreg_10M}
|
|
\end{figure}
|
|
Using linear regression, we find the intercept which gives us an estimated value
|
|
of the critical temperature for a lattice of infinite size. We find the critical
|
|
temperature to be $T_{c \text{num}} \approx 2.2695 J/k_{B}$. We also compared the
|
|
estimate with the analytical solution, the relative error of our estimate is
|
|
\begin{equation*}
|
|
\text{Relative error} = \frac{T_{c \text{ numerical}} - T_{c \text{ analytical}}}{T_{c \text{ analytical}}} \approx 0.001 J/k_{B}
|
|
\end{equation*}
|
|
|
|
\end{document}
|