Loading...
Searching...
No Matches
SaddleSearchMethod.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
14#include "Parameters.h"
15#include "Potential.h"
16
17#include <string_view>
18
19namespace eonc {
20
22protected:
23 std::shared_ptr<Potential> pot;
25
26public:
27 SaddleSearchMethod(std::shared_ptr<Potential> potPassed,
28 const Parameters &paramsPassed)
29 : pot{potPassed},
30 params{paramsPassed} {};
31 virtual ~SaddleSearchMethod() {};
32 virtual int run() = 0;
33 virtual double getEigenvalue() = 0;
35 virtual std::string_view describeStatus(int status) const = 0;
36 virtual int getStatus() const { return 0; }
37 virtual int getIterationCount() const { return 0; }
38 virtual int getForceCalls() const { return 0; }
39};
40
41} // namespace eonc
42
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
virtual int getForceCalls() const
std::shared_ptr< Potential > pot
virtual AtomMatrix getEigenvector()=0
virtual double getEigenvalue()=0
virtual int getIterationCount() const
virtual int getStatus() const
virtual std::string_view describeStatus(int status) const =0
SaddleSearchMethod(std::shared_ptr< Potential > potPassed, const Parameters &paramsPassed)
RAII resource manager for the ARTn C library with global synchronization.