Loading...
Searching...
No Matches
BiasedGradientSquaredDescent.h
Go to the documentation of this file.
1/*
2** This file is part of eOn.
3**
4** SPDX-License-Identifier: BSD-3-Clause
5**
6** Copyright (c) 2010--present, eOn Development Team
7** All rights reserved.
8**
9** Repo:
10** https://github.com/TheochemUI/eOn
11*/
12#pragma once
13#include "EonLogger.h"
14
15#include "Eigen.h"
16#include "Matter.h"
17#include "MinModeSaddleSearch.h"
18#include "SaddleSearchMethod.h"
19#include <vector>
20
21namespace eonc {
22
24public:
25 BiasedGradientSquaredDescent(std::shared_ptr<Matter> matterPassed,
26 double reactantEnergyPassed,
27 const Parameters &parametersPassed)
28 : SaddleSearchMethod(matterPassed->getPotential(), parametersPassed),
29 saddle{matterPassed} {
30 reactantEnergy = reactantEnergyPassed;
31 saddle = matterPassed;
32 eigenvector.resize(saddle->numberOfAtoms(), 3);
33 eigenvector.setZero();
34 }
36
37 int run();
38 double getEigenvalue();
40 std::string_view describeStatus(int status) const override {
42 }
43 int getStatus() const override { return status; }
44
45 double eigenvalue;
47
48 std::shared_ptr<Matter> saddle;
49
50 int status;
51
52private:
55};
56
57} // namespace eonc
58
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
BiasedGradientSquaredDescent(std::shared_ptr< Matter > matterPassed, double reactantEnergyPassed, const Parameters &parametersPassed)
std::string_view describeStatus(int status) const override
BiasedGradientSquaredDescent(std::shared_ptr< Matter > matterPassed, double reactantEnergyPassed, const Parameters &parametersPassed)
static constexpr std::string_view statusMessage(int status)
Human-readable message for a status code.
SaddleSearchMethod(std::shared_ptr< Potential > potPassed, const Parameters &paramsPassed)
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171