def create_basinhopping(self, **kwargs): GMIN.initialize() opt = AppClusterBH.create_basinhopping(self, **kwargs) #self.database.compareMinima = compareMinima opt.insert_rejected = True addColdFusionCheck(opt) return opt
def createBasinHopping(self): GMIN.initialize() pot = gminpot.GMINPotential(GMIN) coords = pot.getCoords() step = TestStep() opt = bh.BasinHopping(coords, pot, takeStep=step, quenchRoutine=dmagmin.quenchCrystal, temperature=0.4, storage=self.storage) addColdFusionCheck(opt) return opt
print "initial energy ", pot.getEnergy(coords) step1 = MyStep() reseed = dmagmin.GenRandomCrystal(CoordsAdapter(nrigid=GMIN.getNRigidBody(), nlattice=6, coords=coords)) step = group.Reseeding(step1, reseed, maxnoimprove=maxnoimprove) #save = pickle.load(open("storage")) #save.nsave = 1000 save = savenlowest.SaveN(nsave=100, accuracy=1e-3) save.compareMinima = dmagmin.compareMinima opt = bh.BasinHopping(coords, pot, takeStep=step, quenchRoutine=dmagmin.quenchCrystal, temperature=temperature, storage=save, quenchParameters=quenchParameters) addColdFusionCheck(opt) # create cif directory if it does not exist import os, errno try: os.makedirs('cif') except OSError, e: if e.errno != errno.EEXIST: raise for i in xrange(1,nsteps/dump_frequency): opt.run(dump_frequency) #pickle.dump(save, open("storage."+str(i), "w")) pickle.dump(save, open("storage", "w")) i=0