<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.sklogwiki.org/SklogWiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=35.9.134.165</id>
	<title>SklogWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.sklogwiki.org/SklogWiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=35.9.134.165"/>
	<link rel="alternate" type="text/html" href="http://www.sklogwiki.org/SklogWiki/index.php/Special:Contributions/35.9.134.165"/>
	<updated>2026-04-30T20:55:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>http://www.sklogwiki.org/SklogWiki/index.php?title=Cluster_algorithms&amp;diff=7989</id>
		<title>Cluster algorithms</title>
		<link rel="alternate" type="text/html" href="http://www.sklogwiki.org/SklogWiki/index.php?title=Cluster_algorithms&amp;diff=7989"/>
		<updated>2009-03-21T21:38:20Z</updated>

		<summary type="html">&lt;p&gt;35.9.134.165: /* Application to continuous (atomistic) models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Cluster algorithms&#039;&#039;&#039; are mainly used in the simulation of [[Ising Models|Ising-like models]]. The essential feature is the use of collective motions of particles (spins) in a single [[Monte Carlo]] step.&lt;br /&gt;
An interesting property of some of these application is the fact that the [[percolation analysis]] of the clusters can&lt;br /&gt;
be used to study [[phase transitions]].&lt;br /&gt;
== Swendsen-Wang algorithm ==&lt;br /&gt;
As an introductory example to the Swendsen-Wang algorithm we shall discuss the  technique (Ref 1) in the simulation of the &lt;br /&gt;
[[Ising Models |Ising model]]. In one [[Monte Carlo]] step of the algorithm the following recipe is used:&lt;br /&gt;
&lt;br /&gt;
# Consider every pair of interacting sites (spins). In the current configuration the [[Intermolecular pair potential |pair interaction]] can be either negative: &amp;lt;math&amp;gt; \Phi_{ij}/k_B T= -K  &amp;lt;/math&amp;gt; or positive &amp;lt;math&amp;gt; \Phi_{ij}/k_B T = + K &amp;lt;/math&amp;gt;,  depending on the product: &amp;lt;math&amp;gt; S_{i} S_{j} &amp;lt;/math&amp;gt; (See the [[Ising Models |Ising model]] entry for  notation).&lt;br /&gt;
#For pairs of interacting sites (i.e. nearest neighbours) with &amp;lt;math&amp;gt; \Phi_{ij}/k_B T &amp;lt; 0 &amp;lt;/math&amp;gt;, [[random numbers |randomly]] create a bond between the two spins with a given probability &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt; will be chosen to be a function of &amp;lt;math&amp;gt; K &amp;lt;/math&amp;gt;. &lt;br /&gt;
#The bonds generated in the previous step are used to build up clusters of sites (spins).&lt;br /&gt;
#Build up the partition of the system in the corresponding clusters of spins. In each cluster all the spins will have the same state, either &amp;lt;math&amp;gt; S = 1 &amp;lt;/math&amp;gt; or &amp;lt;math&amp;gt; S = -1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
#For each cluster, independently, choose at random with equal probabilities whether or not to flip (invert the value of &amp;lt;math&amp;gt; S &amp;lt;/math&amp;gt;) the whole set of spins belonging to the cluster. The bonding probability &amp;lt;math&amp;gt; p &amp;lt;/math&amp;gt; is given by: &amp;lt;math&amp;gt; p = 1 - \exp [ -2 K ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Wolff algorithm ==&lt;br /&gt;
The procedure to create a given bond is the same as in the Swendsen-Wang algorithm. However in Wolff&#039;s method&lt;br /&gt;
the whole set of interacting pairs is not tested to generate (possible) bonds. Instead, a single cluster&lt;br /&gt;
is built. See Ref 2 for details. &lt;br /&gt;
&lt;br /&gt;
#The initial cluster contains one site, which is selected at random.&lt;br /&gt;
#Possible bonds between the initial site and  other sites of the system are tested. Bonded sites are included in the cluster.&lt;br /&gt;
#Recursively, one checks the existence of bonds between the new members of the cluster and sites of the system to add, if bonds are generated,  new sites to the &#039;&#039;growing&#039;&#039; cluster, until no more bonds are generated.&lt;br /&gt;
#At this point, the whole cluster is flipped (see above).&lt;br /&gt;
&lt;br /&gt;
== Invaded Cluster Algorithm ==&lt;br /&gt;
The purpose of this algorithm is to locate [[critical points]] (i.e. the critical temperature). So, in this case&lt;br /&gt;
the probability of bonding  neighbouring sites with equal spins is not set &#039;&#039;a priori&#039;&#039; (See Ref 3).&lt;br /&gt;
The algorithm for an Ising system with [[boundary conditions |periodic boundary conditions]] can be implemented as follows:&lt;br /&gt;
&lt;br /&gt;
Given a certain configuration of the system:&lt;br /&gt;
&lt;br /&gt;
#One considers the possible bonds in the system (pairs of nearest neighbours with favourable interaction).&lt;br /&gt;
#One assigns a [[random numbers |random]]  order to these possible bonds.&lt;br /&gt;
#The possible bonds are  &#039;&#039;activated&#039;&#039;  in the order fixed in the previous step (the cluster structure is watched during this process).&lt;br /&gt;
#The bond activation stops when one cluster percolates through the entire system (i.e. considering the periodic boundary conditions the cluster becomes of infinite size).&lt;br /&gt;
#Every cluster is then is flipped with  probability 1/2, as in the Swendsen-Wang algorithm.&lt;br /&gt;
#An effective bond probability for the percolation threshold, &amp;lt;math&amp;gt; p_{per} &amp;lt;/math&amp;gt; can be computed as &amp;lt;math&amp;gt; p_{per} = M_{act}/M &amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt; M_{act}&amp;lt;/math&amp;gt; being the number of activated bonds when the first cluster percolates, and &amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt; is the number of possible bonds.&lt;br /&gt;
#The value of &amp;lt;math&amp;gt; p_{per} &amp;lt;/math&amp;gt; (in one realisation, or the averaged value over the simulation, see  references for a practical application) can be related with the critical coupling constant, &amp;lt;math&amp;gt; k_c &amp;lt;/math&amp;gt; as &amp;lt;math&amp;gt; p_{per} \approx  1 - \exp \left[ - 2 k_c \right]  &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Probability-Changing Cluster Algorithm ==&lt;br /&gt;
This method was proposed by Tomita and Okabe (See Ref 4). This procedure is orientated towards computing [[critical points]]. &lt;br /&gt;
It applies when the symmetry of the interactions imply that the critical&lt;br /&gt;
temperature is that in which the clusters, built using a Swendsen-Wang type algorithm, reach&lt;br /&gt;
the percolation threshold. &lt;br /&gt;
The simulation proceeds by a fine tuning of the temperature (or the coupling constant)&lt;br /&gt;
Given a configuration of the system and a current coupling constant &amp;lt;math&amp;gt; K_0 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
#One builds  a bond realisation following the Swendsen-Wang strategy&lt;br /&gt;
#One establishes whether at least one of the cluster percolates through the whole system&lt;br /&gt;
#If percolation occurs one decreases the coupling constant (increase the temperature) by a small amount &amp;lt;math&amp;gt; K^{new} = K_0 - \delta K &amp;lt;/math&amp;gt;&lt;br /&gt;
#If no percolation appears, the new value of the coupling constant is taken to be &amp;lt;math&amp;gt; K^{new} = K_0 + \delta K &amp;lt;/math&amp;gt;, with &amp;lt;math&amp;gt;\delta K &amp;gt; 0 &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For small values of &amp;lt;math&amp;gt; \delta K &amp;lt;/math&amp;gt; the value of &amp;lt;math&amp;gt; K &amp;lt;/math&amp;gt;&lt;br /&gt;
(after reaching the vicinity of the critical point) will show minor oscillations and the&lt;br /&gt;
results can be trusted to be those of an equilibrium simulation run. (note that [[Detailed balance |detailed balance]] is not&lt;br /&gt;
strictly fulfilled in this algorithm).&lt;br /&gt;
&lt;br /&gt;
== Beyond the Ising and Potts models ==&lt;br /&gt;
&lt;br /&gt;
The methods described so far can be used, with minor changes, in the simulation of [[Potts model|Potts models]].&lt;br /&gt;
In addition, extensions have been proposed in the literature &lt;br /&gt;
to build up very efficient cluster algorithms to simulate more complex lattice systems (for example the [[XY model]], &lt;br /&gt;
[[Heisenberg model]], etc).&lt;br /&gt;
&lt;br /&gt;
== Application to continuous (atomistic) models ==&lt;br /&gt;
&lt;br /&gt;
It is sometimes possible (and very convenient) to include cluster algorithms in the  simulation of&lt;br /&gt;
models with continuous translational degrees of freedom. In most cases the cluster algorithm has&lt;br /&gt;
to be complemented with other sampling moves to ensure [[Ergodic hypothesis |ergodicity]]. Examples:&lt;br /&gt;
&lt;br /&gt;
* Spin fluids&lt;br /&gt;
* Binary mixtures having interaction symmetry&lt;br /&gt;
* Continuous versions of the [[XY model]], [[Heisenberg model]], [[Lebwohl-Lasher model]], etc.&lt;br /&gt;
&lt;br /&gt;
In these cases, the usual approach is to combine one-particle moves (e.g. particle translations), &lt;br /&gt;
with cluster procedures. In the cluster steps, multiparticle modification of -composition, orientations, etc.-&lt;br /&gt;
is carried out.&lt;br /&gt;
&lt;br /&gt;
== Other (not so smart) applications of cluster algorithms ==&lt;br /&gt;
Monte Carlo simulation of atomistic systems with multiparticle moves, for example see:&lt;br /&gt;
&lt;br /&gt;
*[http://dx.doi.org/10.1063/1.2759924  N. G. Almarza and E. Lomba &amp;quot;Cluster algorithm to perform parallel Monte Carlo simulation of atomistic systems&amp;quot;, Journal of Chemical Physics &#039;&#039;&#039;127&#039;&#039;&#039; 084116 (2007)]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
#[http://dx.doi.org/10.1103/PhysRevLett.58.86  Robert H. Swendsen and Jian-Sheng Wang, &amp;quot;Nonuniversal critical dynamics in Monte Carlo simulations&amp;quot;, Physical Review Letters &#039;&#039;&#039;58&#039;&#039;&#039; pp. 86 - 88 (1987) ]&lt;br /&gt;
#[http://dx.doi.org/10.1103/PhysRevLett.62.361 Ulli Wolff, &amp;quot;Collective Monte Carlo Updating for Spin Systems&amp;quot; , Physical Review Letters &#039;&#039;&#039;62&#039;&#039;&#039; pp. 361 - 364 (1989) ]&lt;br /&gt;
#[http://dx.doi.org/10.1103/PhysRevLett.75.2792     J. Machta, Y. S. Choi, A. Lucke,  T. Schweizer, and L. V. Chayes, &amp;quot;Invaded Cluster Algorithm for Equilibrium Critical Points&amp;quot; , Physical Review Letters &#039;&#039;&#039;75&#039;&#039;&#039; pp. 2792 - 2795 (1995)]&lt;br /&gt;
#[http://dx.doi.org/10.1103/PhysRevLett.86.572      Yusuke Tomita and Yutaka Okabe,  &amp;quot;Probability-Changing Cluster Algorithm for Potts Models&amp;quot;, Physical Review Letters &#039;&#039;&#039;86&#039;&#039;&#039; pp. 572 - 575 (2001)]&lt;br /&gt;
[[category: computer simulation techniques]]&lt;br /&gt;
[[category: Monte Carlo]]&lt;/div&gt;</summary>
		<author><name>35.9.134.165</name></author>
	</entry>
</feed>