Class Scine::Utils::Dimer¶
-
class
Dimer
: public Scine::Utils::Optimizer¶ An implementation of the Dimer optimization algorithm for saddlepoints.
transition state search without hessian by finding minimum curvature by gradient calculations of a dimer on PES dimer is constructed by estimated eigenvector or random vector, then dimer is rotated iteratively until it is aligned with lowest curvature mode, then translation is performed this is repeated until converged
Implemented, as described in: Kaestner J. and Sherwood P., Journal of Chemical Physics, 2008 Shang C. and Liu ZP., Journal of Chemical Theory and Computation, 2010
Public Functions
-
Dimer
()¶ Default constructor.
-
template<class
UpdateFunction
>
intoptimize
(Eigen::VectorXd ¶meters, UpdateFunction &&function, GradientBasedCheck &check)¶ The main routine of the optimizer that carries out the actual optimization.
- Return
int Returns the number of optimization cycles carried out until the conclusion of the optimization function.
- Template Parameters
UpdateFunction
: A lambda function with a void return value, and the arguments:const Eigen::VectorXd& parameters
double& value
Eigen::VectorXd& gradients
- Parameters
parameters
: The parameters to be optimized.function
: The function to be evaluated in order to get values and gradients for a given set of parameters.check
: The ConvergenceCheck to be used in order to determine when the optimization is finished or should stop for other reasons.
-
virtual void
addSettingsDescriptors
(UniversalSettings::DescriptorCollection &collection) const¶ Adds all relevant options to the given UniversalSettings::DescriptorCollection thus expanding it to include the Dimers’s options.
- Parameters
collection
: The DescriptorCollection to which new fields shall be added.
-