def read_dens(self): """ Read the (transition) density matrices and some supplementary information. """ rtype = self.ioptions.get('rtype') if self.ioptions['read_libwfa']: self.mos = None if rtype == 'ricc2': self.state_list = file_parser.file_parser_ricc2( self.ioptions).read(self.mos) elif rtype in ['tddft', 'escf', 'tmtddft']: self.state_list = file_parser.file_parser_escf(self.ioptions).read( self.mos) elif rtype == 'libwfa': self.state_list = file_parser.file_parser_libwfa( self.ioptions).read() elif rtype == 'qcadc': self.state_list = file_parser.file_parser_qcadc( self.ioptions).read() elif rtype == 'qctddft': self.state_list = file_parser.file_parser_qctddft( self.ioptions).read(self.mos) elif rtype in ['mcscf', 'colmcscf']: self.state_list = file_parser.file_parser_col_mcscf( self.ioptions).read(self.mos) elif rtype in ['mrci', 'colmrci']: self.state_list = file_parser.file_parser_col_mrci( self.ioptions).read(self.mos) elif rtype in ['rassi', 'molcas']: self.state_list = file_parser.file_parser_rassi( self.ioptions).read(self.mos) elif rtype.lower() == 'nos': self.state_list = file_parser.file_parser_nos(self.ioptions).read( self.mos) elif rtype.lower() in ['cclib', 'gamess', 'orca']: # these are parsed with the external cclib library ccli = cclib_interface.file_parser_cclib(self.ioptions) errcode = ccli.check() if errcode >= 2: raise error_handler.MsgError( "The file cannot be parsed by cclib") print self.mos = ccli.read_mos() self.read2_mos() self.state_list = ccli.read(self.mos) # Write a Molden file if possible if errcode == 0: self.mos.write_molden_file(fname='MOs.mld') self.ioptions['mo_file'] = 'MOs.mld' else: self.ioptions['molden_orbitals'] = False else: raise error_handler.ElseError(rtype, 'rtype') self.extra_info()
def read_dens(self): """ Read the (transition) density matrices and some supplementary information. """ rtype = self.ioptions.get('rtype') if self.ioptions['read_libwfa']: self.mos = None if rtype=='ricc2': self.state_list = file_parser.file_parser_ricc2(self.ioptions).read(self.mos) elif rtype in ['tddft', 'escf', 'tmtddft']: self.state_list = file_parser.file_parser_escf(self.ioptions).read(self.mos) elif rtype=='libwfa': self.state_list = file_parser.file_parser_libwfa(self.ioptions).read() elif rtype=='qcadc': self.state_list = file_parser.file_parser_qcadc(self.ioptions).read() elif rtype=='qctddft': self.state_list = file_parser.file_parser_qctddft(self.ioptions).read(self.mos) elif rtype in ['mcscf', 'colmcscf']: self.state_list = file_parser.file_parser_col_mcscf(self.ioptions).read(self.mos) elif rtype in ['mrci', 'colmrci']: self.state_list = file_parser.file_parser_col_mrci(self.ioptions).read(self.mos) elif rtype in ['rassi', 'molcas']: self.state_list = file_parser.file_parser_rassi(self.ioptions).read(self.mos) elif rtype.lower() == 'nos': self.state_list = file_parser.file_parser_nos(self.ioptions).read(self.mos) elif rtype.lower() in ['cclib', 'gamess', 'orca']: # these are parsed with the external cclib library ccli = cclib_interface.file_parser_cclib(self.ioptions) errcode = ccli.check() if errcode >= 2: raise error_handler.MsgError("The file cannot be parsed by cclib") print() self.mos = ccli.read_mos() self.read2_mos() self.state_list = ccli.read(self.mos) # Write a Molden file if possible if errcode == 0: self.mos.write_molden_file(fname='MOs.mld') self.ioptions['mo_file'] = 'MOs.mld' else: self.ioptions['molden_orbitals'] = False else: raise error_handler.ElseError(rtype, 'rtype') self.extra_info()
Check if a file can be read by cclib and if all the required information is available. """ import theo_header, cclib_interface, input_options, error_handler import sys theo_header.print_header('Check cclib') print("cc_check.py <logfile>") print("Check if a logfile can be parsed with cclib") try: logfile = sys.argv[1] except IndexError: raise error_handler.MsgError("Please enter the name of the logfile!") ioptions = input_options.dens_ana_options(ifile=None, check_init=False) ioptions['rtype'] = 'cclib' ioptions['rfile'] = logfile ccparser = cclib_interface.file_parser_cclib(ioptions) errcode = ccparser.check() if errcode <= 1: print("\n %s can be parsed by using rtype='cclib' in dens_ana.in."%logfile) if errcode == 0: print(" Conversion to Molden format also possible") else: print(" But conversion to Molden format is not possible") else: print("\n %s cannot be parsed by cclib (errcode=%i)!"%(logfile, errcode))
""" import theo_header, cclib_interface, input_options, error_handler import sys theo_header.print_header('Check cclib') print("cc_check.py <logfile>") print("Check if a logfile can be parsed with cclib") try: logfile = sys.argv[1] except IndexError: raise error_handler.MsgError("Please enter the name of the logfile!") ioptions = input_options.dens_ana_options(ifile=None, check_init=False) ioptions['rtype'] = 'cclib' ioptions['rfile'] = logfile ccparser = cclib_interface.file_parser_cclib(ioptions) errcode = ccparser.check() if errcode <= 1: print("\n %s can be parsed by using rtype='cclib' in dens_ana.in." % logfile) if errcode == 0: print(" Conversion to Molden format also possible") else: print(" But conversion to Molden format is not possible") else: print("\n %s cannot be parsed by cclib (errcode=%i)!" % (logfile, errcode))