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.]]))[source]

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()[source]

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)[source]
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, bvk_kmesh=None)[source]
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)[source]
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()[source]
get_nuc(kpts=None)
get_pp(kpts=None)

Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.

loop(blksize=None)[source]
prange(start, stop, step)[source]

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, bvk_kmesh=None)[source]

Fourier transform iterator for AO pair

reset(cell=None)[source]
update_mf(mf)[source]
weighted_coulG(kpt=array([0., 0., 0.]), exx=False, mesh=None)
pyscf.pbc.df.aft.estimate_eta(cell, cutoff=1e-12)[source]

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)[source]

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)[source]

Given eta, the lower bound of ke_cutoff to produce the required precision in AFTDF Coulomb integrals.

pyscf.pbc.df.aft.estimate_ke_cutoff_for_omega(cell, omega, precision=None)[source]

Energy cutoff to converge attenuated Coulomb in moment space

pyscf.pbc.df.aft.estimate_omega_for_ke_cutoff(cell, ke_cutoff, precision=None)[source]

The minimal omega in attenuated Coulombl given energy cutoff

pyscf.pbc.df.aft.get_nuc(mydf, kpts=None)[source]
pyscf.pbc.df.aft.get_pp(mydf, kpts=None)[source]

Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.

pyscf.pbc.df.aft.get_pp_loc_part1(mydf, kpts=None)[source]
pyscf.pbc.df.aft.weighted_coulG(mydf, kpt=array([0., 0., 0.]), exx=False, mesh=None)[source]

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)[source]
pyscf.pbc.df.aft_ao2mo.general(mydf, mo_coeffs, kpts=None, compact=True)[source]
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)[source]

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)[source]
pyscf.pbc.df.aft_ao2mo.get_mo_pairs_G(mydf, mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)[source]

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)[source]
pyscf.pbc.df.aft_jk.get_j_kpts(mydf, dm_kpts, hermi=1, kpts=array([[0., 0., 0.]]), kpts_band=None)[source]
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)[source]

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)[source]

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.]]))[source]

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)[source]

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)[source]
check_sanity()[source]

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)[source]
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)[source]
get_mo_eri(mo_coeffs, kpts=None, compact=True)
get_naoaux()[source]

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)[source]
loop(blksize=None)[source]
reset(cell=None)[source]
sr_loop(kpti_kptj=array([[0., 0., 0.], [0., 0., 0.]]), max_memory=2000, compact=True, blksize=None)[source]

Short range part

update()[source]
update_cc()[source]
update_mp()[source]
weighted_coulG(kpt=array([0., 0., 0.]), exx=False, mesh=None)
pyscf.pbc.df.df.fuse_auxcell(mydf, auxcell)[source]
pyscf.pbc.df.df.make_modchg_basis(auxcell, smooth_eta)[source]
pyscf.pbc.df.df.make_modrho_basis(cell, auxbasis=None, drop_eta=None)[source]

pyscf.pbc.df.df_ao2mo module

exception pyscf.pbc.df.df_ao2mo.PBC2DIntegralsWarning[source]

Bases: RuntimeWarning

pyscf.pbc.df.df_ao2mo.ao2mo_7d(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)[source]
pyscf.pbc.df.df_ao2mo.general(mydf, mo_coeffs, kpts=None, compact=True)[source]
pyscf.pbc.df.df_ao2mo.get_eri(mydf, kpts=None, compact=True)[source]
pyscf.pbc.df.df_ao2mo.warn_pbc2d_eri(mydf)[source]

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)[source]

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)[source]
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)[source]

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)[source]
pyscf.pbc.df.df_jk.zdotCN(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)[source]

c = a.conj()*b

pyscf.pbc.df.df_jk.zdotNC(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)[source]

c = a*b.conj()

pyscf.pbc.df.df_jk.zdotNN(aR, aI, bR, bI, alpha=1, cR=None, cI=None, beta=0)[source]

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.]]))[source]

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)[source]
check_sanity()[source]

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)[source]
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)[source]
get_jk(dm, hermi=1, kpts=None, kpts_band=None, with_j=True, with_k=True, omega=None, exxdiv=None)[source]
get_jk_e1(dm, kpts=None, kpts_band=None, exxdiv=None)[source]
get_k_e1(dm, kpts=None, kpts_band=None, exxdiv=None)[source]
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()[source]
get_nuc(kpts=None)
get_pp(kpts=None)

Get the periodic pseudotential nuc-el AO matrix, with G=0 removed.

loop(blksize=None)[source]
property mesh
reset(cell=None)[source]
update_mf(mf)[source]
pyscf.pbc.df.fft.get_nuc(mydf, kpts=None)[source]
pyscf.pbc.df.fft.get_pp(mydf, kpts=None)[source]

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)[source]
pyscf.pbc.df.fft_ao2mo.general(mydf, mo_coeffs, kpts=None, compact=True)[source]

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)[source]

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)[source]
pyscf.pbc.df.fft_ao2mo.get_mo_pairs_G(mydf, mo_coeffs, kpts=array([[0., 0., 0.], [0., 0., 0.]]), q=None, compact=False)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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 symmetric
1 : 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)[source]

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)[source]

Fourier transform AO pair for a pair of k-points sum_T exp(-i k_j * T) int exp(-i(G+q)r) i(r) j(r-T) dr^3

pyscf.pbc.df.ft_ao.ft_aopair_kpts(cell, Gv, shls_slice=None, aosym='s1', b=None, gxyz=None, Gvbase=None, q=array([0., 0., 0.]), kptjs=array([[0., 0., 0.]]), intor='GTO_ft_ovlp', comp=1, bvk_kmesh=None, out=None)[source]

Fourier transform AO pair for a group of k-points sum_T exp(-i k_j * T) int exp(-i(G+q)r) i(r) j(r-T) dr^3

The return array holds the AO pair corresponding to the kpoints given by kptjs

pyscf.pbc.df.incore module

pyscf.pbc.df.incore.aux_e2(cell, auxcell_or_auxbasis, intor='int3c2e', aosym='s1', comp=None, kptij_lst=array([[[0., 0., 0.], [0., 0., 0.]]]), shls_slice=None, **kwargs)[source]

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_or_auxbasis, intor='int2c2e', hermi=0, kpt=array([0., 0., 0.]))[source]

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')[source]

For backward compatibility

pyscf.pbc.df.incore.make_auxcell(cell, auxbasis=None)

See pyscf.df.addons.make_auxmol

pyscf.pbc.df.incore.make_auxmol(cell, auxbasis=None)[source]

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)[source]

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.]]))[source]

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)[source]
get_mo_eri(mo_coeffs, kpts=None, compact=True)
get_naoaux()[source]

The dimension of auxiliary basis at gamma point

loop(blksize=None)[source]
update()[source]
update_cc()[source]
update_mp()[source]

pyscf.pbc.df.mdf_ao2mo module

pyscf.pbc.df.mdf_ao2mo.ao2mo_7d(mydf, mo_coeff_kpts, kpts=None, factor=1, out=None)[source]
pyscf.pbc.df.mdf_ao2mo.general(mydf, mo_coeffs, kpts=None, compact=True)[source]
pyscf.pbc.df.mdf_ao2mo.get_eri(mydf, kpts=None, compact=True)[source]

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)[source]

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)[source]
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)[source]

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)[source]

pyscf.pbc.df.outcore module

pyscf.pbc.df.outcore.aux_e1(cell, auxcell_or_auxbasis, erifile, intor='int3c2e', aosym='s2ij', comp=None, kptij_lst=None, dataname='eri_mo', shls_slice=None, max_memory=2000, verbose=0)[source]

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)

Module contents