RelaxLanczos

RelaxLanczos(configuration, max_forces=None, max_steps=None, max_step_length=None, constraints=None, trajectory_filename=None, trajectory_object_id=None, initial_direction=None, lanczos_relative_error=None, lanczos_maximum_iterations=None, finite_difference=None, finite_difference_method=None, reference_energy=None, optimizer_method=None, trajectory_interval=None, restart_strategy=None, post_step_hook=None, enable_optimization_stop_file=None, reorthogonalize=None)

Function for optimizing the geometry of the given configuration to a first order saddle point.

Parameters:
  • configuration (MoleculeConfiguration | BulkConfiguration | DeviceConfiguration | SurfaceConfiguration) – The configuration to be optimized.

  • max_forces (PhysicalQuantity of type force) – The convergence criterion for the atomic forces.
    Default: 0.01*eV/Angstrom

  • max_steps (int) – The maximum number of optimization steps.
    Default: 200

  • max_step_length (PhysicalQuantity of type length) – The maximum step length the optimizer may take.
    Default: 0.2*Ang

  • constraints (list of integers and Constraints objects) – A list of indices of the atom with fixed positions and Constraints objects.
    Default: []

  • trajectory_filename (str | None) – The filename used to store the trajectory. If the value is None then no trajectory file will be written.
    Default: None

  • trajectory_object_id (str | None) – The object id to use when saving to HDF5. If the object-id already exists in the given file, it will be overwritten.
    Default: None

  • initial_direction (numpy array (num_atoms, 3)) – The initial guess for minimum mode.
    Default: random direction

  • lanczos_relative_error (float) – Stop the calculation when the relative change in the eigenvalue is less than this number.
    Default: 0.01

  • lanczos_maximum_iterations (int) – The maximum number of iterations in the Lanczos algorithm at each step.
    Default: 20

  • finite_difference (PhysicalQuantity of type distance) – The step size for the finite difference estimation of the second derivatives.
    Default: 0.01*Angstrom

  • finite_difference_method (Forward | Central) – The type of finite difference used to estimate the second derivatives.
    Default: Forward

  • reference_energy (PhysicalQuantity of type energy | None) – If specified, the energy displayed during the optimization is relative to the reference energy.
    Default: None

  • optimizer_method (OptimizerParameters) – The optimizer to use for optimizing the structure.
    Default: LBFGS

  • trajectory_interval (int | PhysicalQuantity of type time) – The resolution used in saving steps to a trajectory file. This can either be given as an integer (a value of 1 results in all steps being saved; a value of 2 results in every second step being saved; etc.) or as a time interval.
    Default: 1

  • restart_strategy (NoRestart | RestartFromTrajectory) – The restart mechanism based on trajectory data saved in a given file.
    Default: RestartFromTrajectory()

  • post_step_hook (A callable method, function or instance) – An optional user-defined function which will be called just after each optimization step. The signature of the function requires the arguments (step, configuration). The return status is ignored. Unhandled exceptions will terminate the optimization.
    Default: None

  • enable_optimization_stop_file (bool) – Determines whether to enable a file for stopping the geometry optimization. If True, creation of the stop file will stop the optimization at the next step. The name of the stop file will be shown in the log output; it will be stop-lanczos-relaxation-uniqueID, where uniqueID is a randomly generated identifier for this optimization. The file must be created in the current working directory.
    Default: True

Returns:

A tuple of the optimized saddle point configuration and the estimated lowest eigenvector at the saddle.

Return type:

MoleculeConfiguration | BulkConfiguration | DeviceConfiguration | SurfaceConfiguration, numpy.array