#! Exercises the various DFT-D corrections, both through python directly and through c++



memory 200 mb

molecule eneyne {
C   0.000000  -0.667578  -2.124659
C   0.000000   0.667578  -2.124659
H   0.923621  -1.232253  -2.126185
H  -0.923621  -1.232253  -2.126185
H  -0.923621   1.232253  -2.126185
H   0.923621   1.232253  -2.126185
--
C   0.000000   0.000000   2.900503
C   0.000000   0.000000   1.693240
H   0.000000   0.000000   0.627352
H   0.000000   0.000000   3.963929
}

eneyne.update_geometry()
E, G = eneyne.run_dftd3('b3lyp', 'd2gr')
mA = eneyne.extract_subsets(1)
E, G = mA.run_dftd3('b3lyp', 'd2gr')
mB = eneyne.extract_subsets(2)
E, G = mB.run_dftd3('b3lyp', 'd2gr')

E, G = eneyne.run_dftd3('b3lyp', 'd3zero')
mA = eneyne.extract_subsets(1)
E, G = mA.run_dftd3('b3lyp', 'd3zero')
mB = eneyne.extract_subsets(2)
E, G = mB.run_dftd3('b3lyp', 'd3zero')

E, G = eneyne.run_dftd3('b3lyp', 'd3bj')
mA = eneyne.extract_subsets(1)
E, G = mA.run_dftd3('b3lyp', 'd3bj')
mB = eneyne.extract_subsets(2)
E, G = mB.run_dftd3('b3lyp', 'd3bj')

E, G = eneyne.run_dftd3('b3lyp', 'd3')
E, G = eneyne.run_dftd3('b3lyp', 'd')
E, G = eneyne.run_dftd3('b3lyp', 'd2')

set basis sto-3g
set scf_type df
set dft_radial_points 50  # use really bad grid for speed since all we want is the -D value
set dft_spherical_points 110
#set scf print 3  # will print dftd3 program output to psi4 output file


activate(mA)
energy('b3lyp-d2p4')
energy('b3lyp-d2gr')
energy('b3lyp-d3zero')
energy('b3lyp-d3bj')

energy('b3lyp-d2')
energy('b3lyp-d3')
energy('b3lyp-d')
energy('wb97x-d')

activate(mB)
set dft_dispersion_parameters [0.75]
energy('b3lyp-d2p4')
set dft_dispersion_parameters [0.75, 20.0]
energy('b3lyp-d2gr')
set dft_dispersion_parameters [1.0,  0.722, 1.217, 14.0]
energy('b3lyp-d3zero')
set dft_dispersion_parameters [1.000, 0.7875, 0.4289, 4.4407]
energy('b3lyp-d3bj')

set dft_dispersion_parameters [0.75]
energy('b3lyp-d2')
set dft_dispersion_parameters [1.0,  0.722, 1.217, 14.0]
energy('b3lyp-d3')
set dft_dispersion_parameters [0.75]
energy('b3lyp-d')
activate(mA)
set dft_dispersion_parameters [1.0]
energy('wb97x-d')

eneyne.update_geometry()
eneyne.run_dftd3('b3lyp', 'd2gr', {'s6': 0.75})
mA = eneyne.extract_subsets(1)
mA.run_dftd3('b3lyp', 'd2gr', {'s6': 0.75})
mB = eneyne.extract_subsets(2)
mB.run_dftd3('b3lyp', 'd2gr', {'s6': 0.75})

eneyne.run_dftd3('b3lyp', 'd3zero', {'s6': 1.0,  's8': 0.722, 'sr6': 1.217, 'alpha6': 14.0})
mA = eneyne.extract_subsets(1)
mA.run_dftd3('b3lyp', 'd3zero', {'s6': 1.0,  's8': 0.722, 'sr6': 1.217, 'alpha6': 14.0})
mB = eneyne.extract_subsets(2)
mB.run_dftd3('b3lyp', 'd3zero', {'s6': 1.0,  's8': 0.722, 'sr6': 1.217, 'alpha6': 14.0})

eneyne.run_dftd3('b3lyp', 'd3bj', {'s6': 1.000, 's8':  0.7875, 'a1':  0.4289, 'a2': 4.4407})
mA = eneyne.extract_subsets(1)
mA.run_dftd3('b3lyp', 'd3bj', {'s6': 1.000, 's8':  0.7875, 'a1':  0.4289, 'a2': 4.4407})
mB = eneyne.extract_subsets(2)
mB.run_dftd3('b3lyp', 'd3bj', {'s6': 1.000, 's8':  0.7875, 'a1':  0.4289, 'a2': 4.4407})

eneyne.run_dftd3('b3lyp', 'd3', {'s6': 1.0,  's8': 0.722, 'sr6': 1.217, 'alpha6': 14.0})
eneyne.run_dftd3('b3lyp', 'd', {'s6': 0.75})
eneyne.run_dftd3('b3lyp', 'd2', {'s6': 0.75})

