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} % \label{fig:histogram_2_4}
% \end{figure} % \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. 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.
@ -586,6 +599,8 @@ When the speed-up was satisfactory, we investigated the phase transition for lat
% \end{equation} % \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. % 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} % \begin{figure}
% \centering % \centering
% \includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/1M/linreg.pdf} % \includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/1M/linreg.pdf}

View File

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

View File

@ -2,23 +2,34 @@
\begin{document} \begin{document}
\section{Conclusion}\label{sec:conclusion} \section{Conclusion}\label{sec:conclusion}
$\boldsymbol{Draft}$ We studied the ferromagnetic behavior of the Ising model, and observed a phase
We have studied ferromagnetism using the Ising model, and observed transition at temperatures close to the critical temperature. We used a Markov
a phase transition when the temperature of the system is close to the critical chain Monte Carlo sampling method to generate spin configurations, while utilizing
temperature. We used the Markov chain Monte Carlo method to generate samples of parallel programming techniques. When increasing number of processes, and number
spin configurations, while utilizing methods of parallelization. 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$. 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 In addition, we estimated the probability distribution for temperature $T_{1} = 1.0 J / k_{B}$,
$T = 1.0 J / k_{B}$ we found a propability distrobution with an expected mean and $T_{2} = 2.4 J / k_{B}$. We found that for $T_{1}$ the expected mean energy
value of $\mu \approx -1.9969$ and variation $\sigma^{2} = 0.0001$. Whereas the per spin is $\langle \epsilon \rangle \approx -1.9969 J$, with a variation $\text{Var} (\epsilon) = 0.0001$.
pdf close to the critical temperature is $\mu \approx -1.2370$ and variation And for $T_{2}$, the mean energy per spin is $\langle \epsilon \rangle \approx -1.2370 J$,
$\sigma^{2} = 0.0203$. We estimated the expected energy and magnetization per spin, with a variation $\text{Var} (\epsilon) = 0.0203$.
in addition to the heat capacity and susceptibility. Using the values from
finite sized lattices, we approximated the critical temperature of an infinite We estimated the expected energy and magnetization per spin, in addition to the
sized lattice. Using linear regression, we numerically estimated $T_{c}$ $T_{C}(L = \infty) \approx 2.2695$ heat capacity and susceptibility for lattices of size $L = {20, 40, 60, 80, 100}$.
which is close to the analytical solution $T_{C}(L = \infty) \approx 2.269 J/k_{B}$ We observed a phase transition in the temperature range $T \in [2.1, 2.4] J / k_{B}$.
found by Lars Onsager. 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} \end{document}