Blame view

README.md 4.56 KB
Florian Goth committed
1
# ALF (Algorithms for Lattice Fermions) #
Fakher F. Assaad committed
2
## General information ##
3
This version of the **A**lgorithms for **L**attice **F**ermions package provides a general code for the finite temperature auxiliary field Quantum Monte Carlo algorithm.       The code  is engineered to  be able simulate any model that can be written in terms of  sums of single body operators, of squares of single body operators and single body operators coupled to an Ising field with  given dynamics. We  provide predefined types that allow  the user to specify the model, the  Bravais lattice  as well as equal time and time displaced observables.     The code supports an MPI implementation.   Examples such as the Hubbard model on the Honeycomb lattice  as well as the Hubbard model  on the square lattice coupled to a transverse Ising field are  provided and discussed in the [documentation](https://alf.physik.uni-wuerzburg.de/ALF/ALF/raw/master/Documentation/ALF_v1.0.pdf).  For questions and issues you can reach us at [alf@physik.uni-wuerzburg.de](mailto:alf@physik.uni-wuerzburg.de).
Fakher F. Assaad committed
4

Florian Goth committed
5
You can [Download ALF-v1.0.zip](https://alf.physik.uni-wuerzburg.de/ALF/ALF/repository/archive.zip?ref=master) or sign up to help us improve the package, create issues etc.
Fakher F. Assaad committed
6

Fakher F. Assaad committed
7 8
The Hamiltonians we can consider read:
![The Hamiltonian0](https://alf.physik.uni-wuerzburg.de/ALF/ALF/raw/master/Images/Hamiltonian0.png)
9
 where
Fakher F. Assaad committed
10
![The Hamiltonian1](https://alf.physik.uni-wuerzburg.de/ALF/ALF/raw/master/Images/Hamiltonian1.png)
11

Fakher F. Assaad committed
12
Here Z denotes an Ising spin variable with predefined dynamics. If your model can be written in this form then it will be amenable to the ALF. 
Fakher F. Assaad committed
13
## PREREQUISITES ##
Florian Goth committed
14
ALF is Fortran2003 conforming and should be compilable by every recent Fortran compiler with the help of a lapack library.
Fakher F. Assaad committed
15

Florian Goth committed
16
Libraries: LAPACK and BLAS. Regularly tested are MKL, OpenBLAS and the netlib.org implementation.
Fakher F. Assaad committed
17

Florian Goth committed
18 19
MPI support is optional.

Florian Goth committed
20
Compiler: gfortran, ifort, PGI compiler
Fakher F. Assaad committed
21 22 23


## CONFIGURATION FOR COMPILATION ##
Florian Goth committed
24 25 26 27
Basic configuration of this package happens directly in the top-level Makefile.
Here you can provide compiler information and flags as well as the location of LAPACK and Blas.
A simple 
```
Fakher F. Assaad committed
28
. ./setenv.sh
Florian Goth committed
29 30
make
```
Florian Goth committed
31
should do the trick to compile the libraries, the analysis programs and the Example program.
Fakher F. Assaad committed
32 33
## FILES AND DIRECTORIES ##

Fakher F. Assaad committed
34
**Libraries**    Libraries.   
Fakher F. Assaad committed
35

Fakher F. Assaad committed
36
**Prog**   Main program and subroutines. The command **make** will generate the **Examples.out** executable. 
Fakher F. Assaad committed
37 38 39

**Analysis** Analysis programs. The command **make** will generate three executables required  for the error analysis  of scalar, equal time and time displaced observables. 

Fakher F. Assaad committed
40
**Start**   This directory contains the files required to start a run. In particular it contains the parameter file   that specifies the model the lattice and various   parameters for the Monte Carlo run and  error analysis. 
Fakher F. Assaad committed
41

Fakher F. Assaad committed
42
**Examples** This directory provides a set of short example runs.   
Fakher F. Assaad committed
43

Fakher F. Assaad committed
44 45
**Documentation**  We have included in the file [ALF_v1.0.pdf](https://alf.physik.uni-wuerzburg.de/ALF/ALF/raw/master/Documentation/ALF_v1.0.pdf)
an extensive documentation.
Fakher F. Assaad committed
46 47 48 49 50 51

## TESTING ##

We have about 30 tests that test various parts of the program in the folder testsuite.
As testing framework we employ CTest.
From the subfolder testsuite the tests can be run as follows
Florian Goth committed
52
```
Fakher F. Assaad committed
53 54 55 56 57
- mkdir tests
- cd tests
- cmake ..
- make
- make test
Florian Goth committed
58
```
Fakher F. Assaad committed
59

Fakher F. Assaad committed
60
## CONTRIBUTORS ##
Fakher F. Assaad committed
61

Florian Goth committed
62
F. Assaad, M. Bercx, S. Beyl, F. Goth, J. Hofmann, M. Hohenadler, F. Parisen Toldin, T. Sato, J. Schwab and Z. Wang.
Fakher F. Assaad committed
63

Fakher F. Assaad committed
64
## CITATION ##
Fakher F. Assaad committed
65

Florian Goth committed
66 67
The documentation is available on the arxiv at [arXiv:1704.00131 [cond-mat.str-el]](https://arxiv.org/abs/1704.00131).

68 69 70
If you use the ALF package, please mention  the following in the acknowledments:

The auxillary field QMC simulations were carried out with the ALF package available at https://alf.physik.uni-wuerzburg.de .
Fakher F. Assaad committed
71 72 73 74 75 76 77

## LICENSE ##
The various works that make up the ALF project are placed under licenses that put
a strong emphasis on the attribution of the original authors and the sharing of the contained knowledge.
To that end we have placed the ALF source code under the GPL version 3 license (see license.GPL and license.additional)
and took the liberty as per GPLv3 section 7 to include additional terms that deal with the attribution
of the original authors(see license.additional).
78
The documentation of the ALF project by the ALF contributors is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (see Documentation/license.CCBYSA)
Fakher F. Assaad committed
79 80
We mention that we link against parts of lapack which licensed under a BSD license(see license.BSD).

Fakher F. Assaad committed
81

Florian Goth committed
82
[Disclaimer](http://www.physik.uni-wuerzburg.de/hi/impressum/)