Hello fellow Kwanters, I am happy to announce Pymablock, a Python package useful to combine with Kwant. Its main purpose is constructing effective models using perturbation theory, which may help you in different ways. Pymablock allows you to analyse the behavior of a few levels of a large Hamiltonian, or to construct a symbolic k.p model.
We originally wrote the code for one of our projects, but then saw that this tool is useful almost for the entire group, so we decided to turn it into a package. We spent countless hours generalizing, optimizing, and testing it so that it is efficient and reliable. Now it handles multiple perturbations to any order, and it is compatible with symbolic and numerical calculations. We hope that Pymablock will save you a lot of effort and computation time. To see where it can help, check out our its documentation (https://pymablock.rtfd.io/), and in particular the tutorials about the k.p model of bilayer graphene (https://pymablock.readthedocs.io/en/latest/tutorial/bilayer_graphene.html) or the induced superconducting gap (https://pymablock.readthedocs.io/en/latest/tutorial/induced_gap.html). Just like Kwant, Pymablock is open source (https://gitlab.kwant-project.org/qt/pymablock), and you are welcome to follow and contribute to its development. Let us know if you have any questions or comments! Also if there's interest we can organize an online introduction of the package Best, Anton Akhmerov and the Pymablock maintainers: Isidora Araya Day and Sebastian Miles