o.OOOo. .oOOOo. Oo oO .oOOOo.
O `o .O o. O O o o .O o
o O o O o o O O o Determinant quantum Monte Carlo code
O o O o O Oo O o for simulating quantum critical metals!
o O o O O o o
O o O Oo o o O O (In pure Julia!)
o .O' `o O' o O `o .o
OooOO' `OoooO Oo O o `OoooO'
Build Status | License |
---|---|
Determinant quantum Monte Carlo (DQMC) code for simulating a quantum critical metal, a Fermi sea coupled to antiferromagnetic bosonic fluctuations, in two spatial dimensions.
A version of this code has been used to produce (most of) the results in the following paper:
The figure below shows a comparison of three different DQMC codes written in C++, Fortran, and Julia. Specifically, it shows the time it takes to perform one sweep of local updates in space and imaginary time for a spin-fermion model (studied in the paper linked above). All kinds of special features, such as a small magnetic flux to improve finite size effects, are turned off.
Codes:
- C++ code by Max Gerlach (repository, used in this paper).
- Private Fortran code by Yoni Schattner (used in this paper).
- Julia DQMC implementation in this repository.
Environmental variables:
LATTICES
: folder with ALPS XML lattice files (mandatory unless you're me)WALLTIME
: Set a walltime limit for the algorithm. (optional)JULIA_DQMC
: path to the root of this repo (optional, currently only used inlive.jl/ipynb
andtest_live.ipynb
to activate the environment)
Special modes as indicated by fields in dqmc.in.xml
:
EDRUN
: if set to true, temporal gradients and quartic term in bosonic action are turned off.TIMING
: stop after thermalization phase and report speed and allocations of all major functions.