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:
objectInteractive 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
eigenvalueseigenvectorshessianinv_hessian