Skip to content

A GPU-accelerated set of programs to diagonalize tight-binding Hamiltonians and calculate the real part of the charge susceptibility (Lindhard susceptibility).

License

Notifications You must be signed in to change notification settings

adenchfi/ChiGPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChiGPU

A GPU-accelerated set of programs to diagonalize tight-binding Hamiltonians up to 32 orbitals. The tight-binding input file is modeled after the tight-binding output of Wannier90. They calculate the real part of the charge susceptibility (Lindhard susceptibility) perturbatively.

Requirements

nvcc compiler (CUDA Toolkit). Confirmed to work for CUDA Toolkit 11.0, probably back-compatible to CUDA Toolkit 10.0.

Compilation

Run the make.sh script in /src after changing the include directory.

Typical usage

An example tight-binding model, Nb_tb.dat, is provided for the purposes of testing the code. Any tight-binding model can be used, however, that is up to 32 states/orbitals (due to GPU batch diagonalization limits).

Refer to example_run.sh for usage for running the code.

We expect the user to use Wannier90 to generate the tight-binding moddel, with flag write_hr=.true. or write_tb=.true. Some lines in the files need to be deleted; the util/wannier_filter_hr.py script will do that for the write_hr output file.

Input File Format

You must have a tight-binding data file on hand, with the following format: {Rx} {Ry} {Rz} {orb1} {orb2} {Real part of H} {Imag part of H}

{Rx, Ry, Rz} are the unit cell numbers in x,y,z directions {orb1, orb2} are the tight-binding orbitals used, output by wannier90 or made by hand. They are just numbered 1-{norb}.

About

A GPU-accelerated set of programs to diagonalize tight-binding Hamiltonians and calculate the real part of the charge susceptibility (Lindhard susceptibility).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published