def test_3b(): """[3] <<< cc-pVDZ w/ aug-cc-pVDZ on C >>>""" import psi4 psi4.basis_helper(""" assign cc-pvdz assign c aug-cc-pvdz """, name='dz_PLUS') qmol = qcdb.Molecule.from_string(smol) pmol = psi4.core.Molecule.from_string(smol) wert, dwert = qcdb.BasisSet.pyconstruct(qmol, 'BASIS', BASIS, verbose=verbose, return_dict=True) pwert = psi4.core.BasisSet.construct_from_pydict(pmol, dwert, -1) compare_integers(47, pwert.nbf(), 'nbf()') compare_integers(50, pwert.nao(), 'nao()') compare_strings('c2v', pwert.molecule().schoenflies_symbol(), 'symm') compare_strings('DZ_PLUS', pwert.name(), 'callby') compare_strings('AUG-CC-PVDZ + CC-PVDZ', pwert.blend(), 'blend')
def test_3b(): """[3] <<< cc-pVDZ w/ aug-cc-pVDZ on C >>>""" import psi4 psi4.basis_helper( """ assign cc-pvdz assign c aug-cc-pvdz """, name="dz_PLUS", ) qmol = qcdb.Molecule.from_string(smol) pmol = psi4.core.Molecule.from_string(smol) wert, dwert = qcdb.BasisSet.pyconstruct(qmol, "BASIS", BASIS, verbose=verbose, return_dict=True) pwert = psi4.core.BasisSet.construct_from_pydict(pmol, dwert, -1) compare_integers(47, pwert.nbf(), "nbf()") compare_integers(50, pwert.nao(), "nao()") compare_strings("c2v", pwert.molecule().schoenflies_symbol(), "symm") compare_strings("DZ_PLUS", pwert.name(), "callby") compare_strings("AUG-CC-PVDZ + CC-PVDZ", pwert.blend(), "blend")
psi4.basis_helper(""" # Sadlej-pVTZ spherical **** H 0 S 4 1.00 33.8650140000 0.0060680000 5.0947880000 0.0453160000 1.1587860000 0.2028460000 0.3258400000 0.5037090000 S 1 1.00 0.1027410000 1.0000000000 S 1 1.00 0.0324000000 1.0000000000 P 2 1.00 1.1588000000 0.1884400000 0.3258000000 0.8824200000 P 2 1.00 0.1027000000 0.1178000000 0.0324000000 0.0042000000 **** C 0 S 5 1.00 5240.6353000000 0.0009370000 782.2048000000 0.0072280000 178.3508300000 0.0363440000 50.8159420000 0.1306000000 16.8235620000 0.3189310000 S 2 1.00 6.1757760000 0.4387420000 2.4180490000 0.2149740000 S 1 1.00 0.5119000000 1.0000000000 S 1 1.00 0.1565900000 1.0000000000 S 1 1.00 0.0479000000 1.0000000000 P 4 1.00 18.8418000000 0.0138870000 4.1592400000 0.0862790000 1.2067100000 0.2887440000 0.3855400000 0.4994110000 P 1 1.00 0.1219400000 1.0000000000 P 1 1.00 0.0385680000 1.0000000000 D 2 1.00 1.2067000000 0.2628500000 0.3855000000 0.8043000000 D 2 1.00 0.1219000000 0.6535000000 0.0386000000 0.8636000000 **** O 0 S 5 1.00 10662.2850000000 0.0007990000 1599.7097000000 0.0061530000 364.7252600000 0.0311570000 103.6517900000 0.1155960000 33.9058050000 0.3015520000 S 2 1.00 12.2874690000 0.4448700000 4.7568050000 0.2431720000 S 1 1.00 1.0042710000 1.0000000000 S 1 1.00 0.3006860000 1.0000000000 S 1 1.00 0.0900300000 1.0000000000 P 4 1.00 34.8564630000 0.0156480000 7.8431310000 0.0981970000 2.3062490000 0.3077680000 0.7231640000 0.4924700000 P 1 1.00 0.2148820000 1.0000000000 P 1 1.00 0.0638500000 1.0000000000 D 2 1.00 2.3062000000 0.2027000000 0.7232000000 0.5791000000 D 2 1.00 0.2149000000 0.7854500000 0.0639000000 0.5338700000 **** """)
""") psi4.set_options({'basis': 'cc-pvdz'}) print('[1] <<< uniform cc-pVDZ >>>') wert = psi4.core.BasisSet.build(mymol, 'BASIS', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[2] <<< RIFIT (default) >>>') wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[3] <<< cc-pVDZ w/ aug-cc-pVDZ on C >>>') psi4.basis_helper(""" assign cc-pvdz assign c aug-cc-pvdz """, name='dz_PLUS') wert = psi4.core.BasisSet.build(mymol, 'BASIS', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[4] <<< RIFIT (default) >>>') wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT', psi4.core.get_global_option('BASIS')) mymol.print_out() wert.print_out() mymol.print_out() print('[5] <<< cc-pVDZ w/ aug-cc-pVDZ on C, H_R >>>') psi4.basis_helper(""" assign cc-pvdz
psi4.basis_helper(""" # # We start by assigning basis sets to atoms. These commands can go anywhere in the basis block # # First, assign DZ to all atoms assign DZ # Now, assign 3-21G to all carbon atoms assign C my3-21G # The two atoms labelled H1 get a STO-3G basis two assign H1 sto-3g # Carbons 3 and 5 get a STO-3G basis, too assign C1 sto-3g # With all these in place, the symmetry is lowered to C2v automatically # The commands are applied in order i.e., adding a line like # assign cc-pvtz # here would override all of the above and assign cc-pvtz to all atoms # # Now we define the basis sets. N.B. Indentation does not matter; it just looks prettier. # [my3-21G] #This is really the standard 3-21G basis, but with a different name cartesian **** H 0 S 2 1.00 5.4471780 0.1562850 0.8245470 0.9046910 S 1 1.00 0.1831920 1.0000000 **** C 0 S 3 1.00 172.2560000 0.0617669 25.9109000 0.3587940 5.5333500 0.7007130 SP 2 1.00 3.6649800 -0.3958970 0.2364600 0.7705450 1.2158400 0.8606190 SP 1 1.00 0.1958570 1.0000000 1.0000000 **** [DZ] spherical **** H 0 S 3 1.00 19.2406000 0.0328280 2.8992000 0.2312080 0.6534000 0.8172380 S 1 1.00 0.1776000 1.0000000 **** """)
psi4.set_options({'basis': 'cc-pvdz'}) print('[1] <<< uniform cc-pVDZ >>>') wert = psi4.core.BasisSet.build(mymol, 'BASIS', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[2] <<< RIFIT (default) >>>') wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[3] <<< cc-pVDZ w/ aug-cc-pVDZ on C >>>') psi4.basis_helper(""" assign cc-pvdz assign c aug-cc-pvdz """, name='dz_PLUS') wert = psi4.core.BasisSet.build(mymol, 'BASIS', psi4.core.get_global_option('BASIS')) mymol.print_out() print('[4] <<< RIFIT (default) >>>') wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT', psi4.core.get_global_option('BASIS')) mymol.print_out() wert.print_out() mymol.print_out() print('[5] <<< cc-pVDZ w/ aug-cc-pVDZ on C, H_R >>>') psi4.basis_helper("""