All Projects → Q-solvers → EDLib

Q-solvers / EDLib

Licence: MIT license
Exact diagonalization solver for quantum electron models

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to EDLib

api-spec
API Specififications
Stars: ✭ 30 (+66.67%)
Mutual labels:  mpi
alsvinn
The fast Finite Volume simulator with UQ support.
Stars: ✭ 22 (+22.22%)
Mutual labels:  mpi
raptor
General, high performance algebraic multigrid solver
Stars: ✭ 50 (+177.78%)
Mutual labels:  mpi
ParMmg
Distributed parallelization of 3D volume mesh adaptation
Stars: ✭ 19 (+5.56%)
Mutual labels:  mpi
ravel
Ravel MPI trace visualization tool
Stars: ✭ 26 (+44.44%)
Mutual labels:  mpi
scr
SCR caches checkpoint data in storage on the compute nodes of a Linux cluster to provide a fast, scalable checkpoint / restart capability for MPI codes.
Stars: ✭ 84 (+366.67%)
Mutual labels:  mpi
hp2p
Heavy Peer To Peer: a MPI based benchmark for network diagnostic
Stars: ✭ 17 (-5.56%)
Mutual labels:  mpi
sst-core
SST Structural Simulation Toolkit Parallel Discrete Event Core and Services
Stars: ✭ 82 (+355.56%)
Mutual labels:  mpi
Singularity-tutorial
Singularity 101
Stars: ✭ 31 (+72.22%)
Mutual labels:  mpi
Galaxy
Galaxy is an asynchronous parallel visualization ray tracer for performant rendering in distributed computing environments. Galaxy builds upon Intel OSPRay and Intel Embree, including ray queueing and sending logic inspired by TACC GraviT.
Stars: ✭ 18 (+0%)
Mutual labels:  mpi
az-hop
The Azure HPC On-Demand Platform provides an HPC Cluster Ready solution
Stars: ✭ 33 (+83.33%)
Mutual labels:  mpi
Theano-MPI
MPI Parallel framework for training deep learning models built in Theano
Stars: ✭ 55 (+205.56%)
Mutual labels:  mpi
mpiBench
MPI benchmark to test and measure collective performance
Stars: ✭ 39 (+116.67%)
Mutual labels:  mpi
GenomicsDB
Highly performant data storage in C++ for importing, querying and transforming variant data with C/C++/Java/Spark bindings. Used in gatk4.
Stars: ✭ 77 (+327.78%)
Mutual labels:  mpi
SIRIUS
Domain specific library for electronic structure calculations
Stars: ✭ 87 (+383.33%)
Mutual labels:  mpi
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (+22.22%)
Mutual labels:  mpi
arbor
The Arbor multi-compartment neural network simulation library.
Stars: ✭ 87 (+383.33%)
Mutual labels:  mpi
faabric
Messaging and state layer for distributed serverless applications
Stars: ✭ 39 (+116.67%)
Mutual labels:  mpi
gslib
sparse communication library
Stars: ✭ 22 (+22.22%)
Mutual labels:  mpi
hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (+116.67%)
Mutual labels:  mpi

DOI

Overview

EDLib is a C++ template finite temperature Exact diagonalization solver for quantum electron models. The central class of the library is Hamiltonian<Storage, Model>, that is parametrized by Storage and Model:

  • There exists a following set of implementation of models for common purposes:

    • HubbardModel<precision>. The finite Hubbard model cluster.
    • SingleImpurityAndersonModel<precision>. The single multi-orbital impurity Anderson Model.
  • For the Hamiltonian matrix storage there are three implementation of sparse matrix storages:

    • SpinResolvedStorage<Model>. A storage that takes into account the case when hopping Hamiltonian can be expressed as Kronecker sum for each spin. This storage is implemented with MPI support.
    • SOCRSStorage<Model>. A storage that store only fermion signs for each element in Hamiltonian. This storage is implemented with OpenMP support.
    • CRSStorage<Model>. A simple CRS storage.

The resluting eigenpairs are stored as a set of EigenPair<precision, SymmetrySectorType> structures in the Hamiltonian object.

The following observable can be computed by means of Lanczos continuous fraction (Lanczos<Hamiltonian, Mesh, MeshArguments...> class template) of the Lehmann representation:

  • Single-particle Green's function (GreensFunction<Hamiltonian, Mesh, MeshArguments...> class template).
  • Spin suseptibility (ChiLoc<Hamiltonian, Mash, MeshArguments...> class template). Greens functions are implemented on top of ALPSCore Greens functions module and can use either positive Matsubara frequency mesh or Real frequency mesh.

Look for examples in the "examples/" directory for a detailed information.

Installation

The code is is provided as a header-only library with a set of examples and tests. At least the edlib/Hamiltonian.h should be included in any derivative projects. To compile examples and tests create a build directory and run

  1. cmake -DARPACK_DIR=<path to ARPACK-ng library dir> -DExamples=ON -DTesting=ON {path_to_edlib}
  2. make
  3. make test (for running tests)
  4. example will be build in examples subdirectory

To build with MPI support add -DUSE_MPI=ON CMake flag. MPI library should be installed and ALPSCore library should be compiled with MPI support. To build with a specific ALPSCore library -DALPSCore_DIR=<path to ALPSCore> CMake flag. Since the critical for current library implementation MPI-related ARPACK-ng bug was recenlty fixed it is stricly recommended to use the latest version of ARPACK-ng from github repository.

Dependencies
  • c++11-compatible compiler (tested with clang >= 3.1, gcc >= 4.8.2, icpc >= 14.0.2)
  • ALPSCore library >= 0.5.6-alpha3
  • arpack-ng >= 3.5.0
  • MPI standard >= 2.1 (optional)
  • git to fetch the code
  • cmake to build tests and examples (optional)
Authors
  • Sergei Iskakov, iskakoff[at]q-solvers.ru, 2016-now
  • Michael Danilov, 2016-now
Distribution

Open-source under MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].