eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
DynamicsSaddleSearch.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 "
Eigen.h
"
14
#include "
EonLogger.h
"
15
#include "
Matter.h
"
16
#include "
MinModeSaddleSearch.h
"
17
#include "
SaddleSearchMethod.h
"
18
#include <vector>
19
20
namespace
eonc
{
21
22
class
DynamicsSaddleSearch
:
public
SaddleSearchMethod
{
23
public
:
24
DynamicsSaddleSearch
(std::shared_ptr<Matter> matterPassed,
25
const
Parameters
¶metersPassed)
26
:
SaddleSearchMethod
(nullptr, parametersPassed),
27
product
{std::make_shared<
Matter
>(*matterPassed)},
28
reactant
{std::make_shared<
Matter
>(*matterPassed)},
29
saddle
{matterPassed} {
30
this->
pot
= matterPassed->getPotential();
31
eigenvector
.resize(
reactant
->numberOfAtoms(), 3);
32
eigenvector
.setZero();
33
};
34
~DynamicsSaddleSearch
() =
default
;
35
36
int
run
();
37
double
getEigenvalue
();
38
AtomMatrix
getEigenvector
();
39
std::string_view
describeStatus
(
int
status
)
const override
{
40
return
MinModeSaddleSearch::statusMessage
(
status
);
41
}
42
int
getStatus
()
const override
{
return
status
; }
43
44
int
refineTransition
(
const
std::vector<std::shared_ptr<Matter>> &snapshots,
45
std::shared_ptr<Matter>
product
);
46
47
double
eigenvalue
{0.0};
48
AtomMatrix
eigenvector
;
49
50
double
time
{0.0};
51
52
std::shared_ptr<Matter>
product
;
53
std::shared_ptr<Matter>
reactant
;
54
std::shared_ptr<Matter>
saddle
;
55
56
int
status
{0};
57
58
private
:
59
eonc::log::Scoped
log
;
60
};
61
62
}
// namespace eonc
63
64
using
eonc::DynamicsSaddleSearch
;
Eigen.h
AtomMatrix
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition
Eigen.h:37
EonLogger.h
Matter.h
MinModeSaddleSearch.h
SaddleSearchMethod.h
DynamicsSaddleSearch::DynamicsSaddleSearch
DynamicsSaddleSearch(std::shared_ptr< Matter > matterPassed, const Parameters ¶metersPassed)
Definition
DynamicsSaddleSearch.h:24
eonc::DynamicsSaddleSearch
Definition
DynamicsSaddleSearch.h:22
eonc::DynamicsSaddleSearch::refineTransition
int refineTransition(const std::vector< std::shared_ptr< Matter > > &snapshots, std::shared_ptr< Matter > product)
Binary search through MD snapshots to find the transition point.
Definition
DynamicsSaddleSearch.cpp:306
eonc::DynamicsSaddleSearch::getEigenvalue
double getEigenvalue()
Definition
DynamicsSaddleSearch.cpp:337
eonc::DynamicsSaddleSearch::eigenvector
AtomMatrix eigenvector
Definition
DynamicsSaddleSearch.h:48
eonc::DynamicsSaddleSearch::log
eonc::log::Scoped log
Definition
DynamicsSaddleSearch.h:59
eonc::DynamicsSaddleSearch::DynamicsSaddleSearch
DynamicsSaddleSearch(std::shared_ptr< Matter > matterPassed, const Parameters ¶metersPassed)
Definition
DynamicsSaddleSearch.h:24
eonc::DynamicsSaddleSearch::~DynamicsSaddleSearch
~DynamicsSaddleSearch()=default
eonc::DynamicsSaddleSearch::time
double time
Definition
DynamicsSaddleSearch.h:50
eonc::DynamicsSaddleSearch::saddle
std::shared_ptr< Matter > saddle
Definition
DynamicsSaddleSearch.h:54
eonc::DynamicsSaddleSearch::eigenvalue
double eigenvalue
Definition
DynamicsSaddleSearch.h:47
eonc::DynamicsSaddleSearch::reactant
std::shared_ptr< Matter > reactant
Definition
DynamicsSaddleSearch.h:53
eonc::DynamicsSaddleSearch::getEigenvector
AtomMatrix getEigenvector()
Definition
DynamicsSaddleSearch.cpp:339
eonc::DynamicsSaddleSearch::getStatus
int getStatus() const override
Definition
DynamicsSaddleSearch.h:42
eonc::DynamicsSaddleSearch::status
int status
Definition
DynamicsSaddleSearch.h:56
eonc::DynamicsSaddleSearch::describeStatus
std::string_view describeStatus(int status) const override
Definition
DynamicsSaddleSearch.h:39
eonc::DynamicsSaddleSearch::run
int run()
Definition
DynamicsSaddleSearch.cpp:23
eonc::DynamicsSaddleSearch::product
std::shared_ptr< Matter > product
Definition
DynamicsSaddleSearch.h:52
eonc::Matter
Definition
Matter.h:92
eonc::MinModeSaddleSearch::statusMessage
static constexpr std::string_view statusMessage(int status)
Human-readable message for a status code.
Definition
MinModeSaddleSearch.h:56
eonc::Parameters
Definition
Parameters.h:28
eonc::SaddleSearchMethod::pot
std::shared_ptr< Potential > pot
Definition
SaddleSearchMethod.h:23
eonc::SaddleSearchMethod::SaddleSearchMethod
SaddleSearchMethod(std::shared_ptr< Potential > potPassed, const Parameters ¶msPassed)
Definition
SaddleSearchMethod.h:27
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
eonc::log::Scoped
RAII helper for class-scoped logging.
Definition
EonLogger.h:171
include
eon
DynamicsSaddleSearch.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf