pyiron_atomistics.interactive.quasi_newton.QuasiNewtonInteractive

pyiron_atomistics.interactive.quasi_newton.QuasiNewtonInteractive#

class pyiron_atomistics.interactive.quasi_newton.QuasiNewtonInteractive(structure, starting_h=10, diffusion_id=None, diffusion_direction=None, use_eigenvalues=True, symmetrize=True, max_displacement=0.1)[source]#

Bases: object

Interactive class of Quasi Newton. This class can be used without a pyiron job definition. After the initialization, the displacement is obtained by calling get_dx successively.

__init__(structure, starting_h=10, diffusion_id=None, diffusion_direction=None, use_eigenvalues=True, symmetrize=True, max_displacement=0.1)[source]#
Parameters:
  • structure (pyiron_atomistics.atomistics.structure.atoms.Atoms) – pyiron structure

  • starting_H (float/ndarray) – Starting Hessian value (diagonal value or total Hessian)

  • diffusion_id (int/None) – Atom id at saddle point. No need to define if the structure is close enough to the saddle point. This has to be defined together with diffusion_direction.

  • use_eigenvalues (bool) – Whether to use the eigenvalue softening or standard Tikhonov regularization to prevent unphysical displacement.

  • symmetrize (bool) – Whether to symmetrize forces following the box symmetries. DFT calculations might fail if set to False

  • max_displacement (float) – Maximum displacement allowed for an atom.

Methods

__init__(structure[, starting_h, ...])

param structure:

pyiron structure

get_dg(g)

get_dx(g[, threshold, mode, update_hessian])

update_hessian(g[, threshold, mode])

Attributes

eigenvalues

eigenvectors

hessian

inv_hessian