pyscf.pbc.gto.pseudo package

Submodules

pyscf.pbc.gto.pseudo.parse_cp2k module

parse CP2K PP format, following parse_nwchem.py

pyscf.pbc.gto.pseudo.parse_cp2k.load(pseudofile, symb, suffix=None)

Parse the pseudofile’s entry for atom ‘symb’, return an internal pseudo format which can be assigned to Cell.pseudo

pyscf.pbc.gto.pseudo.parse_cp2k.parse(string)

Parse the pseudo text string which is in CP2K format, return an internal basis format which can be assigned to Cell.pseudo Lines started with # are ignored.

pyscf.pbc.gto.pseudo.parse_cp2k.search_seg(pseudofile, symb, suffix=None)

Find the pseudopotential entry for atom ‘symb’ in file ‘pseudofile’

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)

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)

Real spherical harmonics, if desired.

pyscf.pbc.gto.pseudo.pp.cart2polar(rvec)
pyscf.pbc.gto.pseudo.pp.get_alphas(cell)

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)

alpha parameters for the local GTH pseudopotential.

pyscf.pbc.gto.pseudo.pp.get_gth_projG(cell, Gvs)

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)

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

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

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

Get the periodic pseudotential nuc-el AO matrix

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

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)

Local PP kernel in G space: Vloc(G)

Returns:

(natm, ngrids) ndarray

pyscf.pbc.gto.pseudo.pp.projG_li(G, l, i, rl)

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)

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)

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)

PRB, 58, 3641 Eq (5) first term

pyscf.pbc.gto.pseudo.pp_int.get_pp_loc_part1(cell, kpts=None)

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

pyscf.pbc.gto.pseudo.pp_int.get_pp_loc_part2(cell, kpts=None)

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

pyscf.pbc.gto.pseudo.pp_int.get_pp_nl(cell, kpts=None)

pyscf.pbc.gto.pseudo.split_GTH_POTENTIALS module

pyscf.pbc.gto.pseudo.split_GTH_POTENTIALS.main()

Module contents

pyscf.pbc.gto.pseudo.load(pseudo_name, symb)

Convert the pseudopotential of the given symbol to internal format

Args:
pseudo_namestr

Case insensitive pseudopotential name. Special characters will be removed.

symbstr

Atomic symbol, Special characters will be removed.

Examples:

Load GTH-BLYP pseudopotential of carbon

>>> cell = gto.Cell()
>>> cell.pseudo = {'C': load('gth-blyp', 'C')}
pyscf.pbc.gto.pseudo.parse(string)

Parse the pseudo text which is in CP2K format, return an internal pseudo format which can be assigned to Cell.pseudo

Args:

string : Blank linke and the lines of “PSEUDOPOTENTIAL” and “END” will be ignored

Examples:

>>> cell = gto.Cell()
>>> cell.pseudo = {'C': gto.pseudo.parse("""
... #PSEUDOPOTENTIAL
... C GTH-BLYP-q4
...     2    2
...      0.33806609    2    -9.13626871     1.42925956
...     2
...      0.30232223    1     9.66551228
...      0.28637912    0
... """)}