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}
|
% \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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user