pyscf.gto.basis package#

Submodules#

pyscf.gto.basis.bse module#

Conversion from the Basis Set Exchange format to PySCF format

17 Nov 2021 Susi Lehtola

pyscf.gto.basis.bse.autoabs(name, elements)[source]#

Create a Coulomb fitting basis set for the given orbital basis set. See also: R. Yang, A. P. Rendell, and M. J. Frisch Automatically generated Coulomb fitting basis sets: Design and accuracy for systems containing H to Kr J. Chem. Phys. 127, 074102 (2007) http://doi.org/10.1063/1.2752807

pyscf.gto.basis.bse.autoaux(name, elements)[source]#

Create an auxiliary basis set for the given orbital basis set using the Auto-Aux algorithm.

See also: G. L. Stoychev, A. A. Auer, and F. Neese Automatic Generation of Auxiliary Basis Sets J. Chem. Theory Comput. 13, 554 (2017) http://doi.org/10.1021/acs.jctc.6b01041

pyscf.gto.basis.bse.get_basis(name, elements)[source]#

Obtain a basis set

Args:
namestr

Name of the basis set, case insensitive.

elements : str, int or list

Returns:

A dict of basis set in PySCF internal basis format.

pyscf.gto.basis.dyall_dz module#

pyscf.gto.basis.dyall_qz module#

pyscf.gto.basis.dyall_tz module#

pyscf.gto.basis.dzp_dunning module#

pyscf.gto.basis.faegre_dz module#

pyscf.gto.basis.iglo3 module#

pyscf.gto.basis.minao module#

pyscf.gto.basis.parse_bfd_pp module#

Parsers for basis set associated with Burkatzi-Filippi-Dolg pseudo potential

pyscf.gto.basis.parse_bfd_pp.parse(symb, basistype)[source]#
pyscf.gto.basis.parse_bfd_pp.parse_ecp(symb)[source]#
pyscf.gto.basis.parse_bfd_pp.search_seg(basisfile, symb)[source]#

pyscf.gto.basis.parse_cp2k module#

parse CP2K format

pyscf.gto.basis.parse_cp2k.load(basisfile, symb, optimize=False)[source]#
pyscf.gto.basis.parse_cp2k.parse(string, symb=None, optimize=False)[source]#

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

Examples:

>>> cell = gto.Cell()
>>> cell.basis = {'C': pyscf.gto.basis.parse_cp2k.parse("""
... C DZVP-GTH
...   2
...   2  0  1  4  2  2
...         4.3362376436   0.1490797872   0.0000000000  -0.0878123619   0.0000000000
...         1.2881838513  -0.0292640031   0.0000000000  -0.2775560300   0.0000000000
...         0.4037767149  -0.6882040510   0.0000000000  -0.4712295093   0.0000000000
...         0.1187877657  -0.3964426906   1.0000000000  -0.4058039291   1.0000000000
...   3  2  2  1  1
...         0.5500000000   1.0000000000
... #
... """)}
pyscf.gto.basis.parse_cp2k.search_seg(basisfile, symb)[source]#

pyscf.gto.basis.parse_cp2k_pp module#

parse CP2K PP format, following parse_nwchem.py

pyscf.gto.basis.parse_cp2k_pp.load(pseudofile, symb, suffix=None)[source]#

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

pyscf.gto.basis.parse_cp2k_pp.parse(string, symb=None)[source]#

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.

Args:

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

Examples:

>>> cell = gto.Cell()
>>> cell.pseudo = {'C': pyscf.gto.basis.pseudo_cp2k.parse("""
... #PSEUDOPOTENTIAL
... C GTH-BLYP-q4
...     2    2
...      0.33806609    2    -9.13626871     1.42925956
...     2
...      0.30232223    1     9.66551228
...      0.28637912    0
... """)}
pyscf.gto.basis.parse_cp2k_pp.search_seg(pseudofile, symb, suffix=None)[source]#

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

pyscf.gto.basis.parse_gaussian module#

Parsers for basis set in Gaussian program format

pyscf.gto.basis.parse_gaussian.load(basisfile, symb, optimize=True)[source]#
pyscf.gto.basis.parse_gaussian.parse(string, optimize=True)[source]#

Parse the basis text which is in NWChem format, return an internal basis format which can be assigned to Mole.basis Lines started with # are ignored.

pyscf.gto.basis.parse_molpro module#

Parses for basis set in the Molpro format

pyscf.gto.basis.parse_molpro.load(basisfile, symb, optimize=True)[source]#
pyscf.gto.basis.parse_molpro.parse(string, optimize=True)[source]#

pyscf.gto.basis.parse_nwchem module#

Parsers for basis set in the NWChem format

pyscf.gto.basis.parse_nwchem.convert_basis_to_nwchem(symb, basis)[source]#

Convert the internal basis format to NWChem format string

pyscf.gto.basis.parse_nwchem.convert_ecp_to_nwchem(symb, ecp)[source]#

Convert the internal ecp format to NWChem format string

pyscf.gto.basis.parse_nwchem.load(basisfile, symb, optimize=True)[source]#

Load basis for atom of symb from file

pyscf.gto.basis.parse_nwchem.load_ecp(basisfile, symb)#

Load ECP for atom of symb from file

pyscf.gto.basis.parse_nwchem.optimize_contraction(basis)[source]#

Search the basis segments which have the same exponents then merge them to the general contracted sets.

Note the difference to the function to_general_contraction(). The return value of this function may still have multiple segments for each angular moment section.

pyscf.gto.basis.parse_nwchem.parse(string, symb=None, optimize=True)[source]#

Parse the basis text which is in NWChem format. Return an internal basis format which can be assigned to attribute Mole.basis Empty lines, or the lines started with #, or the lines of “BASIS SET” and “END” will be ignored are ignored.

Args:

string : A string in NWChem basis format. Empty links and the lines of “BASIS SET” and “END” will be ignored

Kwargs:
optimizeOptimize basis contraction. Convert the segment contracted

basis to the general contracted basis.

Examples:

>>> mol = gto.Mole()
>>> mol.basis = {'O': gto.basis.parse("""
... #BASIS SET: (6s,3p) -> [2s,1p]
... C    S
...      71.6168370              0.15432897
...      13.0450960              0.53532814
...       3.5305122              0.44463454
... C    SP
...       2.9412494             -0.09996723             0.15591627
...       0.6834831              0.39951283             0.60768372
...       0.2222899              0.70011547             0.39195739
... """)}
>>> gto.basis.parse("""
... He    S
...      13.6267000              0.1752300
...       1.9993500              0.8934830
...       0.3829930              0.0000000
... He    S
...      13.6267000              0.0000000
...       1.9993500              0.0000000
...       0.3829930              1.0000000
... """, optimize=True)
[[0, [13.6267, 0.17523, 0.0], [1.99935, 0.893483, 0.0], [0.382993, 0.0, 1.0]]]
pyscf.gto.basis.parse_nwchem.parse_ecp(string, symb=None)#

Parse ECP text which is in NWChem format. Return an internal basis format which can be assigned to attribute Mole.ecp Empty lines, or the lines started with #, or the lines of “BASIS SET” and “END” will be ignored are ignored.

pyscf.gto.basis.parse_nwchem.remove_zero(basis)[source]#

Remove exponents if their contraction coefficients are all zeros.

pyscf.gto.basis.parse_nwchem.to_general_contraction(basis)[source]#

Segmented contracted basis -> general contracted basis.

Combine multiple basis segments to one segment for each angular moment section.

Examples:

>>> gto.contract(gto.uncontract(gto.load('sto3g', 'He')))
[[0, [6.36242139, 1.0, 0.0, 0.0], [1.158923, 0.0, 1.0, 0.0], [0.31364979, 0.0, 0.0, 1.0]]]

pyscf.gto.basis.parse_nwchem_ecp module#

Parsers for basis set in the NWChem format

pyscf.gto.basis.parse_nwchem_ecp.convert_ecp_to_nwchem(symb, ecp)[source]#

Convert the internal ecp format to NWChem format string

pyscf.gto.basis.parse_nwchem_ecp.load(basisfile, symb)[source]#

Load ECP for atom of symb from file

pyscf.gto.basis.parse_nwchem_ecp.parse(string, symb=None)[source]#

Parse ECP text which is in NWChem format. Return an internal basis format which can be assigned to attribute Mole.ecp Empty lines, or the lines started with #, or the lines of “BASIS SET” and “END” will be ignored are ignored.

Module contents#

pyscf.gto.basis.load(filename_or_basisname, symb, optimize=False)[source]#

Convert the basis of the given symbol to internal format

Args:
filename_or_basisnamestr

Case insensitive basis set name. Special characters will be removed. or a string of “path/to/file” which stores the basis functions

symbstr

Atomic symbol, Special characters will be removed.

Examples:

Load STO 3G basis of carbon to oxygen atom

>>> mol = gto.Mole()
>>> mol.basis = {'O': load('sto-3g', 'C')}
pyscf.gto.basis.load_ecp(filename_or_basisname, symb)[source]#

Parses ECP database file

pyscf.gto.basis.load_pseudo(filename_or_basisname, symb)[source]#

Parses PP database file

pyscf.gto.basis.optimize_contraction(basis)[source]#

Search the basis segments which have the same exponents then merge them to the general contracted sets.

Note the difference to the function to_general_contraction(). The return value of this function may still have multiple segments for each angular moment section.

pyscf.gto.basis.parse(string, symb=None, optimize=False)[source]#

Parse the basis text which is in NWChem format. Return an internal basis format which can be assigned to attribute Mole.basis Empty lines, or the lines started with #, or the lines of “BASIS SET” and “END” will be ignored are ignored.

Args:

string : A string in NWChem basis format. Empty links and the lines of “BASIS SET” and “END” will be ignored

Kwargs:
optimizeOptimize basis contraction. Convert the segment contracted

basis to the general contracted basis.

Examples:

>>> mol = gto.Mole()
>>> mol.basis = {'O': gto.basis.parse("""
... #BASIS SET: (6s,3p) -> [2s,1p]
... C    S
...      71.6168370              0.15432897
...      13.0450960              0.53532814
...       3.5305122              0.44463454
... C    SP
...       2.9412494             -0.09996723             0.15591627
...       0.6834831              0.39951283             0.60768372
...       0.2222899              0.70011547             0.39195739
... """)}
>>> gto.basis.parse("""
... He    S
...      13.6267000              0.1752300
...       1.9993500              0.8934830
...       0.3829930              0.0000000
... He    S
...      13.6267000              0.0000000
...       1.9993500              0.0000000
...       0.3829930              1.0000000
... """, optimize=True)
[[0, [13.6267, 0.17523, 0.0], [1.99935, 0.893483, 0.0], [0.382993, 0.0, 1.0]]]
pyscf.gto.basis.parse_ecp(string, symb=None)[source]#

Parse ECP text which is in NWChem format. Return an internal basis format which can be assigned to attribute Mole.ecp Empty lines, or the lines started with #, or the lines of “BASIS SET” and “END” will be ignored are ignored.

pyscf.gto.basis.to_general_contraction(basis)[source]#

Segmented contracted basis -> general contracted basis.

Combine multiple basis segments to one segment for each angular moment section.

Examples:

>>> gto.contract(gto.uncontract(gto.load('sto3g', 'He')))
[[0, [6.36242139, 1.0, 0.0, 0.0], [1.158923, 0.0, 1.0, 0.0], [0.31364979, 0.0, 0.0, 1.0]]]