The ebcc
package implements various coupled cluster (CC) models for both purely electronic and coupled electron-boson models, with a focus on generality and model extensibility.
From source:
git clone https://github.com/BoothGroup/ebcc
pip install .
The implemented models are built upon the mean-field objects of pyscf
:
from pyscf import gto, scf
from ebcc import EBCC
mol = gto.M(atom="H 0 0 0; H 0 0 1", basis="cc-pvdz")
mf = scf.RHF(mol)
mf.kernel()
ccsd = EBCC(mf)
ccsd.kernel()
The models implemented are generated algorithmically from expressions over second quantized operators. Expressions are generated using qwick
and pdaggerq
with optimisation of common subexpressions and contraction order achieved using drudge
and gristmill
.
User-inputted models should operate seamlessly with the solvers by adding files under ebcc/codegen
, so long as they satisfy the interface.