Take Step¶
-
class
mcpele.monte_carlo.RandomCoordsDisplacement¶ Bases:
mcpele.monte_carlo._takestep_cpp._Cdef_RandomCoordsDisplacementTake a uniform random step in a
bdimdimensional hypercubethis class is the Python interface for the c++ RandomCoordsDisplacement implementation. Takes a step by sampling uniformly a
bdimdimensional boxParameters: rseed : pos int
seed for the random number generator (std:library 64 bits Merseene Twister)
stepsize : double
size of step in each dimension
report_interval : int
number of report steps for which the step size should be adapted
factor : double
factor by which the step size is adapted at each iteration durint the report interval
min_acc_ratio : double
minimum of target acceptance range
max_acc_ratio: double
maximum of target acceptance range
single : bool
True for single particle moves, False for global moves
nparticles : int
number of particles, typically len(coords)/bdim
bdim : int
dimensionality of the space (box dimensionality)
-
get_count()¶ get the total count of the number of steps taken
Returns: int
total count of steps taken
-
get_seed()¶ return random number generator seed
Returns: int
random number generator seed
-
get_stepsize()¶ get the step size
Returns: double
stepsize
-
set_generator_seed()¶ sets the random number generator seed
Parameters: input : pos int
random number generator seed
-
-
class
mcpele.monte_carlo.GaussianCoordsDisplacement¶ Bases:
mcpele.monte_carlo._takestep_cpp._Cdef_GaussianCoordsDisplacementTake a uniform random step in a
bdimdimensional hyperspherethis class is the Python interface for the c++ GaussianCoordsDisplacement implementation. Takes a step by sampling uniformly a
bdimdimensional hypersphereParameters: rseed : pos int
seed for the random number generator (std:library 64 bits Merseene Twister)
stepsize : double
size of step in each dimension
-
get_count()¶ get the total count of the number of steps taken
Returns: int
total count of steps taken
-
get_seed()¶ return random number generator seed
Returns: int
random number generator seed
-
get_stepsize()¶ get the step size
Returns: double
stepsize
-
set_generator_seed()¶ sets the random number generator seed
Parameters: input : pos int
random number generator seed
-
-
class
mcpele.monte_carlo.ParticlePairSwap¶ Bases:
mcpele.monte_carlo._takestep_cpp._Cdef_ParticlePairSwapSwap a pair of particles
Python interface for c++ ParticlePairSwap
Parameters: seed : pos integer
Seed for random number generator.
nr_particles : pos integer
Number of particles.
swap_every : pos integer
Spacing for swapping attempts: particle pair swap is attempted every
swap_everymove.-
get_seed()¶ return random number generator seed
Returns: int
random number generator seed
-
set_generator_seed()¶ sets the random number generator seed
Parameters: input : pos int
random number generator seed
-
-
class
mcpele.monte_carlo.TakeStepPattern¶ Bases:
mcpele.monte_carlo._takestep_cpp._Cdef_TakeStepPatternTakes multiple steps in a repeated pattern
Python interface for c++ TakeStepPattern. This move takes multiple steps in a repeated deterministic pattern.
Warning
breaks detailed balance locally
-
add_step()¶ add a step to a pattern
Parameters: step :
TakeStepobject of class
TakeStepconstructed beforehandnr_repetitions: int
number of Monte Carlo iterations in a row for which this move is performed
-
-
class
mcpele.monte_carlo.TakeStepProbabilities¶ Bases:
mcpele.monte_carlo._takestep_cpp._Cdef_TakeStepProbabilitiesTakes multiple steps in a repeated pattern
Python interface for c++ TakeStepProbabilities. This move takes multiple steps, each with some probability thus not affecting the detailed balance condition.
Note
it does NOT break detailed balance hence it is the recommended choice
-
add_step()¶ add a step to a pattern
all the weights are combined in a normalised discrete distribution
Parameters: step :
TakeStepobject of class
TakeStepconstructed beforehandweight: double or int
weight to assign to each move
-