diff options
-rw-r--r-- | figs/fig_clusters_ising2d.gplot | 28 | ||||
-rw-r--r-- | figs/fig_correlation-times.gplot | 26 | ||||
-rw-r--r-- | monte-carlo.bib | 16 | ||||
-rw-r--r-- | monte-carlo.tex | 53 |
4 files changed, 89 insertions, 34 deletions
diff --git a/figs/fig_clusters_ising2d.gplot b/figs/fig_clusters_ising2d.gplot index e5d847c..2a4c3fb 100644 --- a/figs/fig_clusters_ising2d.gplot +++ b/figs/fig_clusters_ising2d.gplot @@ -52,22 +52,24 @@ cc4 = "#eb6235" cc5 = "#8778b3" cc6 = "#c56e1a" cc7 = "#5d9ec7" +cc8 = "#ffbf00" -set palette model RGB defined ( 8 cc1, 16 cc2, 32 cc3, 64 cc4, 128 cc5, 256 cc6 , 512 cc7 ) +set palette model RGB defined ( 4 cc1, 8 cc2, 16 cc3, 32 cc4, 64 cc5, 128 cc6, 256 cc7 , 512 cc8 ) +set cbrange [4:512] # global plotting settings -set terminal epslatex size 6.834, 2.81576 +set terminal epslatex size 6.834, 3.3 set output "fig_clusters_ising2d.tex" -set multiplot layout 2,3 margins 0.05, 0.995, 0.15, 0.99 spacing 0.05, 0.015 +set multiplot layout 2,3 margins 0.05, 0.995, 0.15, 0.9 spacing 0.05, 0.015 set size ratio 1 / 1.61803398875 set key autotitle columnhead unset colorbox set nokey set logscale xy -scaledylabel = '"$\\avg{s_{\\text{\\sc 1c}}}L^{-\\gamma/\\nu}$" offset 2,0' +scaledylabel = '"$\\avg{s_{\\text{\\sc 1c}}}L^{-D\\gamma/\\nu}$" offset 2,0' # plotting the first row set format x "" @@ -92,9 +94,21 @@ set yrange [0.9:6] set title '\twodee 3-State Potts' offset -4,-2.5 -plot data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("S") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):(column("dS") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):1 with yerrorbars pt 0 lw 2 palette,\ - data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("S") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):1 with lines palette,\ - 1.4 * exp(log(x) * 2 / delta3Potts2D) with lines lc rgb "black" +set key above center vertical maxrows 1 + +plot data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("S") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):(column("dS") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):1 with yerrorbars pt 0 lw 2 palette notitle,\ + data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("S") * exp(-log(column("L")) * (gamma3Potts2D / nu3Potts2D))):1 with lines palette notitle,\ + 1.4 * exp(log(x) * 2 / delta3Potts2D) with lines lc rgb "black",\ + NaN with lines lc rgb cc1 title "4",\ + NaN with lines lc rgb cc2 title "8",\ + NaN with lines lc rgb cc3 title "16",\ + NaN with lines lc rgb cc4 title "32",\ + NaN with lines lc rgb cc5 title "64",\ + NaN with lines lc rgb cc6 title "128",\ + NaN with lines lc rgb cc7 title "256",\ + NaN with lines lc rgb cc8 title "512" + +unset key # plotting 2 Vector 3D set xrange @vectorRange diff --git a/figs/fig_correlation-times.gplot b/figs/fig_correlation-times.gplot index 4cb6dc2..74f99e7 100644 --- a/figs/fig_correlation-times.gplot +++ b/figs/fig_correlation-times.gplot @@ -58,15 +58,17 @@ cc4 = "#eb6235" cc5 = "#8778b3" cc6 = "#c56e1a" cc7 = "#5d9ec7" +cc8 = "#ffbf00" -set palette model RGB defined ( 8 cc1, 16 cc2, 32 cc3, 64 cc4, 128 cc5, 256 cc6 , 512 cc7 ) +set palette model RGB defined ( 4 cc1, 8 cc2, 16 cc3, 32 cc4, 64 cc5, 128 cc6, 256 cc7 , 512 cc8 ) +set cbrange [4:512] # global plotting settings -set terminal epslatex size 6.834, 2.81576 +set terminal epslatex size 6.834, 3.3 set output "fig_correlation-times.tex" -set multiplot layout 2,3 margins 0.05, 0.995, 0.15, 0.99 spacing 0.05, 0.015 +set multiplot layout 2,3 margins 0.05, 0.995, 0.15, 0.9 spacing 0.05, 0.015 set size ratio 1 / 1.61803398875 set key autotitle columnhead unset colorbox @@ -98,9 +100,21 @@ set yrange [0.05:2] set title '\twodee 3-State Potts' offset -4,-8 -plot data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):(sqrt((column("dt")/column("t"))**2 + (column("dS")/column("S"))**2) * column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):1 with yerrorbars pt 0 lw 2 palette,\ - data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):1 with lines palette,\ - 0.6 * exp(- log(x) * z3Potts2D * nu3Potts2D / (beta3Potts2D * delta3Potts2D)) with lines lc rgb "black" +set key above center vertical maxrows 1 + +plot data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):(sqrt((column("dt")/column("t"))**2 + (column("dS")/column("S"))**2) * column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):1 with yerrorbars pt 0 lw 2 palette notitle,\ + data3Potts2D using (column("H")/column("T") * exp(log(column("L")) * beta3Potts2D * delta3Potts2D / nu3Potts2D)):(column("t") * column("S") * exp(-log(column("L")) * (z3Potts2D + 2))):1 with lines palette notitle,\ + 0.6 * exp(- log(x) * z3Potts2D * nu3Potts2D / (beta3Potts2D * delta3Potts2D)) with lines lc rgb "black" notitle,\ + NaN with lines lc rgb cc1 title "4",\ + NaN with lines lc rgb cc2 title "8",\ + NaN with lines lc rgb cc3 title "16",\ + NaN with lines lc rgb cc4 title "32",\ + NaN with lines lc rgb cc5 title "64",\ + NaN with lines lc rgb cc6 title "128",\ + NaN with lines lc rgb cc7 title "256",\ + NaN with lines lc rgb cc8 title "512" + +unset key # plotting 2 Vector 3D set xrange @vectorRange diff --git a/monte-carlo.bib b/monte-carlo.bib index 6eb96d1..06a713a 100644 --- a/monte-carlo.bib +++ b/monte-carlo.bib @@ -772,4 +772,20 @@ random field Ising model and finally of quantum spin glasses.}, year = {1975}, pages = {10--18}, file = {ScienceDirect Full Text PDF:/home/pants/.zotero/data/storage/MZB8RWET/Bortz et al. - 1975 - A new algorithm for Monte Carlo simulation of Isin.pdf:application/pdf;ScienceDirect Snapshot:/home/pants/.zotero/data/storage/5LZNTCRU/0021999175900601.html:text/html} +} + +@article{zhang_melting_1991, + title = {Melting of monolayer argon adsorbed on a graphite substrate}, + volume = {43}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.43.938}, + doi = {10.1103/PhysRevB.43.938}, + abstract = {Argon films physisorbed on a graphite substrate were studied at coverages near monolayer completion using high-resolution vapor-pressure isotherms. New experimental evidence is presented that is consistent with a picture of monolayer argon melting via a two-stage process involving the existence of an intermediate phase with short-range spatial order and solidlike properties. These findings resolve the interpretational inconsistensies concerning the melting of argon films which presently exist between the earlier thermodynamic studies and various microscopic scattering measurements.}, + number = {1}, + urldate = {2018-10-12}, + journal = {Physical Review B}, + author = {Zhang, Q. M. and Larese, J. Z.}, + month = jan, + year = {1991}, + pages = {938--946}, + file = {APS Snapshot:/home/pants/.zotero/data/storage/NCJ8EBM9/PhysRevB.43.html:text/html;Zhang and Larese - 1991 - Melting of monolayer argon adsorbed on a graphite .pdf:/home/pants/.zotero/data/storage/MZTKK99U/Zhang and Larese - 1991 - Melting of monolayer argon adsorbed on a graphite .pdf:application/pdf} }
\ No newline at end of file diff --git a/monte-carlo.tex b/monte-carlo.tex index 9b61ba1..584dba9 100644 --- a/monte-carlo.tex +++ b/monte-carlo.tex @@ -54,14 +54,16 @@ \begin{abstract} We introduce a natural way to extend celebrated spin-cluster Monte Carlo algorithms for fast thermal lattice simulations at criticality, like Wolff, - to systems in arbitrary fields. By generalizing the `ghost spin' - representation to one with a `ghost transformation,\!' global invariance to - spin symmetry transformations is restored at the cost of an extra degree of - freedom. The ordinary cluster-building process can then be run on the new - representation. We show that this extension preserves the scaling of - accelerated dynamics in the absence of a field for several canonical systems - and demonstrate the method's use in modelling the presence of novel - nonlinear fields. + to systems in arbitrary fields, be they linear magnetic vector fields or + nonlinear anisotropic ones. By generalizing the `ghost spin' representation + to one with a `ghost transformation,\!' global invariance to spin symmetry + transformations is restored at the cost of an extra degree of freedom which + lives in the space of symmetry transformations. The ordinary + cluster-building process can then be run on the new representation. We show + that this extension preserves the scaling of accelerated dynamics in the + absence of a field for Ising, Potts, and $\mathrm O(n)$ models and + demonstrate the method's use in modelling the presence of novel nonlinear + fields. \end{abstract} \maketitle @@ -143,13 +145,15 @@ The Hamiltonian of this system is a function $\H:X^N\to\R$ defined by where $\J:X\times X\to\R$ couples adjacent spins and $B:X\to\R$ is an external field. $\J$ must be symmetric in its arguments and invariant under the action of any element of $R$ applied to the entire lattice, that is, for any $r\in R$ -and $s,t\in X$, $\J(r\cdot s,r\cdot t)=\J(s,t)$. One may also allow $\J$ to also -be a function of edge---for modelling random-bond, long-range, or anisotropic -interactions---or allow $B$ to be a function of site---for applying arbitrary -boundary conditions or modelling random fields. The formal results of this -paper (that the algorithm obeys detailed balance and ergodicity) hold equally -well for these cases, but we will drop the additional index notation for -clarity. Statements about efficiency may not hold. +and $s,t\in X$, $\J(r\cdot s,r\cdot t)=\J(s,t)$. One may also allow $\J$ to +also be a function of edge---for modelling random-bond, long-range, or +anisotropic interactions---or allow $B$ to be a function of site---for +applying arbitrary boundary conditions or modelling random fields. The formal +results of this paper (that the algorithm obeys detailed balance and +ergodicity) hold equally well for these cases, but we will drop the additional +index notation for clarity. Some extensions, like adding strong random fields +or bonds, ultimately prove inefficient \cite{rieger_monte_1995, +redner_graphical_1998}. \begin{table*}[htpb] \begin{tabular}{l||ccccc} @@ -380,7 +384,8 @@ in the cluster for the $\mathrm O(n)$), but really what it estimates is the averaged squared magnetization, which corresponds to the susceptibility when the average magnetization is zero. At finite field the latter thing is no longer true, but the correspondence between cluster size (sum of -$x$-components) and the squared magnetization continues to hold. +$x$-components) and the squared magnetization continues to hold (see +\eqref{eq:cluster-size-scaling} and Fig.~\ref{fig:cluster_scaling} below). \section{Examples} \label{sec:examples} @@ -460,8 +465,8 @@ similar behavior holds for the critical $\mathrm O(3)$ model, though in that case the constant value the correlation time approaches at large field is larger than its minimum value (see Fig.~\ref{fig:correlation_time-collapse}). This behavior isn't particularly worrisome, since the very large field regime -corresponds to correlation lengths smaller than the lattice spacing and is -well-described by other algorithms. More detailed discussion on correlation +corresponds to correlation lengths comparable to the lattice spacing and is +efficiently simulated by other algorithms. More detailed discussion on correlation times and these numeric experiments can be found in section \ref{sec:performance}. @@ -538,7 +543,7 @@ algorithm into that domain. Some systems are not efficient under Wolff, and we don't expect them to fare better when extended in a field. For instance, Ising models with random fields or bonds technically can be treated with Wolff \cite{dotsenko_cluster_1991}, but it is not efficient because the clusters -formed do scale naturally with the correlation length \cite{rieger_monte_1995, +formed do not scale naturally with the correlation length \cite{rieger_monte_1995, redner_graphical_1998}. Other approaches, like replica methods, should be relied on instead \cite{redner_graphical_1998, chayes_graphical_1998, machta_replica-exchange_2000}. @@ -569,7 +574,9 @@ of $hL^{\beta\delta/\nu}$. \twodee 3-State Potts: 0.55(1), \twodee 4-State Potts: 0.94(5), \threedee O(2): 0.17(2), \threedee O(3): 0.13(2). $\mathrm O(n)$ models use the distribution of transformations described in Section - \ref{sec:examples:on}. + \ref{sec:examples:on}. The curves stop collapsing at high fields when the + correlation length falls to near the lattice spacing; here non-cluster + algorithms can be efficiency used. } \label{fig:correlation_time-collapse} \end{figure*} @@ -621,6 +628,7 @@ proportional to their size, or 1c}}(s)=\sum_ss\frac sNP_{\text{SW}}(s)\\ &=L^{\gamma/\nu}g(ht^{-\beta\delta},hL^{\beta\delta/\nu}). \end{aligned} + \label{eq:cluster-size-scaling} \] \begin{figure*} @@ -678,7 +686,10 @@ ala-nissila_numerical_1994, dierker_consequences_1986, selinger_theory_1988} results that emerge from systems with one or more of these fields applied, it is predicted that $h_4$ is relevant while $h_6$ is not at some sufficiently high temperatures below the Kosterlitz--Thouless point -\cite{jose_renormalization_1977}. +\cite{jose_renormalization_1977}. The sixfold fields are expected to be +present, for instance, in the otherwise Kosterlitz--Thouless-type +two-dimensional melting of argon on a graphite substrate +\cite{zhang_melting_1991}. \begin{figure} \include{fig_harmonic-susceptibilities} |