def __init__(self, molecule, **kwargs): from PyQuante.MINDO3 import initialize, get_nbf, get_reference_energy,\ get_F0, get_nel,get_open_closed,get_enuke,get_guess_D self.molecule = molecule logging.info("uMINDO3 calculation on system %s" % self.molecule.name) self.iterator = SCFIterator() self.charge = self.molecule.charge self.multiplicity = self.molecule.multiplicity # This is an ugly-ish hack to deal with the brain-dead # way that MINDO3.get_open_closed works if self.multiplicity == 1: self.multiplicity = None # Ultimately I should subclass Atom for MINDO3Atom self.molecule = initialize(self.molecule) self.nel = get_nel(self.molecule, self.charge) self.nclosed, self.nopen = get_open_closed(self.nel, self.multiplicity) logging.info("Nclosed/open = %d, %d" % (self.nclosed, self.nopen)) self.Enuke = get_enuke(self.molecule) self.energy = 0 self.method = "MINDO3" self.nbf = get_nbf(self.molecule) self.eref = get_reference_energy(self.molecule) self.F0 = get_F0(self.molecule) self.Fa = self.Fb = self.F0 self.nalpha = self.nclosed + self.nopen self.nbeta = self.nclosed self.Da = self.Db = 0.5 * get_guess_D(self.molecule) self.start = True return
def __init__(self,molecule,**opts): from PyQuante.MINDO3 import initialize, get_nbf, get_reference_energy,\ get_F0, get_nel,get_open_closed,get_enuke,get_guess_D self.molecule = molecule logging.info("uMINDO3 calculation on system %s" % self.molecule.name) self.iterator = SCFIterator() self.charge = self.molecule.charge self.multiplicity = self.molecule.multiplicity # This is an ugly-ish hack to deal with the brain-dead # way that MINDO3.get_open_closed works if self.multiplicity == 1: self.multiplicity=None # Ultimately I should subclass Atom for MINDO3Atom self.molecule = initialize(self.molecule) self.nel = get_nel(self.molecule,self.charge) self.nclosed,self.nopen = get_open_closed(self.nel,self.multiplicity) logging.info("Nclosed/open = %d, %d" % (self.nclosed,self.nopen)) self.Enuke = get_enuke(self.molecule) self.energy = 0 self.method = "MINDO3" self.nbf = get_nbf(self.molecule) self.eref = get_reference_energy(self.molecule) self.F0 = get_F0(self.molecule) self.Fa = self.Fb = self.F0 self.nalpha = self.nclosed+self.nopen self.nbeta = self.nclosed self.Da = self.Db = 0.5*get_guess_D(self.molecule) self.start = True return
def __init__(self, molecule, **opts): from PyQuante.MINDO3 import initialize, get_nbf, get_reference_energy,\ get_F0, get_nel,get_open_closed,get_enuke,get_guess_D self.molecule = molecule logger.info("MINDO3 calculation on system %s" % self.molecule.name) self.iterator = SCFIterator() self.charge = self.molecule.charge self.multiplicity = self.molecule.multiplicity # This is an ugly-ish hack to deal with the brain-dead # way that MINDO3.get_open_closed works if self.multiplicity == 1: self.multiplicity = None # Ultimately I should subclass Atom for MINDO3Atom self.molecule = initialize(self.molecule) self.nel = get_nel(self.molecule, self.charge) self.nclosed, self.nopen = get_open_closed(self.nel, self.multiplicity) self.Enuke = get_enuke(self.molecule) self.energy = 0 self.method = "MINDO3" self.nbf = get_nbf(self.molecule) self.eref = get_reference_energy(self.molecule) self.F0 = get_F0(self.molecule) self.F = self.F0 self.D = get_guess_D(self.molecule) logger.info("Nel = %d Nclosed = %d Nopen = %d Enuke = %f Nbf = %d" % (self.nel, self.nclosed, self.nopen, self.Enuke, self.nbf)) return