\documentclass[../ising_model.tex]{subfiles} \begin{document} \section{Methods}\label{sec:methods} \subsection{The Ising model}\label{sec:ising_model} % Add definitions The Ising model correspond to a lattice with a number of spin sites, where each spin has the possible state up $\uparrow$ or down $\downarrow$. We will study the two-dimensional Ising model for ferromagnets, however, the model is not resticted to this dimentionality~\cite[p. 3]{obermeyer:2020:ising}. We will assume a square lattice, where the length $L$ of the lattice give the number of spin sites $N = L^{2}$. When we consider the entire 2D lattice we can study the system spin configuration, or the microstate, given by $\mathbf{s} = (s_{1}, s_{2}, \dots, s_{N})$. The value of each spin $s_{i}$, where $i \in [1, N]$, is given by the direction of the spin $\uparrow = +1$ and $\downarrow = -1$. We find the total energy of the system using \begin{equation}\label{eq:energy} E(\mathbf{s}) = -J \sum_{\langle k l \rangle}^{N} s_{k} s_{l} \end{equation} where $\langle k l \rangle$ denotes the neighboring spins. The total magnetization of the system is given by \begin{equation}\label{eq:magnetization} M(\mathbf{s}) = \sum_{i}^{N} s_{i}, \end{equation} with degeneracy denoting how many states have the same values. We will consider a 2D lattice with $L = 2$, with periodic boundary conditions, following the counting pattern shown in figure~\ref{fig:tikz_counting}. The resulting values for the $2 \times 2$ lattice can be found in table \ref{tab:lattice_config}. \begin{table}[H] \centering \begin{tabular}{cccc} % @{\extracolsep{\fill}} \hline Spins up & $E(\mathbf{s})$ & $M(\mathbf{s})$ & Degeneracy \\ \hline 4 & -8J & 4 & 1 \\ 3 & 0 & 2 & 4 \\ \multirow{2}*{2} & 0 & 0 & 4 \\ & 8J & 0 & 2 \\ 1 & 0 & -2 & 4 \\ 0 & -8J & -4 & 1 \\ \hline \end{tabular} \caption{Values} \label{tab:lattice_config} \end{table} Probability stuff, for a system with a given temperature $T$. We use the Boltzmann distribution in the analytical expression, to compare with our results. This is a probability distribution from the family of exponential \begin{equation}\label{eq:boltzmann_distribution} p(\mathbf{s} \ | \ T) = \frac{1}{Z} \exp^{-\beta E(\mathbf{s})}, \end{equation} where $Z$ is the partition function $\beta$ is the related to the inverse of the temperature as \begin{equation}\label{eq:beta} \beta = \frac{1}{k_{\text{B}} T}. \end{equation} We derive an analytical expression for $Z$ in appendix \ref{sec:analytical_expressions} We will assume a $2 \times 2$ lattice to study the possible system states, and to find analytical expressions necessary in the Markov Chain Monte Carlo method. These results are used to test our code during implementation. We study the 2D lattice and find the total energy and the total magnetization of of the system, in addition to the degeneracy. In addition, we want to work with unitless spins. To obtain this, we introduce the base unit for energy $J$, and with the Boltzmann constant we derive other units necessary. The resulting units can be found in table \ref{tab:units}. % Problem 1 \begin{equation}\label{eq:partition_function} Z = 4 \cosh (8 \beta J) + 12, \end{equation} % \begin{equation}\label{eq:energy_spin_first} \langle \epsilon \rangle = \frac{-2J \sinh(8 \beta J)}{ \cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:energy_spin_second} \langle \epsilon^{2} \rangle = \frac{4 J^{2} \cosh(8 \beta J)}{\cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:magnetization_spin_first} \langle |m| \rangle = \frac{e^{8 \beta J} + 1}{2( \cosh(8 \beta J) + 3)} \end{equation} % \begin{equation}\label{eq:magnetization_spin_second} \langle |m|^{2} \rangle = \frac{e^{8 \beta J} + 1}{2( \cosh(8 \beta J) + 3)} \end{equation} % \begin{equation}\label{eq:energy_total_first} \langle E \rangle = -\frac{8J \sinh(8 \beta J)}{\cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:energy_total_first_squared} \langle E \rangle^{2} = \frac{64J^{2} \sinh^{2}(8 \beta J)}{(\cosh(8 \beta J) + 3)^{2}} \end{equation} % \begin{equation}\label{eq:energy_total_second} \langle E^{2} \rangle = \frac{64J^{2} \cosh(8 \beta J)}{\cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:magnetization_total_first} \langle |M| \rangle = \frac{2(e^{8 \beta J} + 2)}{\cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:magnetization_total_first_squared} \langle |M| \rangle^{2} = \frac{4(e^{8 \beta J} + 2)^{2}}{(\cosh(8 \beta J) + 3)^{2}} \end{equation} % \begin{equation}\label{eq:magnetization_total_second} \langle M^{2} \rangle = frac{8(e^{8 \beta J} + 1)}{\cosh(8 \beta J) + 3} \end{equation} % \begin{equation}\label{eq:specific_heat_capacity} C_{V} = \frac{64J^{2} }{N k_{\text{B}} T^{2}} \frac{(3\cosh(8 \beta J) + 1)}{(\cosh(8 \beta J) + 3)^{2}} \end{equation} % \begin{equation}\label{eq:sesceptibility} \chi = \frac{4}{N k_{\text{B} T}} \frac{(3e^{8 \beta J} + e^{-8 \beta J} + 3)}{(\cosh(8 \beta J) + 3)^{2}} \end{equation} The derivation of analytical expressions can be found in appendix \ref{sec:analytical_expressions}. \subsection{Markov Chain Monte Carlo methods}\label{sec:mcmc_methods} \subsection{Algorithm and implementation}\label{sec:algo_implementation} \subsection{Tools}\label{sec:tools} The Ising model and MCMC methods are implemented in C++, and parallelized using \verb|OpenMP| \cite{openmp:2018}. We used the Python library \verb|matplotlib| \cite{hunter:2007:matplotlib} to produce all the plots, and \verb|seaborn| \cite{waskom:2021:seaborn} to set the theme in the figures. \end{document}