示例#1
0
 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
示例#2
0
 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
示例#3
0
 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