pele.takestep.BlockMoves#

class pele.takestep.BlockMoves[source]#

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)

Methods

__call__(*args, **kwargs)

Call self as a function.

addBlock(nsteps, takestep)

add a takestep object

scale(factor)

scale the stepsize

takeStep(coords, **kwargs)

take a step

updateStep(accepted, **kwargs)

feedback from basin hopping if last step was accepted

Attributes