Skip to content

optimizer

esta.transitionState.optimizer

Optimizer routines to update the atomic posiitons.

steepest_descent(pos, force, dstep)

Optimizer: Steepest Descent (SD) Args: pos(float): atomic positions in the current step force(float): force acting on each atoms in the current step dstep(float) : step size Returns: float: updated atomic positions

conjugate_gradient(pos, force, force_old, maxstep, img)

Optimizer: Conjugate Gradient (CG) It alternatively follows the direction of force and conjugate direction of force. Args: pos(float): atomic positions in the current step force(float): force acting on each atoms in the current step force_old(float): force acting on each atoms in the previous step maxstep(float) : allowed maximum step size img(int): image index Returns: float: updated atomic positions

quick_min(pos, posold, force, dstep, maxstep)

Optimizer: Quick-Min (QM) Args: pos(float): atomic positions in the current step posold(float): atomic positions in the previous step force(float): force acting on each atoms in the current step dstep(float): step size maxstep(float) : allowed maximum step size Returns: float: updated atomic positions

bfgs_line(pos, posold, force, forceold, dstep, maxstep, img)

Optimizer: Broyden-Fletcher-Goldfarb-Shanno (BFGS) Args: pos(float): atomic positions in the current step posold(float): atomic positions in the previous step force(float): force acting on each atoms in the current step forceold(float): force acting on each atoms in the previous step dstep(float): step size maxstep(float) : allowed maximum step size img(int): image index Returns: float: updated atomic positions