dqmc icon indicating copy to clipboard operation
dqmc copied to clipboard

Determinant quantum Monte Carlo code for simulating an antiferromagnetic quantum critical metal

DOI

     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:

Hierarchy of energy scales in an O(3) symmetric antiferromagnetic quantum critical metal: a Monte Carlo study
Carsten Bauer, Yoni Schattner, Simon Trebst, Erez Berg

Performance comparison

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:

Settings

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 in live.jl/ipynb and test_live.ipynb to activate the environment)

Modes

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.