summaryrefslogtreecommitdiff
path: root/doc/introduction.rst
blob: 2c8bfee1e9e64d0dc587d79d92643309b3082ee5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

************
Introduction
************

A library for running the Wolff algorithm on arbitrary systems in arbitrary
fields. A "spin state" and "spin symmetry transformation" type must be supplied
to define a system, along with a spin-spin coupling, a spin-field coupling,
and a generator of transformations of rank two. The library then supplies the
tools to run Wolff cluster-flip Monte Carlo on the resulting system, with
arbitrary measurements taken along the way.

A detailed description of the algorithm and its requirements can be found at https://journals.aps.org/pre/abstract/10.1103/PhysRevE.98.063306.

Getting Wolff
=============

This source for this library is available at https://git.kent-dobias.com/wolff/.

Installation
============

The only dependencies are a modern C++ compiler, cmake, and the standard libraries. With those at hand, the Wolff library and the provided examples can be built and installed using

.. code-block:: bash

   git clone https://git.kent-dobias.com/research/wolff/code/c++
   mkdir wolff/build
   cd wolff/build
   cmake ..
   make install

Custom install paths and compiler optimizations can be passed to cmake in the standard ways.

License & Use
=============

Wolff is licensed under the MIT license, a copy of which is included with the source code. The terms can be found here: https://spdx.org/licenses/MIT.html.

If you use or modify the library for use for academic purposes, please cite *Cluster representations and the Wolff algorithm in arbitrary external fields*, Jaron Kent-Dobias & James P Sethna, Physical Review E 98, 063306 (2018).