eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
EigenmodeStrategy.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 "
ImprovedDimer.h
"
15
#include "
LowestEigenmode.h
"
16
#include <memory>
17
18
namespace
eonc
{
19
20
class
Matter
;
21
class
Parameters
;
22
class
Potential
;
23
25
using
EigenmodeStrategy
=
LowestEigenmode
;
26
27
std::shared_ptr<LowestEigenmode>
28
buildEigenmodeStrategy
(std::shared_ptr<Matter> matter,
const
Parameters
¶ms,
29
std::shared_ptr<Potential>
pot
);
30
31
inline
void
eigenmodeCompute
(
LowestEigenmode
&s, std::shared_ptr<Matter> matter,
32
AtomMatrix
direction) {
33
s.
compute
(matter, direction);
34
}
35
36
inline
double
eigenmodeGetEigenvalue
(
LowestEigenmode
&s) {
37
return
s.
getEigenvalue
();
38
}
39
40
inline
AtomMatrix
eigenmodeGetEigenvector
(
LowestEigenmode
&s) {
41
return
s.
getEigenvector
();
42
}
43
44
inline
ImprovedDimer
*
asImprovedDimer
(
LowestEigenmode
&s) {
45
return
dynamic_cast<
ImprovedDimer
*
>
(&s);
46
}
47
48
inline
long
eigenmodeTotalForceCalls
(
LowestEigenmode
&s) {
49
return
s.
totalForceCalls
;
50
}
51
52
inline
double
eigenmodeStatsTorque
(
LowestEigenmode
&s) {
return
s.
statsTorque
; }
53
54
inline
double
eigenmodeStatsAngle
(
LowestEigenmode
&s) {
return
s.
statsAngle
; }
55
56
inline
long
eigenmodeStatsRotations
(
LowestEigenmode
&s) {
57
return
s.
statsRotations
;
58
}
59
60
inline
long
eigenmodeTotalIterations
(
LowestEigenmode
&s) {
61
return
s.
totalIterations
;
62
}
63
64
}
// namespace eonc
AtomMatrix
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition
Eigen.h:37
ImprovedDimer.h
LowestEigenmode.h
eonc::ImprovedDimer
Definition
ImprovedDimer.h:23
eonc::LowestEigenmode
Base for eigenmode solvers.
Definition
LowestEigenmode.h:23
eonc::LowestEigenmode::compute
virtual void compute(std::shared_ptr< Matter > matter, AtomMatrix initialDirection)=0
eonc::LowestEigenmode::statsAngle
double statsAngle
Definition
LowestEigenmode.h:32
eonc::LowestEigenmode::statsTorque
double statsTorque
Definition
LowestEigenmode.h:30
eonc::LowestEigenmode::getEigenvalue
virtual double getEigenvalue()=0
eonc::LowestEigenmode::totalForceCalls
long totalForceCalls
Definition
LowestEigenmode.h:29
eonc::LowestEigenmode::statsRotations
long statsRotations
Definition
LowestEigenmode.h:33
eonc::LowestEigenmode::totalIterations
long totalIterations
Definition
LowestEigenmode.h:34
eonc::LowestEigenmode::getEigenvector
virtual AtomMatrix getEigenvector()=0
eonc::Matter
Definition
Matter.h:90
eonc::Parameters
Definition
Parameters.h:35
eonc::Potential
Definition
Potential.h:42
eonc::pot
Definition
ExternalCommand.h:22
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:23
eonc::eigenmodeCompute
void eigenmodeCompute(LowestEigenmode &s, std::shared_ptr< Matter > matter, AtomMatrix direction)
Definition
EigenmodeStrategy.h:31
eonc::EigenmodeStrategy
LowestEigenmode EigenmodeStrategy
Type-erased eigenmode solver. Layout is the same with or without gprd.
Definition
EigenmodeStrategy.h:25
eonc::eigenmodeTotalForceCalls
long eigenmodeTotalForceCalls(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:48
eonc::buildEigenmodeStrategy
std::shared_ptr< LowestEigenmode > buildEigenmodeStrategy(std::shared_ptr< Matter > matter, const Parameters ¶ms, std::shared_ptr< Potential > pot)
Definition
EigenmodeStrategy.cpp:28
eonc::eigenmodeStatsRotations
long eigenmodeStatsRotations(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:56
eonc::asImprovedDimer
ImprovedDimer * asImprovedDimer(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:44
eonc::eigenmodeTotalIterations
long eigenmodeTotalIterations(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:60
eonc::eigenmodeGetEigenvalue
double eigenmodeGetEigenvalue(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:36
eonc::eigenmodeStatsTorque
double eigenmodeStatsTorque(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:52
eonc::eigenmodeGetEigenvector
AtomMatrix eigenmodeGetEigenvector(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:40
eonc::eigenmodeStatsAngle
double eigenmodeStatsAngle(LowestEigenmode &s)
Definition
EigenmodeStrategy.h:54
include
eon
EigenmodeStrategy.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf