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/miniforge3/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