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 <utility>
20#include <vector>
21
22namespace eonc {
23
25public:
26 BiasedGradientSquaredDescent(std::shared_ptr<Matter> matterPassed,
27 double reactantEnergyPassed,
28 const Parameters &parametersPassed)
29 : SaddleSearchMethod(matterPassed->getPotential(), parametersPassed),
30 saddle{std::move(matterPassed)}, reactantEnergy{reactantEnergyPassed} {
31 eigenvector.resize(saddle->numberOfAtoms(), 3);
32 eigenvector.setZero();
33 }
35
36 int run();
37 double getEigenvalue();
39 std::string_view describeStatus(int status) const override {
41 }
42 int getStatus() const override { return status; }
43
44 double eigenvalue{0.0};
46
47 std::shared_ptr<Matter> saddle;
48
49 int status{0};
50
51private:
54};
55
56} // namespace eonc
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
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