finesse.analysis.actions.locks.DragLocks

Overview

class finesse.analysis.actions.locks.DragLocks(*locks, parameters, stop_points, relative=False, method='proportional', scale_factor=1, num_steps=11, never_optimize_phase=None, exception_on_fail=True, max_recursions=5, max_iterations=1000, display_progress=False, show_progress_bar=False, name='drag locks')[source]

Bases: Action

An action that incrementally changes model parameter values, reaching lock at each step, until lock is reached at the desired final parameter values.

Parameters
*lockslist, optional

A list of locks to use in each RunLocks step. Acts like *locks parameter in RunLocks: if not provided, all locks in model are used.

parameterslist

A list of strings. Each element should correspond to a parameter in the model.

stop_pointslist

The final parameter values that locks move towards incrementally.

relativeboolean

If true, stop_points are relative to the initial parameter values.

max_recursionsint

The number of times that the step size is allowed to decreased by a factor of ten when locks fail.

methodstr, either “newton” or “proportional”

The method to use in each locking step.

scale_factorfloat

Factor by which to multiply all DOF changes. Should be set below 1 if it is desired to minimize overshooting.

num_stepsint

Number of steps to calculate, starting at the initial point and ending at the stop point.

never_optimize_phaseboolean

Deprecated: When true, never optimize readout phases. When false, phases will be optimized anytime the previous step required more than 10 iterations.

exception_on_failboolean

When true, raise exception if max_recursions is surpassed.

max_iterationsint

The maximum number of locking steps in each execution of RunLocks. If surpassed, step size is decreased.

display_progressboolean

When true, displays the status of the lock dragging.

namestr

Name of the action.