Skip to main content

MeanFi

What is MeanFi?

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

$$ \hat{H} = \hat{H_0} + \hat{V} = \sum_{ij} h_{ij} c^\dagger_{i} c_{j} + \frac{1}{2} \sum_{ij} v_{ij} \hat{n}_i \hat{n}_j, $$

and computes the mean-field correction $\hat{V}_{\text{MF}}$ which approximates the interaction term:

$$ \hat{V} \approx \hat{V}{\text{MF}} = \sum{ij} \tilde{v}{ij} c^\dagger{i} c_{j}. $$

For more details, refer to the theory overview and algorithm description.

How to use MeanFi?

The calculation of a mean-field Hamiltonian is a simple 3-step process:

  1. 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.
  2. Guess

    Construct a starting guess for the mean-field correction.

  3. 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.

Why MeanFi?

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.

What MeanFi doesn't do (yet)

Here are some features that are not yet implemented but are planned for future releases:

  • Superconductive 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 second-order tensor.
  • Temperature effects. Density matrix calculations are done at zero temperature.

Installation

pip install meanfi

Citing 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}
}

Release files for meanfi 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meanfi 1.0.0
File Size Uploaded
meanfi-1.0.0.tar.gz 178.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meanfi 1.0.0
File Interpreter ABI Platform
meanfi-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 199.0 kB

Release files / meanfi-1.0.0.tar.gz

Download URL meanfi-1.0.0.tar.gz
Size 178.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b0d9459f218bc502b33017a642059babb3541b59243bf09afd282050f773ee64
BLAKE2b-256 checksum
How to use checksums
c4276b641f19d6580c5956f56b6b100527314bc74278a9c0c0abef73133ee2d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / meanfi-1.0.0-py3-none-any.whl

Download URL meanfi-1.0.0-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45f7e87709588fbf7d0ee469bd072fabdb210bf0c0515a8209bc36abd75fcc95
BLAKE2b-256 checksum
How to use checksums
7b6205da787de9017c297a18470a366beec47e7a99c4b6e073a0993dc6b64e41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

1.1.0

2 release files

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page