|
occ
|
Berny geometry optimizer implementing the Berny algorithm. More...
#include <berny_optimizer.h>
Public Member Functions | |
| BernyOptimizer (const core::Molecule &mol, const ConvergenceCriteria &criteria=ConvergenceCriteria{}) | |
| Construct a new Berny Optimizer. | |
| bool | step () |
| Perform one optimization step. | |
| core::Molecule | get_next_geometry () const |
| Get the next geometry to evaluate. | |
| void | update (double energy, const Mat3N &gradient) |
| Update optimizer with energy and gradient from calculation. | |
| bool | is_converged () const |
| Check if optimization has converged. | |
| double | current_energy () const |
| Get current energy. | |
| int | current_step () const |
| Get current optimization step number. | |
| double | current_trust_radius () const |
| Get current trust radius. | |
Berny geometry optimizer implementing the Berny algorithm.
This class provides a rational function optimization (RFO) method for molecular geometry optimization using internal coordinates, closely following the Berny reference implementation.
| occ::opt::BernyOptimizer::BernyOptimizer | ( | const core::Molecule & | mol, |
| const ConvergenceCriteria & | criteria = ConvergenceCriteria{} |
||
| ) |
Construct a new Berny Optimizer.
| mol | Initial molecular geometry |
| criteria | Convergence criteria (uses default values if not specified) |
|
inline |
Get current energy.
|
inline |
Get current optimization step number.
|
inline |
Get current trust radius.
| core::Molecule occ::opt::BernyOptimizer::get_next_geometry | ( | ) | const |
Get the next geometry to evaluate.
|
inline |
Check if optimization has converged.
| bool occ::opt::BernyOptimizer::step | ( | ) |
Perform one optimization step.
| void occ::opt::BernyOptimizer::update | ( | double | energy, |
| const Mat3N & | gradient | ||
| ) |
Update optimizer with energy and gradient from calculation.
| energy | Total energy at current geometry |
| gradient | Cartesian gradient matrix (3 x N_atoms) |