pyscf.pbc.gto.pseudo package#

Submodules#

pyscf.pbc.gto.pseudo.pp module#

PP with numeric integration. See also pyscf/pbc/gto/pesudo/pp_int.py

For GTH/HGH PPs, see:

Goedecker, Teter, Hutter, PRB 54, 1703 (1996) Hartwigsen, Goedecker, and Hutter, PRB 58, 3641 (1998)

pyscf.pbc.gto.pseudo.pp.Ylm(l, m, theta, phi)[source]#

Spherical harmonics; returns a complex number

Note the “convention” for theta and phi: http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.special.sph_harm.html

pyscf.pbc.gto.pseudo.pp.Ylm_real(l, m, theta, phi)[source]#

Real spherical harmonics, if desired.

pyscf.pbc.gto.pseudo.pp.cart2polar(rvec)[source]#
pyscf.pbc.gto.pseudo.pp.get_alphas(cell)[source]#

alpha parameters from the non-divergent Hartree+Vloc G=0 term.

See ewald.pdf

Returns:

alphas : (natm,) ndarray

pyscf.pbc.gto.pseudo.pp.get_alphas_gth(cell)[source]#

alpha parameters for the local GTH pseudopotential.

pyscf.pbc.gto.pseudo.pp.get_gth_projG(cell, Gvs)[source]#

G space projectors from the FT of the real-space projectors.

int e^{iGr} p_j^l(r) Y_{lm}^*(theta,phi) = i^l p_j^l(G) Y_{lm}^*(thetaG, phiG)

See MH Eq.(4.80)

pyscf.pbc.gto.pseudo.pp.get_gth_vlocG(cell, Gv)[source]#

Local part of the GTH pseudopotential.

See MH (4.79).

Args:

Gv : (ngrids,3) ndarray

Returns:

(natm, ngrids) ndarray

pyscf.pbc.gto.pseudo.pp.get_jvloc_G0(cell, kpt=array([0., 0., 0.]))[source]#

Get the (separately divergent) Hartree + Vloc G=0 contribution.

pyscf.pbc.gto.pseudo.pp.get_pp(cell, kpt=array([0., 0., 0.]))[source]#

Get the periodic pseudopotential nuc-el AO matrix

pyscf.pbc.gto.pseudo.pp.get_projG(cell, kpt=array([0., 0., 0.]))[source]#

PP weight and projector for the nonlocal PP in G space.

Returns:
hslist( list( np.array( , ) ) )
  • hs[atm][l][i,j]

projslist( list( list( list( np.array(ngrids) ) ) ) )
  • projs[atm][l][m][i][ngrids]

pyscf.pbc.gto.pseudo.pp.get_vlocG(cell, Gv=None)[source]#

Local PP kernel in G space: Vloc(G)

Returns:

(natm, ngrids) ndarray

pyscf.pbc.gto.pseudo.pp.projG_li(G, l, i, rl)[source]#

pyscf.pbc.gto.pseudo.pp_int module#

Analytic PP integrals. See also pyscf/pbc/gto/pesudo/pp.py

For GTH/HGH PPs, see:

Goedecker, Teter, Hutter, PRB 54, 1703 (1996) Hartwigsen, Goedecker, and Hutter, PRB 58, 3641 (1998)

pyscf.pbc.gto.pseudo.pp_int.fake_cell_vloc(cell, cn=0, atm_id=None)[source]#

Generate fake cell for V_{loc}.

Each term of V_{loc} (erf, C_1, C_2, C_3, C_4) is a gaussian type function. The integral over V_{loc} can be transfered to the 3-center integrals, in which the auxiliary basis is given by the fake cell.

The kwarg cn indiciates which term to generate for the fake cell. If cn = 0, the erf term is generated. C_1,..,C_4 are generated with cn = 1..4

pyscf.pbc.gto.pseudo.pp_int.fake_cell_vnl(cell)[source]#

Generate fake cell for V_{nl}.

gaussian function p_i^l Y_{lm}

pyscf.pbc.gto.pseudo.pp_int.get_gth_vlocG_part1(cell, Gv)[source]#

PRB, 58, 3641 Eq (5) first term

pyscf.pbc.gto.pseudo.pp_int.get_pp_loc_part1(cell, kpts=None)[source]#

PRB, 58, 3641 Eq (1), integrals associated to erf

pyscf.pbc.gto.pseudo.pp_int.get_pp_loc_part2(cell, kpts=None)[source]#

PRB, 58, 3641 Eq (1), integrals associated to C1, C2, C3, C4

pyscf.pbc.gto.pseudo.pp_int.get_pp_loc_part2_gamma(cell)[source]#
pyscf.pbc.gto.pseudo.pp_int.get_pp_nl(cell, kpts=None)[source]#
pyscf.pbc.gto.pseudo.pp_int.vpploc_part2_nuc_grad(cell, dm, kpts=None)[source]#

Nuclear gradients of the 2nd part of the local part of the GTH pseudo potential, contracted with the density matrix.

pyscf.pbc.gto.pseudo.pp_int.vppnl_nuc_grad(cell, dm, kpts=None)[source]#

Nuclear gradients of the non-local part of the GTH pseudo potential, contracted with the density matrix.

pyscf.pbc.gto.pseudo.split_GTH_POTENTIALS module#

pyscf.pbc.gto.pseudo.split_GTH_POTENTIALS.main()[source]#

Module contents#