Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aamaricci/edipack
Massively Parallel Lanczos based solver for quantum impurity problems, published in Computer Physics Communication (see link)
https://github.com/aamaricci/edipack
Last synced: 4 days ago
JSON representation
Massively Parallel Lanczos based solver for quantum impurity problems, published in Computer Physics Communication (see link)
- Host: GitHub
- URL: https://github.com/aamaricci/edipack
- Owner: aamaricci
- License: lgpl-3.0
- Created: 2020-11-06T17:24:45.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T19:31:41.000Z (2 months ago)
- Last Synced: 2024-09-17T00:45:03.548Z (2 months ago)
- Language: Fortran
- Homepage: https://doi.org/10.1016/j.cpc.2021.108261
- Size: 300 KB
- Stars: 16
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EDIpack: A *parallel* Exact Diagonalization solver for Quantum Impurity problems
A Lanczos based solver for generic quantum impurity models exploiting distributed memory MPI parallelisation. This software focuses on the *normal* case (as opposed to superconducting or spin non-conserving cases) including long range magnetic ordering and arbitrary unit cells.
See [j.cpc.2021.108261](https://doi.org/10.1016/j.cpc.2021.108261).### Dependencies
The code is written around the SciFortran library. Dependencies are:
* gfortran > 9.0.0 **OR** ifort > 13.0
* cmake > 3.0.0
* [MPI](https://github.com/open-mpi/ompi)
* [SciFortran](https://github.com/aamaricci/SciFortran)### Installation
Installation is available using CMake.
Clone the repo:
`git clone https://github.com/aamaricci/EDIpack EDIpack`
and from the just created directory make a standard out-of-source CMake compilation:
`mkdir build`
`cd build`
`cmake ..`
`make`
`make install`The `CMake` compilation can be controlled using the following additional variables, default values between `< >`:
* `-DPREFIX=prefix directory <~/opt/edipack/>`
* `-DUSE_MPI=/no`
* `-DVERBOSE=yes/ `
* `-DBUILD_TYPE=/TESTING/DEBUG`### System loading:
The library can be loaded into the operative system using one of the following, automatically generated, methods:
* environment module file `~/.modules.d/edipack//`
* homebrew `bash` script `/bin/edipack_configvars.sh`
* pkg-config file in `~/.pkg-config.d/edipack.pc`### Python binding
Python binding (API) through module `edipy` can be installed, once the library is successfully loaded in the OS, using the conventional toolchain:
`export F90=mpif90` (required if library has been compiled and installed with MPI support)
`pip install .`
### Uninstall
The library is removed with the command:
`make uninstall`
from the same building directory as for the installation part.
For any information contact the author as:
adriano DOT amaricci @ gmail DOT com--
***COPYRIGHT & LICENSING***
Copyright (c), Adriano Amaricci, Lorenzo Crippa, Alberto Scazzola, Francesco Petocchi, Giacomo Mazza, Luca de Medici, Massimo Capone.
All rights reserved.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 .
Using this code please consider to cite the corresponding article [arxiv.org/2105.06806](https://arxiv.org/abs/2105.06806)
--