MeanFi
is a Python package that performs self-consistent Hartree-Fock calculations on tight-binding models.
It aims to find the groundstate of a Hamiltonian with density-density interactions
and computes the mean-field correction
$$ \hat{V} \approx \hat{V}^{\text{MF}} =\sum_{ij} \tilde{v}{ij} c{i}^{\dagger} c_{j}. $$
For more details, refer to the theory overview and algorithm description.
The calculation of a mean-field Hamiltonian is a simple 3-step process:
-
Define
To specify the interacting problem, use a
Model
object which collects:- Non-interacting Hamiltonian as a tight-binding dictionary.
- Interaction Hamiltonian as a tight-binding dictionary.
- Particle filling number in the unit cell.
-
Guess
Construct a starting guess for the mean-field correction.
-
Solve
Solve for the mean-field correction using the
solver
function and add it to the non-interacting part to obtain the total mean-field Hamiltonian.
import meanfi
#Define
h_0 = {(0,) : onsite, (1,) : hopping, (-1,) : hopping.T.conj()}
h_int = {(0,) : onsite_interaction}
model = meanfi.Model(h_0, h_int, filling=2)
#Guess
guess = meanfi.guess_tb(guess_hopping_keys, ndof)
#Solve
mf_correction = meanfi.solver(model, guess)
h_mf = meanfi.add_tb(h_0, mf_correction)
For more details and examples on how to use the package, we refer to the tutorials.
Here is why you should use MeanFi
:
-
Simple
The workflow is straightforward. Interface with
Kwant
allows easy creation of complicated tight-binding systems and interactions. -
Extensible
MeanFi
's code is structured to be easy to understand, modify and extend. -
Optimized numerical workflow
Introduces minimal overhead to the calculation of the mean-field Hamiltonian.
Here are some features that are not yet implemented but are planned for future releases:
- Superconducting order parameters. Mean-field Hamiltonians do not include pairing terms.
- General interactions. We allow only density-density interactions (e.g. Coulomb) which can be described by a rank two tensor.
- Temperature effects. Density matrix calculations are done at zero temperature.
pip install meanfi
If you have used MeanFi
for work that has led to a scientific publication, please cite us as:
@misc{meanfi,
author = {Vilkelis, Kostas and Zijderveld, R. Johanna and Akhmerov, Anton R. and Manesco, Antonio L.R.},
doi = {10.5281/zenodo.11149850},
month = {5},
title = {MeanFi},
year = {2024}
}