ALPS application: dirloop_sse</h1> The dirloop_sse package is one of the applications of the <a
href="http://alps.comp-phys.org">ALPS project</a>. It provides a full
generic implementation of the Quantum Monte Carlo (QMC) method called directed loop algorithm in the Stochastic Series Expansion representation. The dirloop_SSE method was invented and developped by <a
href="http://physics.bu.edu/~sandvik">Anders Sandvik </a>and
coworkers. It is a powerful and elegant QMC method to study quantum
spin or bosonic lattice models.
The current implementation we present here uses the most recent developments of this method. This version allows to simulate on arbitrary lattices :
- Quantum spin (even frustrated - see remark below) models with arbitrary spin size, magnetic field and anisotropy
- (Softcore) bosonic models
This release allows to simulate systems with a sign problem (e.g. frustrated spin systems).
However, this case was moderately tested so please be careful if your model has a sign problem ...
Please note that for frustrated models, some values of the parameter Epsilon might render the algorithm non ergodic (for example, when you have a "pure loop" algorithm). One needs to check this carefully.
Running a simulation
is discussed in the <a href="../../../doc/tutorial2.html">tutorial</a>.
In addition to the general input parameters of the <a
scheduler library</a> the sse application takes the following input parameters:
|LATTICE_LIBRARY||lattices.xml||path to a file containing lattice descriptions|
|LATTICE||name of the lattice|
|MODEL_LIBRARY||models.xml||path to a file containing model descriptions|
|MODEL||name of the model (for example "spin" or "boson")|
||inverse of temperature (if
temperature is not given)
||number of Monte Carlo steps
|THERMALIZATION||SWEEPS / 10||Number of Monte Carlo sweeps for thermalization|
In addition, the lattice description can require further parameters
(e.g. L or W) as specified in the lattice
The model description can also require further parameters (e.g. S=1/2 or S=1, h=0.5 for spin models, t=1.5 or mu=0.5 for boson models) as specified in the model description file.
Parameters for experts
In addition, specific simulations parameters can be assigned (use only if you see what it means !):
|SKIP||1||the number of Monte Carlo sweeps between each measurement|
|NUMBER_OF_WORMS_PER_SWEEP||Calculated self consistently|| number of worms done during the
loop update. By default, this number is calculated self-consistently during the thermalization part. Nevertheless, you can force its value during thewhole simulation
|EPSILON||0||supplementary diagonal energy shift for all interactions. The
value of Epsilon affects the performances of the algorithm with the following tradeoff : the higher it is, the longer the simulation time but the lowest are bounce probabilities. Current wisdom indicates that one should use non-zero values for Epsilon, but not too high (forexample S/2 for spin S models). Please note that for frustrated models, some values of Epsilon might render the algorithm non-ergodic. You have to check carefully.
|WHICH_LOOP_TYPE||"minbounce"||string to indicate which type of updates should be used for the scattering at the vertices : ( "heatbath" ) heatbath, see A. W. Sandvik, Phys. Rev. B 59, 14157 (1999). ( "minbounce" ) minimum bounces, see F. Alet, S. Wessel, and M. Troyer Phys. Rev. E 71, 036706 (2005). ( "locopt" ) locally optimal, see L. Pollet, S. M. A. Rombouts, K. Van Houcke, and K. Heyde, Phys. Rev. E 70, 056705 (2005). By default the algorithm uses the "minbounce" updates.|
|NO_WORMWEIGHT||0||boolean to indicate whether the worm matrixelement should be set to unity (NO_WORMWEIGHT = true) or to its real value depending on the spin/density configuration (NO_WORMWEIGHT=false). By default, NO_WORMWEIGHT is false.|
The following observables are measured by the sse application:
|Energy||total energy of the system|
||energy per site
|Magnetization||the z-component of the magnetization (spin models)|
||Magnetization|||absolute value of the z-component of the magnetization (spin models)|
|Magnetization^2||square of the z-component of the magnetization (spin models)|
|Staggered Magnetization||the z-component of the staggered magnetization (bipartite lattice and spin models)|
|Staggered Magnetization^2||square of the z-component of the staggered magnetization (bipartite lattice and spin models)|
|Susceptibility||the uniform susceptibility (spin models)|
|Density||particle number (for bosonic models)|
|Density^2||square of the particle number (for bosonic models)|
||stiffness of the system (both
for spin and bosonic models)
Other observables might also be available depending on the exact
version of the sse
The license allows the use of the applications for non-commercial scientific use provided that the use of the ALPS applications and libraries is acknowledged and referenced in any scientific publication, as discussed in this <a href="http://alps.comp-phys.org/software/applications/LICENSE.txt">license file</a>. Even though this is not mandatory, we would be happy to hear from you (for example by email) if you used sse to produce data used in a scientific publication.
Questions and request for support
Contributions and feature requests
We appreciate hearing your requests for additional features and also welcome any contributions to the ALPS project.
The following persons have contributed to the sse application:
- <a href="http://www.itp.phys.ethz.ch/staff/alet/">Fabien Alet </a>(<a href="mailto:email@example.com">firstname.lastname@example.org</a>)
- <a href="http://www.itp.phys.ethz.ch/staff/troyer/">Matthias Troyer</a> (<a href="mailto:email@example.com">firstname.lastname@example.org</a>)