PCM Computational Applications

Spin update policies

In the Monte Carlo Metropolis algorithm new states of the system are generated from a previous state by randomly selecting a single spin and updating it to a new trial position (trial move). 𝕍egas supports eight possible trial moves: random, flip, qising, adaptive, cone30, cone15, hn30 and hn15.

  • random

    This policy generates a random vector over a sphere of radius one and multiplies it by the spin norm. To generate a random vector, two random numbers (uu and vv) in the range (0,1)\left( 0, 1 \right) are generated, then

    Ο•=2Ο€u\phi = 2\pi u

    ΞΈ=arccos(2vβˆ’1)\theta = \arccos \left( 2v - 1 \right)

    and using spherical coordinates

    Sx=∣S∣sin(ΞΈ)cos(Ο•)S_x = \left|\mathbf{S}\right| \sin \left( \theta \right) \cos \left( \phi \right)

    Sy=∣S∣sin(ΞΈ)sin(Ο•)S_y = \left|\mathbf{S}\right| \sin \left( \theta \right) \sin \left( \phi \right)

    Sz=∣S∣cos(θ)S_z = \left|\mathbf{S}\right| \cos \left( \theta \right)

    where ∣S∣\left|S\right| is the spin norm. In this way, a random spin direction Sβ€²\mathbf{S^{\prime}} with an uniform distribution Sβ€²=Sxi^+Syj^+Szk^\mathbf{S^{\prime}} = S_x \hat{i} + S_y \hat{j} + S_z \hat{k} is generated.

    Note that generating a random Ο•\phi value in the range [0,2Ο€)\left[ 0, 2\pi \right) and a random ΞΈ\theta value in the range [0,Ο€]\left[ 0, \pi \right] is a incorrect way to generate a random vector, because the area element dA=sin(ΞΈ)dΞΈdΟ•dA = \sin\left(\theta\right)d\theta d\phi is a function of Ο•\phi. Therefore, the random vectors will tend to point to the poles.

    Wolfram Mathworld presents a good explanation of the generation of random points on the surface of a unit sphere, and shows some graphical schemes:

    Image
  • flip

    This policy takes the initial spin direction (S\mathbf{S}) and reverses it. The new spin direction will be Sβ€²=βˆ’S\mathbf{S^{\prime}} = -\mathbf{S}. The spin directions are always pointing alog the k^\hat{k} and βˆ’k^-\hat{k} axes. This trial move resembles the Ising model.

  • qIsing

    Unlike the spin flip move, the qIsing move generates all possible projections of the spin moment. These projections are βˆ’βˆ£S∣-\left|\mathbf{S}\right|, βˆ’βˆ£S∣+1-\left|\mathbf{S}\right| + 1, ......, ∣Sβˆ£βˆ’1\left|\mathbf{S}\right| - 1, ∣S∣\left|\mathbf{S}\right|. ∣S∣\left|\mathbf{S}\right| must be multiple of 1/21/2. Otherwise, the projections are not symmetric. Moreover, note that there are 2∣S∣+12\left|\mathbf{S}\right| + 1 possible projections. For example, if ∣S∣=3/2\left|\mathbf{S}\right| = 3/2, there are 44 possible projections (βˆ’3/2,βˆ’1/2,1/2,3/2)\left(-3/2, -1/2, 1/2, 3/2\right), which is consistent with 4=2Γ—3/2+14 = 2\times 3/2 + 1. Like in the spin flip move, the spin directions are always pointing alog the k^\hat{k} and βˆ’k^-\hat{k} axes.

  • adaptive

    The Adaptive move generates the new spin direction (Sβ€²)\mathbf{S^{\prime}}) in the vicinity of the initial spin direction (S\mathbf{S}) employing a Gaussian distribution, according to the expression

    Sβ€²=∣S∣S∣S∣+ΟƒgΞ“βˆ£S∣S∣+ΟƒgΞ“βˆ£\mathbf{S^{\prime}} = \left|\mathbf{S}\right| \frac{\frac{\mathbf{S}}{\left|\mathbf{S}\right|}+\sigma_{g}\mathbf{\Gamma}}{\left|\frac{\mathbf{S}}{\left|\mathbf{S}\right|}+\sigma_{g}\mathbf{\Gamma}\right|}

    where Ξ“\mathbf{\Gamma} is a Gaussian distributed random vector and Οƒg\sigma_{g} is the width of the cone around the initial spin direction S\mathbf{S}. The width of the cone is varied adaptively in order to keep an acceptance rate close to 50%50\%, as follows: At each temperature, the simulation starts using a high cone width (Οƒg=60\sigma_{g}=60) in the first Monte Carlo step. From then on, every MCS, the cone width is recalculated by multiplying the current cone width by a factor (ff) obtained according to the acceptance rate (RR) in the previous MCS

    f=0.51βˆ’R.f=\frac{0.5}{1-R}\text{.}

    The selection of the factor is made such that the cone width approaches values that generate an acceptance rate close to 50%50\%. The Adaptive move is more efficient than other common spin update policies independently of the temperature and the anisotropy of the system in consideration.

  • cone30 and cone15

    Also known as small step moves, the cone30 and cone15 moves generates new spin directions from a uniform probability distribution within a cone with a given opening angle around the initial spin direction, hence each spin can only move by small angular changes limited by the opening angle. The openin angle can be set to 3030ΒΊ (cone30) or 1515ΒΊ (cone15). These trial moves make use of the Rodrigues’ rotation formula.

  • hn30 and hn15

    hn30 and hn15 are based on a trial move proposed by D. Hinzke and U. Nowak that performs a combined samplig. For each Monte Carlo step one trial move is randomly selected from a set of three random, one small step and one spin flip moves. Then, the selected trial move is applied to all the spin moments in that Monte Carlo step. hn30 and hn15 correspond to trial moves where the set is composed by a cone30 and cone15 moves, respectively.


PCM Computational Applications, designed by:jdalzatec,dasabogals,odarbelaeze