eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
Lanczos.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
16
#include "
LowestEigenmode.h
"
17
#include "
Matter.h
"
18
#include "
Parameters.h
"
19
20
namespace
eonc
{
21
22
// Lanczos method to find the lowest curvature mode.
23
// Default Krylov space = all free atoms ([Lanczos] phva_atoms = All).
24
// Optional mobile list (or phva_atoms) is the PHVA active set: free/fixed is
25
// the optimizer mask and is not redefined.
26
class
Lanczos
:
public
LowestEigenmode
{
27
28
public
:
29
Lanczos
(std::shared_ptr<Matter> matter,
const
Parameters
&
params
,
30
std::shared_ptr<Potential>
pot
);
31
~Lanczos
() =
default
;
32
void
compute
(std::shared_ptr<Matter> matter,
AtomMatrix
initialDirection);
35
void
compute
(std::shared_ptr<Matter> matter,
AtomMatrix
initialDirection,
36
const
VectorXi &mobileAtoms);
37
double
getEigenvalue
();
38
AtomMatrix
getEigenvector
();
39
40
private
:
41
AtomMatrix
lowestEv
;
42
double
lowestEw
;
43
eonc::log::Scoped
log
;
44
};
45
46
}
// namespace eonc
47
48
using
eonc::Lanczos
;
Eigen.h
AtomMatrix
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition
Eigen.h:37
EonLogger.h
LowestEigenmode.h
Matter.h
Parameters.h
eonc::Lanczos
Definition
Lanczos.h:26
eonc::Lanczos::~Lanczos
~Lanczos()=default
eonc::Lanczos::compute
void compute(std::shared_ptr< Matter > matter, AtomMatrix initialDirection)
Definition
Lanczos.cpp:40
eonc::Lanczos::getEigenvalue
double getEigenvalue()
Definition
Lanczos.cpp:175
eonc::Lanczos::lowestEv
AtomMatrix lowestEv
Definition
Lanczos.h:41
eonc::Lanczos::Lanczos
Lanczos(std::shared_ptr< Matter > matter, const Parameters ¶ms, std::shared_ptr< Potential > pot)
Definition
Lanczos.cpp:32
eonc::Lanczos::lowestEw
double lowestEw
Definition
Lanczos.h:42
eonc::Lanczos::getEigenvector
AtomMatrix getEigenvector()
Definition
Lanczos.cpp:177
eonc::Lanczos::log
eonc::log::Scoped log
Definition
Lanczos.h:43
eonc::LowestEigenmode::params
const Parameters & params
Definition
LowestEigenmode.h:28
eonc::LowestEigenmode::pot
std::shared_ptr< Potential > pot
Definition
LowestEigenmode.h:27
eonc::LowestEigenmode::LowestEigenmode
LowestEigenmode(std::shared_ptr< Potential > potPassed, const Parameters ¶meters)
Definition
LowestEigenmode.h:42
eonc::Parameters
Definition
Parameters.h:28
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
Lanczos.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf