ALPS application: sse
ALPS application: sse
The sse package is one of the applications of the ALPS project. It provides a full
generic implementation of the Quantum Monte Carlo (QMC) method called
Stochastic Series Expansion (SSE).
The SSE method was invented and developped by Anders Sandvik and
coworkers. It is a powerful and elegant QMC method to study quantum
spin or bosonic lattice models.
The current implementation we'll present here uses the most
recent developments of this method, including improved and direct
implementation of directed loops. 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 tutorial.
Input parameters
In addition to the general input parameters of the ALPS
scheduler library the sse application takes the following
input parameters:
| Name |
Default |
Description |
| 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")
|
| T |
|
the temperature |
BETA
|
|
inverse of temperature (if
temperature is not given)
|
SWEEPS
|
|
number of Monte Carlo steps
(after thermalization)
|
| 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
description file.
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 !):
| Name |
Default |
Description |
| 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
the
whole 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 (for
example 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. |
| FORCE_HEATBATH |
0 |
boolean to force the algorithm to use heat-bath probabilities
for the worm scattering probabilities. By default the algorithm uses
improved directed loop method |
| FORCE_STANDARD_DIRECTED_LOOPS |
0 |
boolean to force the algorithm to use standard directed loop
probabilities for the worm scattering probabilities. By default the
algorithm uses improved directed loop method |
Measurements
The following observables are measured by the sse
application:
| Name |
Description |
| Energy |
total energy of the system |
Energy Density
|
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 |
squ |