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.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_cp2k module#
parse CP2K format
- 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_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_gaussian module#
Parsers for basis set in Gaussian program format
pyscf.gto.basis.parse_molpro module#
Parses for basis set in the Molpro format
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
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.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]]]