|
occ
|
Classes | |
| class | AngleCoordinate |
| struct | BernyOptimizer |
| Berny geometry optimizer implementing the Berny algorithm. More... | |
| class | BondCoordinate |
| struct | ConvergenceCriteria |
| struct | ConvergenceInfo |
| class | DihedralCoordinate |
| class | InternalCoordinates |
| struct | OptimizationState |
| struct | OptPoint |
| struct | SpeciesData |
Functions | |
| Mat3N | transform_step_to_cartesian (const Vec &internal_step, const InternalCoordinates &coords, const Mat3N &positions, const Mat &B_inv) |
| std::pair< Vec, Mat3N > | update_geometry (const Vec ¤t_q, const Vec &internal_step, const InternalCoordinates &coords, const Mat3N &positions, const Mat &B_inv) |
| std::pair< double, double > | fit_cubic (double y0, double y1, double g0, double g1) |
| Perform cubic polynomial fitting for linear search. | |
| std::pair< double, double > | fit_quartic (double y0, double y1, double g0, double g1) |
| Perform quartic polynomial fitting for linear search. | |
| std::pair< double, double > | linear_search (double E0, double E1, double g0, double g1) |
| Perform linear search between two points using polynomial interpolation. | |
| ConvergenceInfo | check_convergence (const Vec &gradient, const Vec &step, double energy_change, const ConvergenceCriteria &criteria) |
| ConvergenceInfo | check_convergence (const Vec &gradient, const Vec &step, const ConvergenceCriteria &criteria) |
| Mat | pseudoinverse (Eigen::Ref< const Mat > A) |
| float | get_covalent_radius (int atomic_number) |
| float | get_vdw_radius (int atomic_number) |
Variables | |
| constexpr size_t | SPECIES_COUNT = sizeof(SPECIES_DATA) / sizeof(SpeciesData) |
|
inline |
|
inline |
| std::pair< double, double > occ::opt::fit_cubic | ( | double | y0, |
| double | y1, | ||
| double | g0, | ||
| double | g1 | ||
| ) |
Perform cubic polynomial fitting for linear search.
Fits a cubic polynomial through two points with known function values and derivatives, then finds the minimum of the polynomial.
| y0 | Function value at x=0 |
| y1 | Function value at x=1 |
| g0 | Derivative at x=0 |
| g1 | Derivative at x=1 |
| std::pair< double, double > occ::opt::fit_quartic | ( | double | y0, |
| double | y1, | ||
| double | g0, | ||
| double | g1 | ||
| ) |
Perform quartic polynomial fitting for linear search.
Fits a quartic polynomial through two points with known function values and derivatives, then finds the minimum of the polynomial.
| y0 | Function value at x=0 |
| y1 | Function value at x=1 |
| g0 | Derivative at x=0 |
| g1 | Derivative at x=1 |
|
inline |
|
inline |
| std::pair< double, double > occ::opt::linear_search | ( | double | E0, |
| double | E1, | ||
| double | g0, | ||
| double | g1 | ||
| ) |
Perform linear search between two points using polynomial interpolation.
This implements a linear search algorithm, which attempts quartic interpolation first, falls back to cubic if quartic fails, and finally uses simple selection if both polynomial fits fail.
| E0 | Energy at current point |
| E1 | Energy at best point |
| g0 | Directional derivative at current point |
| g1 | Directional derivative at best point |
| Mat3N occ::opt::transform_step_to_cartesian | ( | const Vec & | internal_step, |
| const InternalCoordinates & | coords, | ||
| const Mat3N & | positions, | ||
| const Mat & | B_inv | ||
| ) |
| std::pair< Vec, Mat3N > occ::opt::update_geometry | ( | const Vec & | current_q, |
| const Vec & | internal_step, | ||
| const InternalCoordinates & | coords, | ||
| const Mat3N & | positions, | ||
| const Mat & | B_inv | ||
| ) |
|
constexpr |