/usr/bin/cclib-cda is in cclib 1.1-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #! /usr/bin/python
#
# This file is part of cclib (http://cclib.sf.net), a library for parsing
# and interpreting the results of computational chemistry packages.
#
# Copyright (C) 2007, the cclib development team
#
# The library is free software, distributed under the terms of
# the GNU Lesser General Public version 2.1 or later. You should have
# received a copy of the license along with cclib. You can also access
# the full license online at http://www.gnu.org/copyleft/lgpl.html.
import os
import sys
import glob
import getopt
import logging
import numpy
from cclib.parser import ccopen
from cclib.method import CDA
if __name__ == "__main__":
parser1 = ccopen(sys.argv[1], None, logging.ERROR)
parser2 = ccopen(sys.argv[2], None, logging.ERROR)
parser3 = ccopen(sys.argv[3], None, logging.ERROR)
data1 = parser1.parse(); data2 = parser2.parse(); data3 = parser3.parse()
fa = CDA(data1, None, logging.ERROR)
retval = fa.calculate([data2, data3])
if retval:
print "Charge decomposition analysis of %s\n"%(sys.argv[1])
if len(data1.homos) == 2:
print "ALPHA SPIN:"
print "==========="
print " MO# d b r s"
print "-------------------------------------"
for spin in range(len(data1.homos)):
if spin == 1:
print "\nBETA SPIN:"
print "=========="
for i in range(len(fa.donations[spin])):
print "%4i: %7.3f %7.3f %7.3f %7.3f"%(i+1,fa.donations[spin][i], \
fa.bdonations[spin][i], \
fa.repulsions[spin][i], \
fa.residuals[spin][i])
if i == data1.homos[spin]:
print "------ HOMO - LUMO gap ------"
print "-------------------------------------"
print " T: %7.3f %7.3f %7.3f %7.3f"%(reduce(numpy.add, fa.donations[spin]), \
reduce(numpy.add, fa.bdonations[spin]), \
reduce(numpy.add, fa.repulsions[spin]), \
reduce(numpy.add, fa.residuals[spin]))
|