Skip to content
/ HubHam Public

A simple HPC massively parallel Hubbard Hamiltonian solver (Exact diagonalization) for general topologies given using the .graphml format.

License

Notifications You must be signed in to change notification settings

v1j4y/HubHam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI

HubHam

Hubbard Hamiltonian

(under GNU GENERAL PUBLIC LICENSE v2)

This program can perform Exact diagonalization calculations of various types of model Hamiltonians. It is especially optimized for the Hubbard Hamiltonian type model Hamiltonians. The core feature which the program is specialized for is the adressing of determinant in an efficient manner to quickly construct the Hamiltonian non-zero matrix-elements. Once the Hamiltonian is constructed in its sparse format, it is stored in distributed memory for all linear algebra operations.

The main work of diagonalizing the Hamiltonian is performed using PETSc and SLEPc helper functions. These functions return the eigenvectors which are not stored to disk by default due to their large size.

This project also contains subroutines which analyze the wavefunction in its distributed memory form and calculates the various observables. The output of the program are the energies and the various observables such as the total Spin, various Spin-Spin correlation functions, and one-and two-body density matrices.

Note: Caluculation of S2 can be deactivated to save memory and perform larger matrix diagonalizations.

Dependencies

  1. PETSc

  2. SLEPc

  3. IGraph

  4. slaterlib

Compiling

  1. Configure with explicit paths of installation directories of PETSc and SLEPc.
./autogen.sh
./configure CFLAGS="-I{PATH-TO-INCLUDE-SLEPC-PETSC-FILES} " LDFLAGS="-L{PATH-FOR-LIBRARY-FILES} -lpetsc -lslepc -lpetsc -lslater -ligraph -lm"  CC=mpicc
  1. Make the executable
make
make install

Using HubHam

  1. The HubHam program requires an input file which has is in the graphml format. A few sample files have been provided in the data/ directory.

  2. running HubHam

mpiexec -n [nprocs] ./bin/ex1 -eps_nev 10 -f data/c8h8_mma.graphml 

Publications using this code

  1. High-Spin Chains and Crowns from Double-Exchange Mechanism doi:10.3390/cryst6040039

About

A simple HPC massively parallel Hubbard Hamiltonian solver (Exact diagonalization) for general topologies given using the .graphml format.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages