aamaricci / EDIpack2.0

A Massively Parallel Exact Diagonalization solver for generic Quantum Impurity problems.
0 stars 2 forks source link
condensed-matter dmft dynamical-mean-field-theory exact-diagonalization lanczos mpi strongly-correlated-systems

EDIpack2.0: Massively parallel Exact Diagonalization for generic Quantum Impurity problems

TestSuite api docs

A suitable extension of EDIpack: a Lanczos based method for the solution of generic Quantum Impurity problems, exploiting distributed memory MPI parallelisation. This updated version, aims to solve single-site, multi-orbital models, in either normal, superconducting (s-wave) or Spin-non-conserving (e.g. with Spin-Orbit Coupling or in-plane magnetization) phases, including electron-phonons coupling. The code works at zero and low temperatures.

See j.cpc.2021.108261 for further information about the underlying algorithms. Yet, suitable modifications have been developed to address the Superconducting and non-SU(2) channels.

Documentation

The documentation for the EDIpack2 library and its Python API (EDIpy2) is available at https://aamaricci.github.io/EDIpack2.0/

The documentation is under construction:

Dependencies

The code is based on:

Installation

Installation is available using CMake. In the current version API are only provided in Fortran and Python.
The software gives acces to the static library libedipack2.a and the related modules EDIPACK2

Clone the repo:

git clone https://github.com/aamaricci/EDIpack2.0 EDIpack2

And from the repository directory (cd EDIpack2) make a standard out-of-source CMake compilation:

mkdir build
cd build
cmake ..
make
make install

Please follow the instructions on the screen to complete installation on your environment.
The library can be loaded using one of the following, automatically generated, files :

The CMake compilation can be controlled using the following additional variables, default values between < >:

Python module

The edipy2 python module is installable from this folder via

pip install .

on some systems such as Debian >= 11 and Mac Os, if a virtual environment is not in use, the flag --break-system-packages has to be set. This creates no issue since no distro is packaging this library. To remove the module, run

pip uninstall -y edipy2

with same caveat for the --break-system-packages flag.

--

CONTACT

If you encounter bugs or difficulties, please file an issue. For any other communication, please reach out any of the contributors or developers:
Adriano Amaricci\ Lorenzo Crippa\ Samuele Giuli\ Gabriele Bellomia\ Giacomo Mazza\ Francesco Petocchi\ Alberto Scazzola\ Massimo Capone

--

LICENSE
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details.

You should have received a copy of the GNU LGPL along with this program. If not, see http://www.gnu.org/licenses/.