Basis sets#

Let us consider an example:

import veloxchem as vlx

co_xyz_str = """
2
carbon monoxide
C    0.00    0.00    0.00
O    0.00    0.00    1.43
"""

molecule = vlx.Molecule.read_xyz_string(co_xyz_str)

Basis set specification#

A basis set is specfied with the read method of the MolecularBasis class.

basis = vlx.MolecularBasis.read(molecule, 'cc-pVDZ')
* Info * Reading basis set from file: /Users/lixin/miniconda3-x86_64/envs/vlxman/lib/python3.11/site-packages/veloxchem/basis/CC-PVDZ
                                                                                                                          
                                              Molecular Basis (Atomic Basis)                                              
                                             ================================                                             
                                                                                                                          
                               Basis: CC-PVDZ                                                                             
                                                                                                                          
                               Atom Contracted GTOs           Primitive GTOs                                              
                                                                                                                          
                                O   (3S,2P,1D)                (17S,4P,1D)                                                 
                                C   (3S,2P,1D)                (17S,4P,1D)                                                 
                                                                                                                          
                               Contracted Basis Functions : 28                                                            
                               Primitive Basis Functions  : 68                                                            
                                                                                                                          

Available basis sets#

The basis sets provided in the VeloxChem library for a specific element can be listed with the get_avail_basis method of the MolecularBasis class.

print('Available basis sets for carbon:\n', vlx.MolecularBasis.get_avail_basis('C'))
Available basis sets for carbon:
 ['6-31++G', '6-31++G*', '6-31++G**', '6-31+G', '6-31+G*', '6-31+G**', '6-311++G', '6-311++G(2D,2P)', '6-311++G(3DF,3PD)', '6-311++G*', '6-311++G**', '6-311+G', '6-311+G(2D,P)', '6-311+G*', '6-311+G**', '6-311G', '6-311G(2DF,2PD)', '6-311G*', '6-311G**', '6-31G', '6-31G(2DF,P)', '6-31G(3DF,3PD)', '6-31G*', '6-31G**', 'ANO-L-MB', 'ANO-L-VDZP', 'ANO-L-VQZP', 'ANO-L-VTZP', 'ANO-S-MB', 'ANO-S-VDZP', 'AO-START-GUESS', 'AUG-CC-PCV5Z', 'AUG-CC-PCVDZ', 'AUG-CC-PCVQZ', 'AUG-CC-PCVTZ', 'AUG-CC-PV5Z', 'AUG-CC-PV6Z', 'AUG-CC-PVDZ', 'AUG-CC-PVQZ', 'AUG-CC-PVTZ', 'AUG-PCSEG-0', 'AUG-PCSEG-1', 'AUG-PCSEG-2', 'AUG-PCSEG-3', 'AUG-PCSEG-4', 'AUG-PCX-1', 'AUG-PCX-2', 'AUG-PCX-3', 'AUG-PCX-4', 'CC-PCV5Z', 'CC-PCVDZ', 'CC-PCVQZ', 'CC-PCVTZ', 'CC-PV5Z', 'CC-PV6Z', 'CC-PVDZ', 'CC-PVQZ', 'CC-PVTZ', 'DAUG-CC-PCV5Z', 'DAUG-CC-PCVDZ', 'DAUG-CC-PCVQZ', 'DAUG-CC-PCVTZ', 'DAUG-CC-PV5Z', 'DAUG-CC-PV6Z', 'DAUG-CC-PVDZ', 'DAUG-CC-PVQZ', 'DAUG-CC-PVTZ', 'DEF2-QZVP', 'DEF2-QZVPD', 'DEF2-QZVPP', 'DEF2-QZVPPD', 'DEF2-SV(P)', 'DEF2-SVP', 'DEF2-SVPD', 'DEF2-TZVP', 'DEF2-TZVPD', 'DEF2-TZVPP', 'DEF2-TZVPPD', 'PCSEG-0', 'PCSEG-1', 'PCSEG-2', 'PCSEG-3', 'PCSEG-4', 'PCX-1', 'PCX-2', 'PCX-3', 'PCX-4', 'SADLEJ-PVTZ', 'STO-3G', 'STO-3G-OLD', 'STO-6G', 'TAUG-CC-PCV5Z', 'TAUG-CC-PCVDZ', 'TAUG-CC-PCVQZ', 'TAUG-CC-PCVTZ', 'TAUG-CC-PV5Z', 'TAUG-CC-PV6Z', 'TAUG-CC-PVDZ', 'TAUG-CC-PVQZ', 'TAUG-CC-PVTZ']

Effective-core potential basis sets#

Effective-core potatials are in the process of being implmented in VeloxChem.

Adding a basis set#

You can provide you own basis set file in the job submission directory. The format of this file exeplified below for a single element (carbon), listing separated contracted atomic orbitals (AOs) after one another with specification made of the orbital angular momentum and number of Gaussian primitive functions.

@BASIS_SET my_basis

@ATOMBASIS C
S 6  1
3.047524900000e+03  1.834700000000e-03
4.573695100000e+02  1.403730000000e-02
1.039486900000e+02  6.884260000000e-02
2.921015500000e+01  2.321844000000e-01
9.286663000000e+00  4.679413000000e-01
3.163927000000e+00  3.623120000000e-01
S 3  1
7.868272400000e+00 -1.193324000000e-01
1.881288500000e+00 -1.608542000000e-01
5.442493000000e-01  1.143456400000e+00
P 3  1
7.868272400000e+00  6.899910000000e-02
1.881288500000e+00  3.164240000000e-01
5.442493000000e-01  7.443083000000e-01
S 1  1
1.687144000000e-01  1.000000000000e+00
P 1  1
1.687144000000e-01  1.000000000000e+00
@END