pyiron_contrib.protocol.primitive.fts_vertices module

class pyiron_contrib.protocol.primitive.fts_vertices.CentroidsReparameterization(name=None)[source]

Bases: PrimitiveVertex

Use linear interpolation to equally space the jobs between the first and last job in 3N dimensional space,

using a piecewise function

Input attributes:

centroids_pos_list (list/numpy.ndarray): List of all the centroids along the string structure (Atoms): The reference structure.

Output attributes:

centroids_pos_list (list/numpy.ndarray): List of equally spaced centroids

command(structure, centroids_pos_list)[source]

The command method controls the physics

class pyiron_contrib.protocol.primitive.fts_vertices.CentroidsRunningAverageMix(name=None)[source]

Bases: PrimitiveVertex

Mix in the running average of the positions to the centroid, moving the centroid towards that

running average by a fraction.

Input attributes:

mixing_fraction (float): The fraction of the running average to mix into centroid (Default is 0.1) centroids_pos_list (list/numpy.ndarray): List of all the centroids along the string running_average_list (list/numpy.ndarray): List of running averages structure (Atoms): The reference structure. relax_endpoints (bool): Whether or not to relax the endpoints of the string. (Default is False.)

Output attributes:

centroids_pos_list (list/numpy.ndarray): List centroids updated towards the running average

command(structure, mixing_fraction, centroids_pos_list, running_average_positions, relax_endpoints)[source]

The command method controls the physics

class pyiron_contrib.protocol.primitive.fts_vertices.CentroidsSmoothing(name=None)[source]

Bases: PrimitiveVertex

Global / local smoothing following Vanden-Eijnden and Venturoli (2009). The actual smoothing strength is the

product of the nominal smoothing strength (kappa), the number of images, and the mixing fraction (dtau).

Input Attributes:

kappa (float): Nominal smoothing strength. dtau (float): Mixing fraction (from updating the string towards the moving average of the image positions). centroids_pos_list (list/numpy.ndarray): List of all the centroid positions along the string. structure (Atoms): The reference structure. smooth_style (string): Apply ‘global’ or ‘local’ smoothing. (Default is ‘global’.)

Output Attributes:

all_centroid_positions (list/numpy.ndarray): List of smoothed centroid positions.

command(structure, kappa, dtau, centroids_pos_list, smooth_style)[source]

The command method controls the physics

class pyiron_contrib.protocol.primitive.fts_vertices.PositionsRunningAverage(name=None)[source]

Bases: PrimitiveVertex

Calculates the running average of input positions at each call.

Input attributes:

positions (list/numpy.ndarray): The instantaneous position, which will be updated to the running average. running_average_positions (list/numpy.ndarray): The running average of positions. total_steps (int): The total number of times SphereReflectionPerAtom is called so far. (Default is 0.) thermalization_steps (int): Number of steps the system is thermalized for to reach equilibrium. (Default is

10 steps.)

divisor (int): The divisor for the running average positions. Increments by 1, each time the vertex is

called. (Default is 1.)

structure (Atoms): The reference structure.

Output attributes:

running_average_positions (list/numpy.ndarray): The updated running average list. divisor (int): The updated divisor.

command(structure, positions, running_average_positions, total_steps, thermalization_steps, divisor)[source]

The command method controls the physics

class pyiron_contrib.protocol.primitive.fts_vertices.StringRecenter(name=None)[source]

Bases: _StringDistances

If not, the image’s positions and forces are reset to match its centroid.

Input attributes:

positions (numpy.ndarray): Atomic positions of the image. forces (numpy.ndarray): Atomic forces on the image. centroid_positions (numpy.ndarray): The positions of the image’s centroid. centroid_forces (numpy.ndarray): The forces on the image’s centroid. all_centroid_positions (list/numpy.ndarray): A list of positions for all centroids in the string. structure (Atoms): The reference structure. eps (float): The maximum distance between the closest centroid and the parent centroid to be considered a match

(i.e. no recentering necessary). (Default is 1e-6.)

Output attributes:

positions (numpy.ndarray): Either the original positions passed in, or the centroid positions. forces (numpy.ndarray): Either the original forces passed in, or the centroid forces. recentered (bool): Whether or not the image got recentered.

command(structure, positions, forces, centroid_positions, centroid_forces, all_centroid_positions, eps)[source]

The command method controls the physics

class pyiron_contrib.protocol.primitive.fts_vertices.StringReflect(name=None)[source]

Bases: _StringDistances

If not, the image’s positions and forces are reset to match its centroid.

Input attributes:

positions (numpy.ndarray): Atomic positions of the image. velocities (numpy.ndarray): Atomic velocities of the image. previous_positions (numpy.ndarray): Atomic positions of the image from the previous timestep. previous_velocities (numpy.ndarray): Atomic velocities of the image from the previous timestep. centroid_positions (numpy.ndarray): The positions of the image’s centroid. all_centroid_positions (list/numpy.ndarray): A list of positions for all centroids in the string. structure (Atoms): The reference structure. eps (float): The maximum distance between the closest centroid and the parent centroid to be considered a match

(i.e. no recentering necessary). (Default is 1e-6.)

Output attributes:

positions (numpy.ndarray): Either the original positions passed in, or the previous ones. forces (numpy.ndarray): Either the original forces passed in, or the previous ones. reflected (bool): Whether or not the image got recentered.

command(structure, positions, velocities, previous_positions, previous_velocities, centroid_positions, all_centroid_positions, eps)[source]

The command method controls the physics