Skip to content

Many-Body Perturbation solvers for Green project

License

Notifications You must be signed in to change notification settings

egull/green-mbpt-exp

 
 

Repository files navigation

GitHub license GitHub license DOI

grids codecov

 █▀▀█ █▀▀█ █▀▀ █▀▀ █▀▀▄
 █ ▄▄ █▄▄▀ █▀▀ █▀▀ █  █
 █▄▄█ ▀ ▀▀ ▀▀▀ ▀▀▀ ▀  ▀

 █   █ █▀▀ █▀▀█ █ █     █▀▀█ █▀▀█ █  █ █▀▀█ █    ▀  █▀▀▄ █▀▀▀
 █ █ █ █▀▀ █▄▄█ █▀▄ ▀▀  █    █  █ █  █ █  █ █   ▀█▀ █  █ █ ▀█
 █▄▀▄█ ▀▀▀ ▀  ▀ ▀ ▀     █▄▄█ ▀▀▀▀  ▀▀▀ █▀▀▀ ▀▀▀ ▀▀▀ ▀  ▀ ▀▀▀▀

Green/WeakCoupling is a weak-coupling perturbation expansion solver for real materials expressed in Gaussian Bloch orbitals

Installation

Dependencies

Green/WeakCoupling has the following required external dependencies

  • HDF5 library version >= 1.10.2
  • Message Passing Interface >= 3.1
  • Eigen3 library >= 3.4.0
  • BLAS

To build Green/WeakCoupling CMake version 3.18 or above is required

PySCF interface requires

  • PySCF version >= 2.0
  • numba version >= 0.57

Build and Install

The following example will build, test and install Green/WeakCoupling to /path/to/weakcoupling/install/dir directory.

$ git clone https://github.com/Green-Phys/green-mbpt
$ cd green-mbpt
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/path/to/weakcoupling/install/dir ..
$ make
$ make test
$ make install

Basic usage

Generate input data

Green/WeakCoupling provides PySCF interface to generate input data and initial starting point through the green-mbtools Python package.

To generate initial mean-field solution and one- and two-body integrals run:

python python/init_data_df.py --a <a.dat> --atom <atom.dat> --nk <nk> --basis <basis specification>

To perform weak-coupling simulations, one have to call mbpt.exe executable located at the installation path in the bin subdirectory. Minimal parameters that are needed to run weak-coupling simulations are following:

  • --BETA inverse temperature
  • --scf_type type of self-consistent approximation, should be either GW, GF2 or HF
  • --grid_file path to a file containing non-uniform grids, program will check three possible locations:
    • current directory or absolute path
    • <installation directory>/share
    • build directory of weak-coupling code

Currently, we provide IR (ir subdirectory) and Chebyshev grids (cheb subdirectory) for nonuniform imaginary time representation.

After succesful completetion results will be written to a file located at --results_file (by default set to sim.h5) To get information about other parameters and their default values call mbpt.exe --help.

Acknowledgements

This work is supported by the National Science Foundation under the award OAC-2310582

About

Many-Body Perturbation solvers for Green project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.0%
  • Python 3.8%
  • CMake 3.4%
  • C 0.8%