Finish abstract and conclusion.
This commit is contained in:
parent
064bf61ffb
commit
4c7cf537f4
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user