Basic Usage
- There are only three steps to run BE calculations using QuEmb:
Define fragments using
fragpart.Initialize BE using
BE.Density matching or chemical potential optimization using
BE.optimize
QuEmb requires molecular & Hartree-Fock calculation objects from pyscf. Refer to pyscf documentations: Molecules: 1 & 2, Solids: 3 & 4
Simple example of BE calculation on molecular system:
from molbe import fragpart, BE
# Perform pyscf calculations to get mol, mf objects
# See quemb/example/molbe_h8_density_matching.py
# get mol: pyscf.gto.M
# get mf: pyscf.scf.RHF
# Define fragments
myFrag = fragpart(be_type='be2', mol=mol)
# Initialize BE
mybe = BE(mf, myFrag)
# Perform density matching in BE
mybe.optimize(solver='CCSD')
Simple example of periodic BE calculation on 1D periodic system:
from kbe import fragpart, BE
# Perform pyscf pbc calculations to get cell, kmf, kpts
# See quemb/example/kbe_polyacetylene.py
# get cell: pyscf.pbc.gto.Cell
# get kmf: pyscf.pbc.scf.KRHF
# get kpts: 2D array of k-points
nk = 3 # no. of kpoints
# Define fragments
myFrag = fragpart(be_type='be2', mol=cell, kpt=[1,1,nk])
# Initialize BE
mybe = BE(mf, myFrag, kpts=kpts)
# Perform density matching in BE
mybe.optimize(solver='CCSD')