pyscf.pbc.df package¶
Submodules¶
pyscf.pbc.df.aft module¶
Density expansion on plane waves
-
class
pyscf.pbc.df.aft.
AFTDF
(cell, kpts=array([[0., 0., 0.]]))¶ Bases:
pyscf.lib.misc.StreamObject
Density expansion on plane waves
-
ao2mo
(mo_coeffs, kpts=None, compact=True)¶
-
ao2mo_7d
(mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
check_sanity
()¶ Check input of class/object attributes, check whether a class method is overwritten. It does not check the attributes which are prefixed with “_”. The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.
-
dump_flags
(verbose=None)¶
-
ft_loop
(mesh=None, q=array([0., 0., 0.]), kpts=None, shls_slice=None, max_memory=4000, aosym='s1', intor='GTO_ft_ovlp', comp=1)¶ - Fourier transform iterator for all kpti which satisfy
2pi*N = (kpts - kpti - q)*a, N = -1, 0, 1
-
get_ao_eri
(kpts=None, compact=True)¶
-
get_ao_pairs
(kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward Fourier tranform (G|ij) of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
get_ao_pairs_G
(kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward Fourier tranform (G|ij) of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
get_eri
(kpts=None, compact=True)¶
-
get_jk
(dm, hermi=1, kpts=None, kpts_band=None, with_j=True, with_k=True, omega=None, exxdiv=None)¶
-
get_mo_eri
(mo_coeffs, kpts=None, compact=True)¶
-
get_mo_pairs
(mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward fourier transform (G|ij) of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
-
get_mo_pairs_G
(mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward fourier transform (G|ij) of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
-
get_naoaux
()¶
-
get_nuc
(kpts=None)¶
-
get_pp
(kpts=None)¶ Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.
-
loop
(blksize=None)¶
-
prange
(start, stop, step)¶ This is a hook for MPI parallelization. DO NOT use it out of the scope of AFTDF/GDF/MDF.
-
pw_loop
(mesh=None, kpti_kptj=None, q=None, shls_slice=None, max_memory=2000, aosym='s1', blksize=None, intor='GTO_ft_ovlp', comp=1)¶ Fourier transform iterator for AO pair
-
reset
(cell=None)¶
-
update_mf
(mf)¶
-
weighted_coulG
(kpt=array([0., 0., 0.]), exx=False, mesh=None)¶
-
-
pyscf.pbc.df.aft.
estimate_eta
(cell, cutoff=1e-12)¶ The exponent of the smooth gaussian model density, requiring that at boundary, density ~ 4pi rmax^2 exp(-eta/2*rmax^2) ~ 1e-12
-
pyscf.pbc.df.aft.
estimate_eta_for_ke_cutoff
(cell, ke_cutoff, precision=1e-08)¶ Given ke_cutoff, the upper bound of eta to produce the required precision in AFTDF Coulomb integrals.
-
pyscf.pbc.df.aft.
estimate_ke_cutoff_for_eta
(cell, eta, precision=1e-08)¶ Given eta, the lower bound of ke_cutoff to produce the required precision in AFTDF Coulomb integrals.
-
pyscf.pbc.df.aft.
get_nuc
(mydf, kpts=None)¶
-
pyscf.pbc.df.aft.
get_pp
(mydf, kpts=None)¶ Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.
-
pyscf.pbc.df.aft.
get_pp_loc_part1
(mydf, kpts=None)¶
-
pyscf.pbc.df.aft.
weighted_coulG
(mydf, kpt=array([0., 0., 0.]), exx=False, mesh=None)¶
pyscf.pbc.df.aft_ao2mo module¶
Integral transformation with analytic Fourier transformation
-
pyscf.pbc.df.aft_ao2mo.
ao2mo_7d
(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
pyscf.pbc.df.aft_ao2mo.
general
(mydf, mo_coeffs, kpts=None, compact=True)¶
-
pyscf.pbc.df.aft_ao2mo.
get_ao_pairs_G
(mydf, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward Fourier tranform (G|ij) of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
pyscf.pbc.df.aft_ao2mo.
get_eri
(mydf, kpts=None, compact=True)¶
-
pyscf.pbc.df.aft_ao2mo.
get_mo_pairs_G
(mydf, mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward fourier transform (G|ij) of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
pyscf.pbc.df.aft_jk module¶
JK with analytic Fourier transformation
-
pyscf.pbc.df.aft_jk.
get_j_for_bands
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)¶
-
pyscf.pbc.df.aft_jk.
get_j_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)¶
-
pyscf.pbc.df.aft_jk.
get_jk
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None, with_j=True, with_k=True, exxdiv=None)¶ JK for given k-point
-
pyscf.pbc.df.aft_jk.
get_k_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None, exxdiv=None)¶
pyscf.pbc.df.df module¶
Density fitting
Divide the 3-center Coulomb integrals to two parts. Compute the local part in real space, long range part in reciprocal space.
Note when diffuse functions are used in fitting basis, it is easy to cause linear dependence (non-positive definite) issue under PBC.
Ref: J. Chem. Phys. 147, 164119 (2017)
-
pyscf.pbc.df.df.
DF
¶ alias of
pyscf.pbc.df.df.GDF
-
class
pyscf.pbc.df.df.
GDF
(cell, kpts=array([[0., 0., 0.]]))¶ Bases:
pyscf.pbc.df.aft.AFTDF
Gaussian density fitting
-
ao2mo
(mo_coeffs, kpts=None, compact=True)¶
-
ao2mo_7d
(mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
auxbar
(fused_cell=None)¶ Potential average = sum_L V_L*Lpq
The coulomb energy is computed with chargeless density int (rho-C) V, C = (int rho) / vol = Tr(gamma,S)/vol It is equivalent to removing the averaged potential from the short range V vs = vs - (int V)/vol * S
-
property
auxbasis
¶
-
build
(j_only=None, with_j3c=True, kpts_band=None)¶
-
check_sanity
()¶ Check input of class/object attributes, check whether a class method is overwritten. It does not check the attributes which are prefixed with “_”. The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.
-
dump_flags
(verbose=None)¶
-
get_ao_eri
(kpts=None, compact=True)¶
-
get_eri
(kpts=None, compact=True)¶
-
get_jk
(dm, hermi=1, kpts=None, kpts_band=None, with_j=True, with_k=True, omega=None, exxdiv=None)¶
-
get_mo_eri
(mo_coeffs, kpts=None, compact=True)¶
-
get_naoaux
()¶ The dimension of auxiliary basis at gamma point
-
get_nuc
(kpts=None)¶
-
get_pp
(kpts=None)¶ Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.
-
property
gs
¶
-
has_kpts
(kpts)¶
-
loop
(blksize=None)¶
-
reset
(cell=None)¶
-
sr_loop
(kpti_kptj=array([[0., 0., 0.], [0., 0., 0.]]), max_memory=2000, compact=True, blksize=None)¶ Short range part
-
update
()¶
-
update_cc
()¶
-
update_mp
()¶
-
weighted_coulG
(kpt=array([0., 0., 0.]), exx=False, mesh=None)¶
-
-
pyscf.pbc.df.df.
fuse_auxcell
(mydf, auxcell)¶
-
pyscf.pbc.df.df.
make_modchg_basis
(auxcell, smooth_eta)¶
-
pyscf.pbc.df.df.
make_modrho_basis
(cell, auxbasis=None, drop_eta=None)¶
pyscf.pbc.df.df_ao2mo module¶
-
exception
pyscf.pbc.df.df_ao2mo.
PBC2DIntegralsWarning
¶ Bases:
RuntimeWarning
-
pyscf.pbc.df.df_ao2mo.
ao2mo_7d
(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
pyscf.pbc.df.df_ao2mo.
general
(mydf, mo_coeffs, kpts=None, compact=True)¶
-
pyscf.pbc.df.df_ao2mo.
get_eri
(mydf, kpts=None, compact=True)¶
-
pyscf.pbc.df.df_ao2mo.
warn_pbc2d_eri
(mydf)¶
pyscf.pbc.df.df_jk module¶
Density fitting with Gaussian basis Ref: J. Chem. Phys. 147, 164119 (2017)
-
pyscf.pbc.df.df_jk.
density_fit
(mf, auxbasis=None, mesh=None, with_df=None)¶ Generte density-fitting SCF object
- Args:
- auxbasisstr or basis dict
Same format to the input attribute mol.basis. If auxbasis is None, auxiliary basis based on AO basis (if possible) or even-tempered Gaussian basis will be used.
- meshtuple
number of grids in each direction
with_df : DF object
-
pyscf.pbc.df.df_jk.
get_j_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)¶
-
pyscf.pbc.df.df_jk.
get_jk
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None, with_j=True, with_k=True, exxdiv=None)¶ JK for given k-point
-
pyscf.pbc.df.df_jk.
get_k_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None, exxdiv=None)¶
-
pyscf.pbc.df.df_jk.
zdotCN
(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)¶ c = a.conj()*b
-
pyscf.pbc.df.df_jk.
zdotNC
(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)¶ c = a*b.conj()
-
pyscf.pbc.df.df_jk.
zdotNN
(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)¶ c = a*b
pyscf.pbc.df.fft module¶
Density expansion on plane waves
-
class
pyscf.pbc.df.fft.
FFTDF
(cell, kpts=array([[0., 0., 0.]]))¶ Bases:
pyscf.lib.misc.StreamObject
Density expansion on plane waves
-
ao2mo
(mo_coeffs, kpts=None, compact=True)¶ General MO integral transformation
-
ao2mo_7d
(mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
aoR_loop
(grids=None, kpts=None, deriv=0)¶
-
check_sanity
()¶ Check input of class/object attributes, check whether a class method is overwritten. It does not check the attributes which are prefixed with “_”. The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.
-
dump_flags
(verbose=None)¶
-
get_ao_eri
(kpts=None, compact=True)¶
-
get_ao_pairs
(kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward (G|ij) FFT of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
get_ao_pairs_G
(kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward (G|ij) FFT of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
get_eri
(kpts=None, compact=True)¶
-
get_j_e1
(dm, kpts=None, kpts_band=None)¶
-
get_jk
(dm, hermi=1, kpts=None, kpts_band=None, with_j=True, with_k=True, omega=None, exxdiv=None)¶
-
get_jk_e1
(dm, kpts=None, kpts_band=None, exxdiv=None)¶
-
get_k_e1
(dm, kpts=None, kpts_band=None, exxdiv=None)¶
-
get_mo_eri
(mo_coeffs, kpts=None, compact=True)¶ General MO integral transformation
-
get_mo_pairs
(mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward (G|ij) FFT of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
-
get_mo_pairs_G
(mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward (G|ij) FFT of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
-
get_naoaux
()¶
-
get_nuc
(kpts=None)¶
-
get_pp
(kpts=None)¶ Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.
-
loop
(blksize=None)¶
-
property
mesh
¶
-
reset
(cell=None)¶
-
update_mf
(mf)¶
-
-
pyscf.pbc.df.fft.
get_nuc
(mydf, kpts=None)¶
-
pyscf.pbc.df.fft.
get_pp
(mydf, kpts=None)¶ Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.
pyscf.pbc.df.fft_ao2mo module¶
Integral transformation with FFT
- (ij|kl) = int dr1 dr2 i*(r1) j(r1) v(r12) k*(r2) l(r2)
= (ij|G) v(G) (G|kl)
- i*(r) j(r) = 1/N sum_G e^{iGr} (G|ij)
= 1/N sum_G e^{-iGr} (ij|G)
- “forward” FFT:
(G|ij) = sum_r e^{-iGr} i*(r) j(r) = fft[ i*(r) j(r) ]
- “inverse” FFT:
- (ij|G) = sum_r e^{iGr} i*(r) j(r) = N * ifft[ i*(r) j(r) ]
= conj[ sum_r e^{-iGr} j*(r) i(r) ]
-
pyscf.pbc.df.fft_ao2mo.
ao2mo_7d
(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
pyscf.pbc.df.fft_ao2mo.
general
(mydf, mo_coeffs, kpts=None, compact=True)¶ General MO integral transformation
-
pyscf.pbc.df.fft_ao2mo.
get_ao_pairs_G
(mydf, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, shls_slice=None, compact=False)¶ Calculate forward (G|ij) FFT of all AO pairs.
- Returns:
- ao_pairs_G2D complex array
For gamma point, the shape is (ngrids, nao*(nao+1)/2); otherwise the shape is (ngrids, nao*nao)
-
pyscf.pbc.df.fft_ao2mo.
get_eri
(mydf, kpts=None, compact=True)¶
-
pyscf.pbc.df.fft_ao2mo.
get_mo_pairs_G
(mydf, mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)¶ Calculate forward (G|ij) FFT of all MO pairs.
- Args:
- mo_coeff: length-2 list of (nao,nmo) ndarrays
The two sets of MO coefficients to use in calculating the product |ij).
- Returns:
- mo_pairs_G(ngrids, nmoi*nmoj) ndarray
The FFT of the real-space MO pairs.
pyscf.pbc.df.fft_jk module¶
JK with discrete Fourier transformation
-
pyscf.pbc.df.fft_jk.
get_j
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None)¶ Get the Coulomb (J) AO matrix for the given density matrix.
- Args:
- dmndarray or list of ndarrays
A density matrix or a list of density matrices
- Kwargs:
- hermiint
Whether J, K matrix is hermitian | 0 : no hermitian or symmetric | 1 : hermitian | 2 : anti-hermitian
- kpt(3,) ndarray
The “inner” dummy k-point at which the DM was evaluated (or sampled).
- kpts_band(3,) ndarray or (*,3) ndarray
The “outer” primary k-point at which J and K are evaluated.
- Returns:
The function returns one J matrix, corresponding to the input density matrix (both order and shape).
-
pyscf.pbc.df.fft_jk.
get_j_e1_kpts
(mydf, dm_kpts, kpts=array([[0., 0., 0.]]), kpts_band=None)¶ Derivatives of Coulomb (J) AO matrix at sampled k-points.
-
pyscf.pbc.df.fft_jk.
get_j_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)¶ Get the Coulomb (J) AO matrix at sampled k-points.
- Args:
- dm_kpts(nkpts, nao, nao) ndarray or a list of (nkpts,nao,nao) ndarray
Density matrix at each k-point. If a list of k-point DMs, eg, UHF alpha and beta DM, the alpha and beta DMs are contracted separately.
kpts : (nkpts, 3) ndarray
- Kwargs:
- kpts_band(3,) ndarray or (*,3) ndarray
A list of arbitrary “band” k-points at which to evalute the matrix.
- Returns:
vj : (nkpts, nao, nao) ndarray or list of vj if the input dm_kpts is a list of DMs
-
pyscf.pbc.df.fft_jk.
get_jk
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None, with_j=True, with_k=True, exxdiv=None)¶ Get the Coulomb (J) and exchange (K) AO matrices for the given density matrix.
- Args:
- dmndarray or list of ndarrays
A density matrix or a list of density matrices
- Kwargs:
- hermiint
Whether J, K matrix is hermitian | 0 : no hermitian or symmetric | 1 : hermitian | 2 : anti-hermitian
- kpt(3,) ndarray
The “inner” dummy k-point at which the DM was evaluated (or sampled).
- kpts_band(3,) ndarray or (*,3) ndarray
The “outer” primary k-point at which J and K are evaluated.
- Returns:
The function returns one J and one K matrix, corresponding to the input density matrix (both order and shape).
-
pyscf.pbc.df.fft_jk.
get_k
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None, exxdiv=None)¶ Get the Coulomb (J) and exchange (K) AO matrices for the given density matrix.
- Args:
- dmndarray or list of ndarrays
A density matrix or a list of density matrices
- Kwargs:
- hermiint
Whether J, K matrix is hermitian | 0 : no hermitian or symmetric | 1 : hermitian | 2 : anti-hermitian
- kpt(3,) ndarray
The “inner” dummy k-point at which the DM was evaluated (or sampled).
- kpts_band(3,) ndarray or (*,3) ndarray
The “outer” primary k-point at which J and K are evaluated.
- Returns:
The function returns one J and one K matrix, corresponding to the input density matrix (both order and shape).
-
pyscf.pbc.df.fft_jk.
get_k_e1_kpts
(mydf, dm_kpts, kpts=array([[0., 0., 0.]]), kpts_band=None, exxdiv=None)¶ Derivatives of exchange (K) AO matrix at sampled k-points.
-
pyscf.pbc.df.fft_jk.
get_k_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None, exxdiv=None)¶ Get the Coulomb (J) and exchange (K) AO matrices at sampled k-points.
- Args:
- dm_kpts(nkpts, nao, nao) ndarray
Density matrix at each k-point
kpts : (nkpts, 3) ndarray
- Kwargs:
- hermiint
Whether K matrix is hermitian
0 : not hermitian and not symmetric1 : hermitian- kpts_band(3,) ndarray or (*,3) ndarray
A list of arbitrary “band” k-points at which to evalute the matrix.
- Returns:
vj : (nkpts, nao, nao) ndarray vk : (nkpts, nao, nao) ndarray or list of vj and vk if the input dm_kpts is a list of DMs
pyscf.pbc.df.ft_ao module¶
Analytic Fourier transformation AO-pair value for PBC
-
pyscf.pbc.df.ft_ao.
ft_ao
(mol, Gv, shls_slice=None, b=None, gxyz=None, Gvbase=None, kpt=array([0., 0., 0.]), verbose=None)¶ FT transform AO
-
pyscf.pbc.df.ft_ao.
ft_aopair
(cell, Gv, shls_slice=None, aosym='s1', b=None, gxyz=None, Gvbase=None, kpti_kptj=array([[0., 0., 0.], [0., 0., 0.]]), q=None, intor='GTO_ft_ovlp', comp=1, verbose=None)¶ FT transform AO pair sum_T exp(-i k_j * T) int exp(-i(G+q)r) i(r) j(r-T) dr^3
pyscf.pbc.df.incore module¶
-
pyscf.pbc.df.incore.
aux_e2
(cell, auxcell, intor='int3c2e', aosym='s1', comp=None, kptij_lst=array([[[0., 0., 0.], [0., 0., 0.]]]), shls_slice=None, **kwargs)¶ 3-center AO integrals (ij|L) with double lattice sum: sum_{lm} (i[l]j[m]|L[0]), where L is the auxiliary basis.
- Returns:
(nao_pair, naux) array
-
pyscf.pbc.df.incore.
fill_2c2e
(cell, auxcell, intor='int2c2e', hermi=0, kpt=array([0., 0., 0.]))¶ 2-center 2-electron AO integrals (L|ij), where L is the auxiliary basis.
-
pyscf.pbc.df.incore.
format_aux_basis
(cell, auxbasis='weigend+etb')¶ For backward compatibility
-
pyscf.pbc.df.incore.
make_auxmol
(cell, auxbasis=None)¶ See pyscf.df.addons.make_auxmol
-
pyscf.pbc.df.incore.
wrap_int3c
(cell, auxcell, intor='int3c2e', aosym='s1', comp=1, kptij_lst=array([[[0., 0., 0.], [0., 0., 0.]]]), cintopt=None, pbcopt=None)¶
pyscf.pbc.df.mdf module¶
Gaussian and planewaves mixed density fitting Ref: J. Chem. Phys. 147, 164119 (2017)
-
class
pyscf.pbc.df.mdf.
MDF
(cell, kpts=array([[0., 0., 0.]]))¶ Bases:
pyscf.pbc.df.df.GDF
Gaussian and planewaves mixed density fitting
-
ao2mo
(mo_coeffs, kpts=None, compact=True)¶
-
ao2mo_7d
(mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
property
eta
¶
-
property
exp_to_discard
¶
-
get_ao_eri
(kpts=None, compact=True)¶
-
get_eri
(kpts=None, compact=True)¶
-
get_jk
(dm, hermi=1, kpts=None, kpts_band=None, with_j=True, with_k=True, omega=None, exxdiv=None)¶
-
get_mo_eri
(mo_coeffs, kpts=None, compact=True)¶
-
get_naoaux
()¶ The dimension of auxiliary basis at gamma point
-
loop
(blksize=None)¶
-
update
()¶
-
update_cc
()¶
-
update_mp
()¶
-
pyscf.pbc.df.mdf_ao2mo module¶
-
pyscf.pbc.df.mdf_ao2mo.
ao2mo_7d
(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)¶
-
pyscf.pbc.df.mdf_ao2mo.
general
(mydf, mo_coeffs, kpts=None, compact=True)¶
-
pyscf.pbc.df.mdf_ao2mo.
get_eri
(mydf, kpts=None, compact=True)¶
pyscf.pbc.df.mdf_jk module¶
Exact density fitting with Gaussian and planewaves Ref: J. Chem. Phys. 147, 164119 (2017)
-
pyscf.pbc.df.mdf_jk.
density_fit
(mf, auxbasis=None, mesh=None, with_df=None)¶ Generte density-fitting SCF object
- Args:
- auxbasisstr or basis dict
Same format to the input attribute mol.basis. If auxbasis is None, auxiliary basis based on AO basis (if possible) or even-tempered Gaussian basis will be used.
- meshtuple
number of grids in each direction
with_df : MDF object
-
pyscf.pbc.df.mdf_jk.
get_j_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)¶
-
pyscf.pbc.df.mdf_jk.
get_jk
(mydf, dm, hermi=1, kpt=array([0., 0., 0.]), kpts_band=None, with_j=True, with_k=True, exxdiv=None)¶ JK for given k-point
-
pyscf.pbc.df.mdf_jk.
get_k_kpts
(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None, exxdiv=None)¶
pyscf.pbc.df.outcore module¶
-
pyscf.pbc.df.outcore.
aux_e1
(cell, auxcell, erifile, intor='int3c2e', aosym='s2ij', comp=None, kptij_lst=None, dataname='eri_mo', shls_slice=None, max_memory=2000, verbose=0)¶ 3-center AO integrals (L|ij) with double lattice sum: sum_{lm} (L[0]|i[l]j[m]), where L is the auxiliary basis. Three-index integral tensor (kptij_idx, naux, nao_pair) or four-index integral tensor (kptij_idx, comp, naux, nao_pair) are stored on disk.
- Args:
- kptij_lst(*,2,3) array
A list of (kpti, kptj)