pele.takestep.group#

Module source

Created on Jun 7, 2012

@author: vr274

class pele.takestep.group.GroupSteps[source]

Source

class GroupSteps(TakestepInterface):

group several takestep objects

This class is a wrapper for takestep objects to group several takestep objects into one and perform all takesteps simultaneously.

Parameters:
steptakerslist of takestep objects

list of takestep objects to combine to a single one

class pele.takestep.group.BlockMoves[source]

Source

class BlockMoves(TakestepInterface):

block based step taking

This class is a wrapper for takestep objects to group several takestep objects into one and perform takestep moves block wise, changing the takestep mechanism after a given amount of steps.

Takestep objects can be added with addBlock

step1 = RandomDisplacement()
step2 = RandomRotation()

step = BlockMoves()
step.addBlock(100, step1)
step.addBlock(100, step2)
BlockMoves.addBlock()[source]

Source

def addBlock(self, nsteps, takestep):

add a takestep object

Parameters:
nsteps: integer

number of steps to perform this type of step

takestep: takestep object

takestep object to call for this block

class pele.takestep.group.Reseeding[source]

Source

class Reseeding(TakestepInterface):

Reseeding if energy did not improve

This class wraps 2 takestep objects, one for a regular takestep move, and a reseeding step which is executed if the energy of the basin hopping run did not improve after a given number of steps.

The energy is considered as improved if it is lower than the lowest energy found during the current cycle.

Parameters:
takesteptakestep object

takestep object to perform regular step taking

reseedtakestep object

takestep object to do reseeding, e.g. generate a new random configuration

maxnoimproveinteger

do 1 reseeding step if the energy did not improve after so many steps.