def __init__(self, coords, potential, takeStep, storage=None, event_after_step=[], \ acceptTest=None, \ temperature=1.0, \ quench = None, \ confCheck = [], \ outstream = sys.stdout, insert_rejected = False ): ######################################################################### #initialize MonteCarlo base class ######################################################################### MonteCarlo.__init__(self, coords, potential, takeStep, \ storage=storage, \ event_after_step=event_after_step, \ acceptTest=acceptTest, \ temperature=temperature, \ confCheck = confCheck, \ outstream=outstream,store_initial=False) if quench is None: quench = lambda coords : mylbfgs(coords, self.potential) self.quench = quench ######################################################################### #do initial quench ######################################################################### self.markovE_old = self.markovE res = self.quench(self.coords) self.coords = res.coords self.markovE = res.energy self.rms = res.rms self.funcalls = res.nfev self.insert_rejected = insert_rejected if(self.storage): self.storage(self.markovE, self.coords) #print the initial quench self.acceptstep = True self.trial_energy = self.markovE self.printStep() self.result.energy = self.markovE self.result.coords = self.coords.copy()
def __init__(self, coords, potential, takeStep, storage=None, event_after_step=[], \ acceptTest=None, \ temperature=1.0, \ quench = None, \ confCheck = [], \ outstream = sys.stdout, insert_rejected = False ): ######################################################################### #initialize MonteCarlo base class ######################################################################### MonteCarlo.__init__(self, coords, potential, takeStep, \ storage=storage, \ event_after_step=event_after_step, \ acceptTest=acceptTest, \ temperature=temperature, \ confCheck = confCheck, \ outstream=outstream,store_initial=False) if quench is None: quench = lambda coords: mylbfgs(coords, self.potential) self.quench = quench ######################################################################### #do initial quench ######################################################################### self.markovE_old = self.markovE res = self.quench(self.coords) self.coords = res.coords self.markovE = res.energy self.rms = res.rms self.funcalls = res.nfev self.insert_rejected = insert_rejected if (self.storage): self.storage(self.markovE, self.coords) #print the initial quench self.acceptstep = True self.trial_energy = self.markovE self.printStep() self.result.energy = self.markovE self.result.coords = self.coords.copy()
def __init__(self, coords, potential, takeStep, storage=None, event_after_step=[], \ acceptTest=None, \ temperature=1.0, \ quenchRoutine = defaults.quenchRoutine, \ quenchParameters = defaults.quenchParams, \ confCheck = [], \ outstream = sys.stdout, insert_rejected = False ): ######################################################################### #initialize MonteCarlo base class ######################################################################### MonteCarlo.__init__(self, coords, potential, takeStep, \ storage=storage, \ event_after_step=event_after_step, \ acceptTest=acceptTest, \ temperature=temperature, \ confCheck = confCheck, \ outstream=outstream,store_initial=False) self.quenchRoutine = quenchRoutine self.quenchParameters = quenchParameters ######################################################################### #do initial quench ######################################################################### self.markovE_old = self.markovE res = \ self.quenchRoutine(self.coords, self.potential.getEnergyGradient, **self.quenchParameters) newcoords, Equench, self.rms, self.funcalls = res[:4] self.coords = newcoords self.markovE = Equench self.insert_rejected = insert_rejected if(self.storage): self.storage(self.markovE, self.coords) #print the initial quench self.acceptstep = True self.trial_energy = self.markovE self.printStep()