Skip to content

Latest commit

 

History

History
71 lines (37 loc) · 2.22 KB

README.md

File metadata and controls

71 lines (37 loc) · 2.22 KB

SSE - Heisenberg spin 1/2

An algorithm to simulate an isotropic S=1/2 antiferromagnetic quantum Heisenberg model in 1D, 2D or 3D lattice, all of them with periodic bondary condition.

The original program was made by Anders W. Sandvik [1] for a lecture about Quantum Monte Carlo Methods at Work for Novel Phases of Matter, presented in Trieste, Italy, Jan 23 - Feb 3, 2012. A more complete introduction about quantum spin systems and computational methods can be found here.

How to use

Prerequisites:

  • Any Fortran compiler

For Ubuntu users with gfortran installed run in the terminal:

gfortran heisenberg_sse.f90 -o heisenberg && ./heisenberg

Parameters:

  • All the program parameters are in Module Variables.

Running the tests

In this lecture you will find simple tests to check the program correctness.

Ground state energy of Heisenberg chain:

The exact ground state energy is Eg=-0.44395398. So, the mean energy per spin should converge to Eg as the inverse temperature beta goes to infinity, like in the figure below.

Ground_state_energy

Simulation made with a lattice size Lx=32, 10.000 thermalization steps, 10.000 Monte Carlo steps and 20 bins.

Square lattice expansion cut-off:

Evolution of the expansion cut-off:

Cut-off

Distribution of the number of H-operators (n):

dist_n

Phase transition in a cubic lattice:

In a cubic lattice this model has a phase transition at Tc = 0.945J [2].

cv_16

Comparing results from ALPS and this algorithm:

The ALPS project (Algorithms and Libraries for Physics Simulations) can be found here.

Energy:

energy

Number of H-operators (n):

n n^2

Specific Heat:

cv

Uniform Susceptibility:

susc