eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
LowestEigenmode.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 "
Eigen.h
"
15
#include "
Matter.h
"
16
#include "
Parameters.h
"
17
18
namespace
eonc
{
19
23
class
LowestEigenmode
{
24
protected
:
25
std::shared_ptr<Potential>
pot
;
26
const
Parameters
&
params
;
27
28
public
:
29
long
totalForceCalls
{0};
30
double
statsTorque
{0.0};
31
double
statsCurvature
{0.0};
32
double
statsAngle
{0.0};
33
long
statsRotations
{0};
34
long
totalIterations
{0};
35
static
const
char
MINMODE_DIMER
[];
36
static
const
char
MINMODE_GPRDIMER
[];
37
static
const
char
MINMODE_LANCZOS
[];
38
static
const
char
MINMODE_DAVIDSON
[];
39
40
LowestEigenmode
(std::shared_ptr<Potential> potPassed,
41
const
Parameters
¶meters)
42
:
pot
{potPassed},
params
{parameters} {}
43
virtual
~LowestEigenmode
() =
default
;
44
45
virtual
void
compute
(std::shared_ptr<Matter> matter,
46
AtomMatrix
initialDirection) = 0;
47
virtual
double
getEigenvalue
() = 0;
48
virtual
AtomMatrix
getEigenvector
() = 0;
49
};
50
51
}
// namespace eonc
Eigen.h
AtomMatrix
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition
Eigen.h:37
Matter.h
Parameters.h
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::MINMODE_GPRDIMER
static const char MINMODE_GPRDIMER[]
Definition
LowestEigenmode.h:36
eonc::LowestEigenmode::params
const Parameters & params
Definition
LowestEigenmode.h:26
eonc::LowestEigenmode::pot
std::shared_ptr< Potential > pot
Definition
LowestEigenmode.h:25
eonc::LowestEigenmode::~LowestEigenmode
virtual ~LowestEigenmode()=default
eonc::LowestEigenmode::MINMODE_DIMER
static const char MINMODE_DIMER[]
Definition
LowestEigenmode.h:35
eonc::LowestEigenmode::MINMODE_LANCZOS
static const char MINMODE_LANCZOS[]
Definition
LowestEigenmode.h:37
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::MINMODE_DAVIDSON
static const char MINMODE_DAVIDSON[]
Definition
LowestEigenmode.h:38
eonc::LowestEigenmode::statsRotations
long statsRotations
Definition
LowestEigenmode.h:33
eonc::LowestEigenmode::totalIterations
long totalIterations
Definition
LowestEigenmode.h:34
eonc::LowestEigenmode::statsCurvature
double statsCurvature
Definition
LowestEigenmode.h:31
eonc::LowestEigenmode::getEigenvector
virtual AtomMatrix getEigenvector()=0
eonc::LowestEigenmode::LowestEigenmode
LowestEigenmode(std::shared_ptr< Potential > potPassed, const Parameters ¶meters)
Definition
LowestEigenmode.h:40
eonc::Parameters
Definition
Parameters.h:35
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:23
include
eon
LowestEigenmode.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf