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)¶
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 ... """)}