diff --git a/latex/sections/abstract.tex b/latex/sections/abstract.tex index 339660b..0ac9ea1 100644 --- a/latex/sections/abstract.tex +++ b/latex/sections/abstract.tex @@ -9,11 +9,11 @@ 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 + with a variance $\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 + with a variance $\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, + susceptibility. We have estimated 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}$. diff --git a/latex/sections/appendices.tex b/latex/sections/appendices.tex index f80f7bd..db8330f 100644 --- a/latex/sections/appendices.tex +++ b/latex/sections/appendices.tex @@ -92,7 +92,7 @@ and &= \frac{4 (2e^{8 \beta J} + 4)}{4(\cosh(8 \beta J) + 3)} \\ &= \frac{2(e^{8 \beta J} + 2)}{\cosh(8 \beta J) + 3} \ . \end{align*} -The squared energy function +The squared energy and magnetization functions are then \begin{align*} \langle E^{2} \rangle &= (-8J)^{2} \cdot \frac{1}{Z} e^{8 \beta J} + 2 \cdot (8J)^{2} \cdot \frac{1}{Z} e^{-8 \beta J} \\ & \quad + (-8J)^{2} \cdot \frac{1}{Z} e^{8 \beta J} \\ @@ -100,7 +100,7 @@ The squared energy function &= \frac{128J^{2} \cosh(8 \beta J)}{4(\cosh(8 \beta J) + 3)} \\ &= \frac{64J^{2} \cosh(8 \beta J)}{\cosh(8 \beta J) + 3} \ , \end{align*} -and +and \begin{align*} \langle M^{2} \rangle &= 4^{2} \cdot \frac{1}{Z} \cdot e^{8 \beta J} + 4 \cdot 2^{2} \cdot \frac{1}{Z} \cdot e^{0} \\ & \quad + 4 \cdot (-2)^{2} \cdot \frac{1}{Z} \cdot e^{0} + (-4)^{2}\cdot e^{8 \beta J} \\ @@ -127,7 +127,7 @@ capacity per spin \frac{C_{V}}{N} &= \frac{1}{N} \frac{1}{k_{B} T^{2}} (\mathbb{E}(E^{2}) - [\mathbb{E}(E)]^{2}) \\ &= \frac{1}{N k_{B} T^{2}} \mathbb{V}(E) \ . \end{align*} -Using Eq. \eqref{eq:susceptibility}, we find he susceptibility per spin +Using Equation \eqref{eq:susceptibility}, we find the susceptibility per spin \begin{align*} \frac{\chi}{N} &= \frac{1}{N} \frac{1}{k_{B} T} (\mathbb{E}(M^{2}) - [\mathbb{E}(M)]^{2}) \\ &= \frac{1}{N k_{B} T} \mathbb{V}(M) \ . diff --git a/latex/sections/conclusion.tex b/latex/sections/conclusion.tex index 5743722..0377ac0 100644 --- a/latex/sections/conclusion.tex +++ b/latex/sections/conclusion.tex @@ -11,7 +11,7 @@ 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 +was estimated to be $5000$ 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 @@ -19,11 +19,11 @@ samples does not affect the estimated values. 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$. -In addition, we estimated the probability distribution for temperature $T_{1} = 1.0 J / k_{B}$, +In addition, we estimated the probability distribution for temperatures $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$. +per spin is $\langle \epsilon \rangle \approx -1.9969 J$, with a variance $\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$. +with a variance $\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}$. diff --git a/latex/sections/introduction.tex b/latex/sections/introduction.tex index 0c65060..c76d69d 100644 --- a/latex/sections/introduction.tex +++ b/latex/sections/introduction.tex @@ -7,8 +7,8 @@ magnetic property of these materials is utilized in devices such as compasses for navigation, in computer hard drives to store data \cite{yale:2023:hdd}, and MRI machines to produce detailed anatomical images. -Magnetic materials can be classified based on their specific magnetic behavior, -and one of the groups consist of ferromagnetic materials. These materials are +Magnetic materials care classified based on their specific magnetic behavior, +and one of the groups consists of ferromagnetic materials. These materials are easily magnetized, and when exposed to a strong magnetic field they can become saturated. In addition, when these materials are heated to a critical point, they lose their magnetic property \cite{britannica:2023:ferromagnetism}. @@ -23,7 +23,7 @@ exposed to temperatures near a critical point. In addition, we will numerically estimate the critical temperature where the system experience phase transition. In Section \ref{sec:methods}, we will present the theoretical background for -this experiment, as well as algorithms and tools used in the implementation. +this experiment, as well as the algorithms and tools used in the implementation. Continuing with Section \ref{sec:results}, we will present our results and -discuss our findings. Lastly, we conclude our findings in Section \ref{sec:conclusion}. +discuss our findings. Lastly, we will conclude our findings in Section \ref{sec:conclusion}. \end{document} diff --git a/latex/sections/methods.tex b/latex/sections/methods.tex index c008006..2282c2a 100644 --- a/latex/sections/methods.tex +++ b/latex/sections/methods.tex @@ -3,8 +3,8 @@ \begin{document} \section{Methods}\label{sec:methods} \subsection{The Ising model}\label{subsec:ising_model} -The Ising model consist of a lattice of spins, which can be though of as atoms -in a grid. In two dimensions, the length of the lattice is given by $L$, and the +The Ising model consists of a lattice of spins, which can be thought of as atoms +in a grid. In two dimensions, the length of a lattice is given by $L$, and the number of spins within a lattice is given by $N = L^{2}$. When we consider the entire lattice, the system spin configuration is represented as a matrix $L \times L$ \begin{align*} @@ -23,15 +23,15 @@ The spins interact with its nearest neighbors, and in a two-dimensional lattice each spin has up to four nearest neighbors. In our experiments we will use periodic boundary conditions, resulting in all spins having exactly four nearest neighbors. To find the analytical expressions necessary for validating our model implementation, -we will assume a $2 \times 2$ lattice. +we assume a $2 \times 2$ lattice. The hamiltonian of the Ising model is given by \begin{equation} E(\mathbf{s}) = -J \sum_{\langle k l \rangle}^{N} s_{k} s_{l} - B \sum_{k}^{N} s_{k}\ , \label{eq:energy_hamiltonian} \end{equation} -where $\langle k l \rangle$ denote a spin pair. $J$ is the coupling constant, and -$B$ is the external magnetic field. For simplicity, we will consider the Ising model +where $\langle k l \rangle$ denotes a spin pair. $J$ is the coupling constant, and +$B$ is the external magnetic field. For simplicity, we consider the Ising model where $B = 0$, and find the total system energy given by \begin{equation} E(\mathbf{s}) = -J \sum_{\langle k l \rangle}^{N} s_{k} s_{l} \ . @@ -89,13 +89,13 @@ in Appendix \ref{sec:energy_special}. 0 & -8J & -4 & 1 \\ \hline \end{tabular} - \caption{Values of total energy, total magnetization, and degeneracy for the + \caption{Values of the total energy, total magnetization, and degeneracy for the possible states of a system for a $2 \times 2$ lattice, with periodic boundary conditions.} \label{tab:lattice_config} \end{table} We calculate the analytical values for a $2 \times 2$ lattice, found in Table \ref{tab:lattice_config}. -However, we scale the total energy and total magnetization by number of spins, +However, we scale the total energy and total magnetization by the number of spins, to compare these quantities for lattices where $L > 2$. Energy per spin is given by \begin{equation} \epsilon (\mathbf{s}) = \frac{E(\mathbf{s})}{N} \ , @@ -165,10 +165,10 @@ We also need to determine the heat capacity \label{eq:heat_capacity} \end{equation} and the magnetic susceptibility -\begin{align*} +\begin{equation} \chi = \frac{1}{k_{\text{B} T}} (\mathbb{E}(M^{2}) - [\mathbb{E}(M)]^{2}) \ . \label{eq:susceptibility} -\end{align*} +\end{equation} In Appendix \ref{sec:heat_susceptibility} we derive expressions for the heat capacity and the susceptibility, and find the heat capacity \begin{align*} @@ -205,29 +205,29 @@ Boltzmann constant we derive the remaining units, which can be found in Table We consider the Ising model in two dimensions, with no external external magnetic field. At temperatures below the critical temperature $T_{c}$, the Ising model will magnetize spontaneously. When increasing the temperature of the external field, -the Ising model transition from an ordered to an unordered phase. The spins become -more correlated, and we can measure the discontinous behavior as an increase in +the Ising model transitions from an ordered to an unordered phase. The spins become +more correlated, and we can measure the discontinuous behavior as an increase in correlation length $\xi (T)$ \cite[p. 432]{hj:2015:comp_phys}. At $T_{c}$, the -correlation length is proportional with the lattice size, resulting in the critical +correlation length is proportional to the lattice size, resulting in the critical temperature scaling relation \begin{equation} T_{c}(L) - T_{c}(L = \infty) = aL^{-1} \ , \label{eq:critical_infinite} \end{equation} -where $a$ is a constant. For the Ising model in two dimensions, with an lattice of +where $a$ is a constant. For the Ising model in two dimensions, with a lattice of infinite size, the analytical solution of the critical temperature is \begin{equation} T_{c}(L = \infty) = \frac{2}{\ln (1 + \sqrt{2})} J/k_{B} \approx 2.269 J/k_{B} \label{eq:critical_solution} \end{equation} -This result was found analytically by Lars Onsager in 1944. We can estimate the -critical temperature of an infinite lattice, using finite lattices critical temperature -and linear regression. +This result was found analytically by Lars Onsager in 1944 \cite{onsager:1944}. We can estimate the +critical temperature of an infinite lattice, using the critical temperature of +finite lattices of different sizes and linear regression. \subsection{The Markov chain Monte Carlo method}\label{subsec:mcmc_method} Markov chains consist of a sequence of samples, where the probability of the next -sample depend on the probability of the current sample. Whereas the Monte Carlo +sample depends on the probability of the current sample. Whereas the Monte Carlo method introduces randomness to the sampling, which allows us to approximate statistical quantities \cite{tds:2021:mcmc} without using the pdf directly. We generate samples of spin configuration, to approximate $\langle \epsilon \rangle$, @@ -236,10 +236,10 @@ $\langle |m| \rangle$, $C_{V}$, and $\chi$, using the Markov chain Monte Carlo The Ising model is initialized in a random state, and the Markov chain is evolved until the model reaches an equilibrium state. However, generating new random states -require ergodicity and detailed balance. A Markov chain is ergoditic when all system -states can be reached at every current state, whereas detaild balance implies no -net flux of probability. To satisfy these criterias we use the Metropolis-Hastings -algorithm, found in Figure \ref{algo:metropolis}, to generate samples of microstates. +requires ergodicity and detailed balance. A Markov chain is ergoditic when all system +states can be reached at every current state, whereas detailed balance implies no +net flux of probability. To satisfy these criteria we use the Metropolis-Hastings +algorithm, found in Algorithm \ref{algo:metropolis}, to generate samples of microstates. One Monte Carlo cycle consist of changing the initial configuration of the lattice, by randomly flipping a spin. When a spin is flipped, the change in energy is evaluated as @@ -258,41 +258,38 @@ $\Delta E = \{-16J, -8J, 0, 8J, 16J\}$, we derive these values in Appendix \ref{ We can avoid computing the Boltzmann factor, by using a look up table (LUT). We use $\Delta E$ as an index to access the resulting value of the exponential function, in an array. -\begin{figure}[H] - \begin{algorithm}[H] - \caption{Metropolis-Hastings Algorithm} - \label{algo:metropolis} - \begin{algorithmic} - \Procedure{Metropolis}{$lattice, energy, magnetization$} - \For{ Each spin in the lattice } - \State $ri \leftarrow \text{random index of the lattice}$ - \State $rj \leftarrow \text{random index of the lattice}$ - \State $dE \leftarrow 2 \cdot lattice_{ri,rj} \cdot (lattice_{ri,rj-1} + lattice_{ri,rj+1} - + lattice_{ri-1,rj} + lattice_{ri+1,rj} )$ +\begin{algorithm}[H] +\caption{Metropolis-Hastings Algorithm} +\label{algo:metropolis} + \begin{algorithmic} + \Procedure{Metropolis}{$lattice, energy, magnetization$} + \For{ Each spin in the lattice } + \State $ri \leftarrow \text{random index of the lattice}$ + \State $rj \leftarrow \text{random index of the lattice}$ + \State $dE \leftarrow 2 \cdot lattice_{ri,rj} \cdot (lattice_{ri,rj-1} + lattice_{ri,rj+1} + + lattice_{ri-1,rj} + lattice_{ri+1,rj} )$ - \State $rn \leftarrow \text{random number} \in [0,1)$ - \If{$rn \leq e^{- \frac{dE}{T}}$} - \State $lattice_{ri,rj} = -1 \cdot lattice_{ri,rj}$ - \State $magnetization = magnetization + 2 \cdot lattice_{ri,rj}$ - \State $energy = energy + dE$ - \EndIf - \EndFor - \EndProcedure - \end{algorithmic} - \end{algorithm} -\end{figure} -The Markov process reach an equilibrium after a certain number of Monte Carlo cycles, -where the system state reflects the state of a real system. After this burn-in time, -given by number of Monte Carlo cycles, we can start sampling microstates. -The probability distribution of the samples will tend toward the actual probability -distribution of the system. + \State $rn \leftarrow \text{random number} \in [0,1)$ + \If{$rn \leq e^{- \frac{dE}{T}}$} + \State $lattice_{ri,rj} = -1 \cdot lattice_{ri,rj}$ + \State $magnetization = magnetization + 2 \cdot lattice_{ri,rj}$ + \State $energy = energy + dE$ + \EndIf + \EndFor + \EndProcedure + \end{algorithmic} +\end{algorithm} +The Markov process reaches an equilibrium after a certain number of Monte Carlo cycles, +called burn-in time. After the burn-in time, the system state reflects the state of a real system. +and we can start sampling microstates. The probability distribution of the samples +will tend toward the actual probability distribution of the system. \subsection{Implementation and testing}\label{subsec:implementation_test} We implemented a test suite, and compared the numerical estimates to the analytical results from Section \ref{subsec:statistical_mechanics}. In addition, we set a tolerance to verify convergence, and a maximum number of Monte Carlo cycles to avoid longer -runtimes during implementation. +runtimes during execution. We used a pattern to access all neighboring spins, where all indices of the neighboring spins are put in an $L \times 2$ matrix. The indices are accessed using pre-defined @@ -315,11 +312,11 @@ Monte Carlo cycles when analyzing phase transitions. \subsection{Tools}\label{subsec:tools} The Ising model and MCMC methods are implemented in C++, and parallelized using both \verb|OpenMPI| \cite{gabriel:2004:open_mpi} and \verb|OpenMP| \cite{openmp:2018}. -We used the Python library \verb|matplotlib| \cite{hunter:2007:matplotlib} to produce +We use the Python library \verb|matplotlib| \cite{hunter:2007:matplotlib} to produce all the plots, \verb|seaborn| \cite{waskom:2021:seaborn} to set the theme in the -figures. We also used a linear regression method from the Python library \verb|SciPy|. -To optimize our implementation, we used a profiler tool \verb|Scalasca| \cite{scalasca} -and \verb|Score-P| \cite{scorep}. +figures. We also use a linear regression method and the normal distribution method +from the Python library \verb|SciPy|. To optimize our implementation, we used a +profiling tool \verb|Score-P| \cite{scorep}. \end{document} diff --git a/latex/sections/results.tex b/latex/sections/results.tex index 71791b2..29c91ba 100644 --- a/latex/sections/results.tex +++ b/latex/sections/results.tex @@ -13,14 +13,14 @@ per spin for $T_{1}$ in Figure \ref{fig:burn_in_energy_1_0}, and $T_{2}$ in Figu per spin for $T_{1}$ in Figure \ref{fig:burn_in_magnetization_1_0}, and for $T_{2}$ in Figure \ref{fig:burn_in_energy_2_4}. % Not sure about the relevance of the paragraph below -We used random numbers to set the initial state and the index of spin to flip, and -observed different graphs ... However, when we set the seed of the random number -engine, we could reproduce the results at every run. It is possible to determine -the burn-in time analytically, using the correlation time given by $\tau \approx L^{d + z}$. -Where $d$ is the dimensionality of the system and $z = 2.1665 \pm 0.0012$ -\footnote{This value was determined by Nightingale and Blöte for the Metropolis algorithm.}. -However, when we increased number of Monte Carlo cycles the sampled generated during -the burn-in time did not affect the mean value (...). % Should add result showing this +% We used random numbers to set the initial state and the index of spin to flip, and +% observed different graphs ... However, when we set the seed of the random number +% engine, we could reproduce the results at every run. It is possible to determine +% the burn-in time analytically, using the correlation time given by $\tau \approx L^{d + z}$. +% Where $d$ is the dimensionality of the system and $z = 2.1665 \pm 0.0012$ +% \footnote{This value was determined by Nightingale and Blöte for the Metropolis algorithm.}. +% However, when we increased number of Monte Carlo cycles the sampled generated during +% the burn-in time did not affect the mean value (...). % Should add result showing this The lattice was initialized in an ordered and an unordered state, for both temperatures. We observed no change in expectation value of energy or magnetization for $T_{1}$, when we @@ -86,7 +86,7 @@ centered around the expectation value $\langle \epsilon \rangle = -1.2370$. % \label{fig:histogram_2_4} \end{figure} % However, we observed a higher variance of Var$(\epsilon) = 0.0203$. When the temperature -increased, the system moved from an ordered to an onordered state. The change in +increased, the system moved from an ordered to an unordered state. The change in system state, or phase transition, indicates the temperature is close to a critical point. @@ -97,8 +97,8 @@ We continued investigating the behavior of the system around the critical temper First, we generated $10$ million samples of spin configurations for lattices of size $L \in \{20, 40, 60, 80, 100\}$, and temperatures $T \in [2.1, 2.4]$. We divided the temperature range into $40$ steps, with an equal step size of $0.0075$. The samples -were generated in parallel, where we allocated $4$ sequential temperatures to $10$ -MPI processes. Each process was set to spawn $10$ thread, resulting in a total of +were generated in parallel, where the program allocated $4$ sequential temperatures to $10$ +MPI processes. Each process was set to spawn $10$ threads, resulting in a total of $100$ threads working in parallel. We include results for $1$ million MC cycles in Appendix \ref{sec:additional_results} @@ -113,9 +113,9 @@ increase in $\langle \epsilon \rangle$ in the temperature range $T \in [2.25, 2. \caption{$\langle \epsilon \rangle$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.} \label{fig:phase_energy_10M} \end{figure} % -We observe a deacrese in $\langle |m| \rangle$ for the same temperature range in -Figure \ref{fig:phase_magnetization_10M}, suggesting the system moves from an ordered -magnetized state to a state of no net magnetization. The system energy increase, +We observe a decrease in $\langle |m| \rangle$ for the same temperature range in +Figure \ref{fig:phase_magnetization_10M}, suggesting that the system moves from an ordered +magnetized state to a state of no net magnetization. The system energy increases, however, there is a loss of magnetization close to the critical temperature. \begin{figure}[H] \centering @@ -124,16 +124,16 @@ however, there is a loss of magnetization close to the critical temperature. \label{fig:phase_magnetization_10M} \end{figure} % In Figure \ref{fig:phase_heat_10M}, we observe an increase in heat capacity in the -temperature range $T \in [2.25, 2.35]$. In addition, we observed a sharper peak -value of heat capacity the lattice size increase. +temperature range $T \in [2.25, 2.35]$. In addition, we observe a sharper peak +value of heat capacity when the lattice size increase. \begin{figure}[H] \centering \includegraphics[width=\linewidth]{../images/phase_transition/fox/wide/10M/heat_capacity.pdf} \caption{$C_{V}$ for $T \in [2.1, 2.4]$, $10^7$ MC cycles.} \label{fig:phase_heat_10M} \end{figure} % -The magnetic susceptibility in Figure \ref{fig:phase_susceptibility_10M}, show -the sharp peak in the same temperature range as that of the heat capacity. Since +The magnetic susceptibility in Figure \ref{fig:phase_susceptibility_10M}, shows +the sharp peak in the same temperature range as that of the heat capacity. Since the shape of the curve for both heat capacity and the magnetic susceptibility become sharper when we increase lattice size, we are moving closer to the critical temperature. \begin{figure}[H] diff --git a/review.md b/review.md index 6e8e187..76853ec 100644 --- a/review.md +++ b/review.md @@ -14,79 +14,102 @@ Nothing ## ./latex/sections/abstract.tex -[ ] 12: variation => variance -[ ] 14: variation => variance -[ ] 16: "We estimate" => "We have estimated" as everything else is in past tense, and the rest of the sentence is in past tense as well. +[x] 12: variation => variance +[x] 14: variation => variance +[x] 16: "We estimate" => "We have estimated" as everything else is in past tense, and the rest of the sentence is in past tense as well. ## ./latex/sections/introduction.tex -[ ] 11: consist => consists. "One of the groups" is singular. +[x] 10: "Magnetic materials can be classified" => "Magnetic materials are classified". I changed this, since they are actually classified +[x] 11: consist => consists. "One of the groups" is singular. [ ] 12: Is the saturation optional, or will they become saturated when exposed to a magnetic field? -[ ] 26: "as well as algorithms ..." => "as well as the algorithms ..." -[ ] 28: "we conclude ..." => "we will conclude ..." +Valid point, they do become saturated so maybe rephrase +[x] 26: "as well as algorithms ..." => "as well as the algorithms ..." +[x] 28: "we conclude ..." => "we will conclude ..." ## ./latex/sections/methods.tex -[ ] 6: consist => consists. "The Ising model" is singular. -[ ] 6: though => thought -[ ] 7: "the length of the lattice ..." => "the length of a lattice ...". We're not talking about a specific lattice. -[ ] 26: remove "will", as we are assuming a 2x2 now and not later in the paper. -[ ] 33: denote => denotes. $\langle k l \rangle$ is singular. +[x] 6: consist => consists. "The Ising model" is singular. +[x] 6: though => thought +[x] 7: "the length of the lattice ..." => "the length of a lattice ...". We're not talking about a specific lattice. +[x] 26: remove "will", as we are assuming a 2x2 now and not later in the paper. +[x] 33: denote => denotes. $\langle k l \rangle$ is singular. [ ] 34: Change to present tense, as we are considering it in this section and not later in the paper. -[ ] 92: "Values of total energy ..." => "Values of the total energy ..." -[ ] 98: "by number of spins ..." => "by the number of spins ..." -[ ] 162: Why are the equations for heat capacity and susceptibility in different environments? -[ ] 208: transition => transitions. "the Ising model" is singular. -[ ] 209: discontinous => discontinuous -[ ] 211: with => to -[ ] 217: "with an lattice" => "with a lattice" -[ ] 223: Should perhaps create a reference to his paper? -[ ] 224: "using finite lattices ..." => "using the finite lattices'". We are referring to specific lattices and "lattices" should be possessive. I would rewrite the second part to be "using the critical temperature of finite lattices of different sizes and linear regression." -[ ] 230: depend => depends. "the next sample" is singular. -[ ] 239: require => requires. "generating new random states" is singular. -[ ] 240: detaild => detailed -[ ] 241: criterias => criteria. the plural of criterion is criteria. -[ ] 242: Figure => Algorithm, since we can remove the figure environment enclosing the algorithm environment. +I think I've fixed it, however, tense is apparently not my jam these days XP +[x] 92: "Values of total energy ..." => "Values of the total energy ..." +[x] 98: "by number of spins ..." => "by the number of spins ..." +[x] 162: Why are the equations for heat capacity and susceptibility in different environments? +Well, that is an excellent question! That I do not have an answer to, but I changed it so that both are in equation environment. +[x] 208: transition => transitions. "the Ising model" is singular. +The singular thing is really something I should have a look into! +[x] 209: discontinous => discontinuous +[x] 211: with => to +[x] 217: "with an lattice" => "with a lattice" +[x] 223: Should perhaps create a reference to his paper? +I agree, I had already added a reference but had forgotten to cite it in the report. I did not include a page number, don't think it is necessary since its what the paper finding? +[x] 224: "using finite lattices ..." => "using the finite lattices'". We are referring to specific lattices and "lattices" should be possessive. I would rewrite the second part to be "using the critical temperature of finite lattices of different sizes and linear regression." +I agree, it does make more sense +[x] 230: depend => depends. "the next sample" is singular. +[x] 239: require => requires. "generating new random states" is singular. +[x] 240: detaild => detailed +[x] 241: criterias => criteria. the plural of criterion is criteria. +[x] 242: Figure => Algorithm, since we can remove the figure environment enclosing the algorithm environment. [ ] More details are specified in the next comment below. [ ] 244: A Monte Carlo cycle consists of attempts of flipping a spin, and not a single attempt to flip a spin. -[ ] 261: Instead of having the algorithm inside a figure, you can use the H specifier in the algorithm environment (which you already do). You can read more about it [here](https://tex.stackexchange.com/questions/231191/algorithm-in-revtex4-1). I have already tested that it works, and it makes it so we can actually refer to it as an algorithm and not a figure. -[ ] 284: reach => reaches. "The Markov process" is singular. -[ ] 295: implementation => execution. Implementation is the writing of the code, while the runtime is during execution of the program. I would also say to avoid potentially having the program run endlessly. +Not sure how to rephrase the sentence to make it correct, any specific suggestions? +[x] 261: Instead of having the algorithm inside a figure, you can use the H specifier in the algorithm environment (which you already do). You can read more about it [here](https://tex.stackexchange.com/questions/231191/algorithm-in-revtex4-1). I have already tested that it works, and it makes it so we can actually refer to it as an algorithm and not a figure. +This might have fallen through the cracks for me since I just copy-pasted from metropolis.tex +[x] 284: reach => reaches. "The Markov process" is singular. +[ ] 283: I changed the paragraph to include a better introduction of the concept burn-in time, do you think the "flow" is better now? +[x] 295: implementation => execution. Implementation is the writing of the code, while the runtime is during execution of the program. I would also say to avoid potentially having the program run endlessly. +[ ] 292: Do you have a good way of including "I would also say to avoid potentially having the program run endlessly" in the sentence? [ ] 297: Change of tense. We have used present tense for most of this section, so we should continue with that. +Added this into a new point, since the line numbers have shifted now +[ ] 294: So for the paragraph starting with "We used a pattern..." should be rewritten to present tense? [ ] 300: Lack of if-tests does not hinder parallelization, but it can hinder compiler optimizations. -[ ] 318: used => use. Keep to the present tense for consistency. -[ ] 320: used => use. -[ ] 320: "the Python ..." => "the Python ...". Double space. -[ ] 321: used => use. -[ ] 321: profiler => profiling. -[ ] 321: Remove Scalasca as we only use Score-p now. (Easier to deal with). +Suggested change "... avoids the use of if-tests, so we can take advantage of the compiler optimization." +[x] 318: used => use. Keep to the present tense for consistency. +[x] 320: used => use. +[x] 320: "the Python ..." => "the Python ...". Double space. +[x] Included the normal distribution method from SciPy as well +[x] 321: used => use. +[x] 321: profiler => profiling. +[x] 321: Remove Scalasca as we only use Score-p now. (Easier to deal with). ## ./latex/sections/results.tex -[ ] 15: Should have a line break to indicate new paragraph. +[x] 15: Should have a line break to indicate new paragraph. [ ] 15: It might be relevant, but it's a lot more work. we have all the tools necessary to produce the plots, so it depends on how much work we can do. -[ ] 89: onordered => unordered +I suggest we leave it out for now, I'll comment it out in case we want to use it +[x] 89: onordered => unordered [ ] 97: More accurately, we generated 10M samples per temperature point. -[ ] 100: Should be that the program allocated, so that the reader understands that it does the division automatically. -[ ] 101: thread => threads +True, so "...$10$ million samples of spin configurations for lattices..." => "...$10$ million samples of spin configurations, per temperature, for lattices..." +[x] 100: Should be that the program allocated, so that the reader understands that it does the division automatically. +I agree! +[x] 101: thread => threads [ ] 105: We used a profiler. And it's not just for ensuring load balance among threads, it's also for each process, and we use it to see that data transfer is minimal. +So instead of "We ran a profiler" it should be "We used a profiler"? Could you suggest a way of formulating the sentence so that the info is correct? [ ] 106: was => were -[ ] 116: deacrese => decrease -[ ] 117: "suggesting the system ..." => "suggesting that the system ...". -[ ] 118: increase => increases. "The system energy" is singular. -[ ] 127: observed => observe. -[ ] 128: "capacity the" => "capacity when the" -[ ] 135: show => shows. -[ ] 136: "Since shape ..." => "Since the shape" +My previous comment might make this unnecessary? +[x] 116: deacrese => decrease +[x] 117: "suggesting the system ..." => "suggesting that the system ...". +[x] 118: increase => increases. "The system energy" is singular. +[x] 127: observed => observe. +[x] 128: "capacity the" => "capacity when the" +[x] 135: show => shows. +[x] 136: "Since shape ..." => "Since the shape" ## ./latex/sections/conclusion.tex -[ ] 14: Didn't we arrive at 5000? -[ ] 22: temperature => temperatures -[ ] 24: variation => variance -[ ] 26: variation => variance +[x] 14: Didn't we arrive at 5000? +Haha, ofc we did! +[x] 22: temperature => temperatures +[x] 24: variation => variance +[x] 26: variation => variance ## ./latex/sections/appendices.tex -[ ] 95: "The squared energy" => "The squared energy and magnetization functions are then" -[ ] 130: he => the +[x] 95: "The squared energy" => "The squared energy and magnetization functions are then" +I agree, that sound a lot better! I just ended up wtiting something somewhat descriptive in lack of words. +[x] 130: he => the +Also, I changed the Eq. => to Equation