Skip to content
forked from oimeitei/quemb

QuEmb is an open-source tool for efficient quantum chemistry simulation of large molecules and solids (1D and 2D periodic systems) via bootstrap embedding technique.

License

Notifications You must be signed in to change notification settings

lweisburn/quemb

 
 

Repository files navigation

QuEmb

QuEmb is a robust framework designed to implement the Bootstrap Embedding (BE) method, efficiently treating electron correlation in molecules, surfaces, and solids. This repository contains the Python implementation of the BE methods, including periodic bootstrap embedding. The code leverages PySCF library for quantum chemistry calculations and utlizes Python's multiprocessing module to enable parallel computations in high-performance computing environments.

QuEmb includes two libraries: molbe and kbe. The molbe library implements BE for molecules and supramolecular complexes, while the kbe library is designed to handle periodic systems such as surfaces and solids using periodic BE.

Features

  • Fragment-based quantum embedding: Utilizes flexible system partioning with overlapping regions to improve quantum embedding techniques.
  • Periodic Bootstrap Embedding: Extends BE method to treat periodic systems (1D & 2D systems) using reciprocal space sums.
  • High accuracy and efficiency: Capable of recovering ~99.9% of electron correlation energy.
  • Parallel computing: Employ's Python multiprocessing module to perform parallel computations across multiple processors.

Installation

Prerequisites

  • Python 3.6 or higher
  • PySCF library
  • Numpy
  • Scipy
  • libDMET## (required for periodic BE)
  • Wannier90&& (to use Wannier functions)

##The modified version of libDMET available at here is recommended to run periodic BE using QuEmb.
&&Wannier90 code is interfaced via libDMET in QuEmb

Steps

  1. Clone the repository:

    git clone https://github.com/oimeitei/quemb.git
    cd quemb
    
  2. Install QuEmb using one of the following approaches:

    pip install .  

    or simply add path/to/quemd to PYTHONPATH

    export PYTHONPATH=/path/to/quemb:$PYTHONPATH

    For conda (or virtual environment) installations, after creating your environment, specify the path to mol-be source as a path file, as in:

    echo path/to/quemb > $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/quemb.pth

Basic Usage

# Molecular
from molbe import fragpart
from molbe import BE

# Periodic
#from kbe import fragpart
#from kbe import BE

# Perform pyscf HF/KHF calculations
# get mol: pyscf.gto.M or pyscf.pbc.gto.Cell
# get mf: pyscf.scf.RHF or pyscf.pbc.KRHF

# Define fragments
myFrag = fragpart(be_type='be2', mol=mol)

# Initialize BE
mybe = BE(mf, myFrag)

# Perform density matching in BE
mybe.optimize(solver='CCSD')

See documentation and quemb/example for more details.

Documentation

Comprehensive documentation for QuEmb is available at quemb/docs. The documentation provides detailed infomation on installation, usage, API reference, and examples. To build the documentation locally, simply navigate to docs and build using make html or make latexpdf.

Alternatively, you can view the latest documentation online here.

References

The methods implemented in this code are described in details in the following papers:

  • OR Meitei, T Van Voorhis, Periodic bootstrap embedding, JCTC 19 3123 2023
  • OR Meitei, T Van Voorhis, Electron correlation in 2D periodic systems, arXiv:2308.06185
  • HZ Ye, HK Tran, T Van Voorhis, Bootstrap embedding for large molecular systems, JCTC 16 5035 2020

About

QuEmb is an open-source tool for efficient quantum chemistry simulation of large molecules and solids (1D and 2D periodic systems) via bootstrap embedding technique.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%