NWChem/contrib/python/isodesmic.nw
2018-10-08 12:34:53 -07:00

51 lines
935 B
Text

start iso
mp2; freeze atomic; end
print none
python
from __future__ import print_function
energies = {}
c2h4 = '''
geometry noprint
symmetry d2h
C 0 0 0.672
H 0 0.935 1.238
end
'''
ch4 = '''
geometry noprint
symmetry td
C 0 0 0
H 0.634 0.634 0.634
end
'''
h2 = '''
geometry noprint
H 0 0 0.378
H 0 0 -0.378
end
'''
def energy(basis, geometry):
input_parse('''
basis spherical noprint
c library %s ; h library %s
end
''' % (basis, basis))
input_parse(geometry)
return task_energy('mp2')
for basis in ('sto-3g', '6-31g', '6-31g*', 'cc-pvdz', 'cc-pvtz'):
energies[basis] = 2*energy(basis, ch4) - \
2*energy(basis, h2) - \
energy(basis, c2h4)
if (ga_nodeid() == 0): print(basis, ' %8.6f' % energies[basis])
end
task python