Finish abstract and conclusion.

This commit is contained in:
Janita Willumsen 2023-12-01 15:46:44 +01:00
parent 064bf61ffb
commit 4c7cf537f4
3 changed files with 63 additions and 36 deletions

View File

@ -512,15 +512,28 @@ exponents. For an Ising model of infinite lattice size in two dimensions we have
% \label{fig:histogram_2_4}
% \end{figure}
For $T_{2}$ the samples are distributed across a wider range of energy values, the expected value is at approx -1.2, corresponding to what we observed the value at equilibrium in Figure \ref{fig:burn_in_energy_2_4}. In addition, the distribution has a higher variance for temperature close to critical. We also observe that the shape of sample distribution closely resemble the normal distribution.
For $T_{2}$ the samples are distributed across a wider range of energy values,
the expected value is at approx -1.2, corresponding to what we observed the value
at equilibrium in Figure \ref{fig:burn_in_energy_2_4}. In addition, the distribution
has a higher variance for temperature close to critical. We also observe that the
shape of sample distribution closely resemble the normal distribution.
For a $L \times L$ lattice with $N = L^2$ spins and $M = 2^{N}$ microstates, the variance scale as Var$(L) = \frac{1}{\sqrt{2^{L \times L}}}$.
% For a $L \times L$ lattice with $N = L^2$ spins and $M = 2^{N}$ microstates,
% the variance scale as Var$(L) = \frac{1}{\sqrt{2^{L \times L}}}$.
The spin correlation function = covariance, degree of correlation between spins.
% The spin correlation function = covariance, degree of correlation between spins.
We started parallel implementation using OpenMP, limiting number of threads to ensure the program did not hog the entire cpu. We made sure the workload was divided equally between workers (threads) to ensure balanced workload. In addition, we created a look-up-table for values of energy shift to limit repeated calculations and parallel overhead of if-statements. We limit the number of times threads are spawned and joined, by using single parallel regions, reducing parallel overhead.
% We started parallel implementation using OpenMP, limiting number of threads to
% ensure the program did not hog the entire cpu. We made sure the workload was
% divided equally between workers (threads) to ensure balanced workload. In addition,
% we created a look-up-table for values of energy shift to limit repeated calculations
% and parallel overhead of if-statements. We limit the number of times threads are
% spawned and joined, by using single parallel regions, reducing parallel overhead.
To improve the efficiancy we divided the range of temperatures between MPI processes, parallelizing the simulation further. Each mpi process then spawn a number of threads which initialize their own Ising model, running through burn-in time and generate samples.
% To improve the efficiancy we divided the range of temperatures between MPI processes,
% parallelizing the simulation further. Each mpi process then spawn a number of threads
% which initialize their own Ising model, running through burn-in time and generate
% samples.
We used Fox \footnote{Technical specifications for Fox can be found at \url{https://www.uio.no/english/services/it/research/platforms/edu-research/help/fox/system-overview.md}}, a high-performance computing cluster, to 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.
@ -585,7 +598,9 @@ When the speed-up was satisfactory, we investigated the phase transition for lat
% T_{c}(L = \infty) = \frac{2}{\ln (1 + \sqrt{2})} J/k_{B} \approx 2.269 J/k_{B}
% \end{equation}
% using linear regression. In Figure \ref{fig:linreg} we show the critical temperatures as function of the inverse lattice size. As size goes toward infinity we reach inv L = 0 and find the intercept which is equal to the estimated critical of L=infty.
which is close to the analytical solution $T_{C}(L = \infty) \approx 2.269 J/k_{B}$
found by Lars Onsager.
% \begin{figure}
% \centering
% \includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/1M/linreg.pdf}

View File

@ -2,19 +2,20 @@
\begin{document}
\begin{abstract}
$\boldsymbol{Draft}$
We have used the Ising model to study the behavior in ferromagnets, when undergoing
a phase transition near a critical temperature. We generated samples using the
Markov chain Monte Carlo method, while utilizing methods of parallelization.
Finding the burn-in time to be approx. 3000 Monte Carlo cycles. For temperature
$T = 1.0 J / k_{B}$ we found a propability distrobution with an expected mean
value of $\mu \approx -1.9969$ and variation $\sigma^{2} = 0.0001$. Whereas the
pdf close to the critical temperature is $\mu \approx -1.2370$ and variation
$\sigma^{2} = 0.0203$. We estimated the expected energy and magnetization per spin,
in addition to the heat capacity and susceptibility. Using the values from
finite sized lattices, we approximated the critical temperature of an infinite
sized lattice. Using linear regression, we numerically estimated $T_{c}$ $T_{C}(L = \infty) \approx 2.2695$
which is close to the analytical solution $T_{C}(L = \infty) \approx 2.269 J/k_{B}$
found by Lars Onsager.
We have studied the ferromagnetic behavior of the Ising model at a critical
temperature, when undergoing phase transition. To generate spin configurations,
we used the Metropolis-Hastings algorithm, which applies a Markov chain Monte
Carlo sampling method. We determined the time of equilibrium to be approximately
3000 Monte Carlo cycles, and used the following samples to find the probability
distribution at temperature $T_{1} = 1.0 J / k_{B}$, and $T_{2} = 2.4 J / k_{B}$.
For $T_{1}$ the mean energy per spin is $\langle \epsilon \rangle \approx -1.9969 J$,
with a variation $\text{Var} (\epsilon) = 0.0001$. And for $T_{2}$, close to the critical
temperature, the mean energy per spin is $\langle \epsilon \rangle \approx -1.2370 J$,
with a variation $\text{Var} (\epsilon) = 0.0203$. In addition, we estimated
the expected energy and magnetization per spin, the heat capacity and magnetic
susceptibility. We estimate the critical temperatures of finite lattice sizes,
and used these values to approximate the critical temperature of a lattice of
infinite size. Using linear regression, we estimated the critical temperature
to be $T_{c}(L = \infty) \approx 2.2695 J/k_{B}$.
\end{abstract}
\end{document}

View File

@ -2,23 +2,34 @@
\begin{document}
\section{Conclusion}\label{sec:conclusion}
$\boldsymbol{Draft}$
We have studied ferromagnetism using the Ising model, and observed
a phase transition when the temperature of the system is close to the critical
temperature. We used the Markov chain Monte Carlo method to generate samples of
spin configurations, while utilizing methods of parallelization.
We studied the ferromagnetic behavior of the Ising model, and observed a phase
transition at temperatures close to the critical temperature. We used a Markov
chain Monte Carlo sampling method to generate spin configurations, while utilizing
parallel programming techniques. When increasing number of processes, and number
of threads we observed a speed-up in runtime.
We initialized the lattices using both ordered and unordered spin configuration,
and started sampling after the system reached an equilibrium. The number of Monte
Carlo cycles necessary to reach a system equilibrium, referred to as burn-in time,
was estimated to be 3000 cycles. We found that excluding the samples generated
during the burn-in time, improves the estimated expectation value of energy and
magnetization, in addition to the heat capacity and susceptibility, when samples
are sparse. However, when we increase number of samples, excluding the burn-in
samples does not affect the estimated values.
We use the samples to compute energy per spin $\langle \epsilon \rangle$,
Continuing, we used the generated samples to compute energy per spin $\langle \epsilon \rangle$,
magnetization per spin $\langle |m| \rangle$, heat capacity $C_{V}$, and $\chi$.
Finding the burn-in time to be approx. 3000 Monte Carlo cycles. For temperature
$T = 1.0 J / k_{B}$ we found a propability distrobution with an expected mean
value of $\mu \approx -1.9969$ and variation $\sigma^{2} = 0.0001$. Whereas the
pdf close to the critical temperature is $\mu \approx -1.2370$ and variation
$\sigma^{2} = 0.0203$. We estimated the expected energy and magnetization per spin,
in addition to the heat capacity and susceptibility. Using the values from
finite sized lattices, we approximated the critical temperature of an infinite
sized lattice. Using linear regression, we numerically estimated $T_{c}$ $T_{C}(L = \infty) \approx 2.2695$
which is close to the analytical solution $T_{C}(L = \infty) \approx 2.269 J/k_{B}$
found by Lars Onsager.
In addition, we estimated the probability distribution for temperature $T_{1} = 1.0 J / k_{B}$,
and $T_{2} = 2.4 J / k_{B}$. We found that for $T_{1}$ the expected mean energy
per spin is $\langle \epsilon \rangle \approx -1.9969 J$, with a variation $\text{Var} (\epsilon) = 0.0001$.
And for $T_{2}$, the mean energy per spin is $\langle \epsilon \rangle \approx -1.2370 J$,
with a variation $\text{Var} (\epsilon) = 0.0203$.
We estimated the expected energy and magnetization per spin, in addition to the
heat capacity and susceptibility for lattices of size $L = {20, 40, 60, 80, 100}$.
We observed a phase transition in the temperature range $T \in [2.1, 2.4] J / k_{B}$.
Using the values from the finite lattices, we approximated the critical temperature
of a lattice of infinite size. Using linear regression, we numerically estimated
$T_{c}(L = \infty) \approx 2.2695 J/k_{B}$ which is close to the analytical solution
$T_{C}(L = \infty) \approx 2.269 J/k_{B}$ Lars Onsager found in 1944.
\end{document}