Skip to main content

Package to perform self-consistent mean-field calculations on tight-binding systems

Project description

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_{i}^{\dagger} 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:

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meanfi-1.1.0.tar.gz (171.9 kB view details)

Uploaded Source

Built Distribution

meanfi-1.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file meanfi-1.1.0.tar.gz.

File metadata

  • Download URL: meanfi-1.1.0.tar.gz
  • Upload date:
  • Size: 171.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for meanfi-1.1.0.tar.gz
Algorithm Hash digest
SHA256 130adc7a668f9066734dc3cfd859f15e21ab705e532b8ef173d232fa2d3d0442
MD5 e33f37dc66b875d73d35dfd2b07002a2
BLAKE2b-256 ca42f7d2b79a840b97f9c7a9e99dde0f0ae0f5ac999991a89e907f7d4856c468

See more details on using hashes here.

File details

Details for the file meanfi-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: meanfi-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for meanfi-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b12fdfb17ee9985b7e779c22461a36dc7311627eebceaa0534a2b38cb7cc822
MD5 ffe964bd7ef86164106442e1a32a5487
BLAKE2b-256 0c6287857c3e351adfeab48cdd4af49123279872e825dc7679ba456ae59df105

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page