def main(log=True): data1, logfile1 = getdatafile(Gaussian, "CDA", "BH3CO-sp.log") data2, logfile2 = getdatafile(Gaussian, "CDA", "BH3.log") data3, logfile3 = getdatafile(Gaussian, "CDA", "CO.log") fa = CDA(data1) if not log: fa.logger.setLevel(logging.ERROR) fa.calculate([data2, data3]) return fa
def main(): parser = ArgumentParser() parser.add_argument("file1", help="logfile containing the supermolecule") parser.add_argument("file2", help="logfile containing the first fragment") parser.add_argument("file3", help="logfile containing the second fragment") args = parser.parse_args() loglevel = logging.ERROR data1 = ccread(args.file1, loglevel=loglevel) data2 = ccread(args.file2, loglevel=loglevel) data3 = ccread(args.file3, loglevel=loglevel) fa = CDA(data1, None, loglevel) retval = fa.calculate([data2, data3]) if retval: print("Charge decomposition analysis of {}\n".format(args.file1)) 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("------ H**O - LUMO gap ------") print("-------------------------------------") print(" T: %7.3f %7.3f %7.3f %7.3f" % \ (fa.donations[spin].sum(), fa.bdonations[spin].sum(), fa.repulsions[spin].sum(), fa.residuals[spin].sum()))
def main(): parser1 = ccopen(sys.argv[1], logging.ERROR) parser2 = ccopen(sys.argv[2], logging.ERROR) parser3 = ccopen(sys.argv[3], 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("------ H**O - LUMO gap ------") print("-------------------------------------") print(" T: %7.3f %7.3f %7.3f %7.3f" % \ (fa.donations[spin].sum(), fa.bdonations[spin].sum(), fa.repulsions[spin].sum(), fa.residuals[spin].sum()))