Finish abstract and conclusion.
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user