Pymf is a Python package for finding mean-field corrections to the non-interacting part of a Hamiltonian. It is designed to be simple to use and flexible enough to handle a wide range of systems. Pymf works by solving the mean-field equations self-consistently.
Finding a mean-field solution is a 4-step process:
- Define the non-interacting and interacting part of the Hamiltonian separately as hopping dictionaries.
- Combine the non-interacting and interacting parts togher with your filling into a `Model` object.
- Provide a starting guess and the number of k-points to use the `solver` function and find the mean-field correction.
- Add the mean-field correction to the non-interacting part to calculate the total Hamiltonian.
```python
importpymf
model=pymf.Model(h_0,h_int,filling=filling)
mf_sol=pymf.solver(model,guess,nk=nk)
h_full=pymf.add_tb(h_0,mf_sol)
```
## Why pymf?
Here is why you should use pymf:
* Minimal
Pymf contains the minimum of what you need to solve mean-field equations.
* Simple
The workflow is simple and straightforward.
* Time-effective
As pymf uses tight-binding dictionaries as input and returns, you can calculate the mean-field corrections on a coarse grid, but use the full Hamiltonian on a fine grid for observables afterward.