eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
BondBoost.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 "
Matter.h
"
14
#include "
Parameters.h
"
15
16
#include <vector>
17
18
#include "
Eigen.h
"
19
#include "
EonLogger.h
"
20
21
namespace
eonc
{
22
25
class
BondBoost
{
26
27
public
:
32
BondBoost
(
Matter
*matt,
const
Parameters
¶ms);
33
~BondBoost
();
34
35
void
initialize
();
38
void
advance
();
41
double
boost
();
43
[[nodiscard]]
long
scheduleStep
()
const
{
return
nReg
; }
44
45
private
:
46
long
rmdSteps
()
const
;
47
Matrix<double, Eigen::Dynamic, 1>
Rmdsteps
();
48
long
BondSelect
();
49
double
Booststeps
();
50
long
nAtoms
{0};
51
Matter
*
matter
{
52
nullptr
};
53
const
Parameters
&
parameters
;
55
std::vector<long>
BAList
;
56
std::vector<long>
RAList
;
57
std::vector<long>
TABAList
;
58
std::vector<long>
BBAList
;
59
std::vector<double>
Epsr_Q
;
60
Matrix<double, Eigen::Dynamic, 1>
61
TABLList
;
// EquilibriumTaggedAtomInvolvedBondLengthList;
62
Matrix<double, Eigen::Dynamic, 1>
EBBLList
;
// EquilibriumBoostBondLengthList
63
Matrix<double, Eigen::Dynamic, 1>
CBBLList
;
// CurrentBoostBondLengthList
64
long
nBAs
{0};
65
long
nRAs
{0};
66
long
nTABs
{0};
67
long
nReg
{0};
68
long
nBBs
{0};
69
eonc::log::Scoped
log
;
70
};
71
72
class
Hyperdynamics
{
73
public
:
74
// static const string NONE;
75
// static const string BOND_BOOST;
76
static
const
char
NONE
[];
77
static
const
char
BOND_BOOST
[];
78
};
79
80
}
// namespace eonc
81
82
using
eonc::BondBoost
;
83
using
eonc::Hyperdynamics
;
Eigen.h
EonLogger.h
Matter.h
Parameters.h
BondBoost::BondBoost
BondBoost(Matter *matt, const Parameters ¶ms)
Constructor to be used when a structure is minimized.
Definition
BondBoost.cpp:25
eonc::BondBoost
Functionality relying on the conjugate gradients algorithm.
Definition
BondBoost.h:25
eonc::BondBoost::parameters
const Parameters & parameters
Reference to a structure outside the scope of the class containing runtime parameters.
Definition
BondBoost.h:53
eonc::BondBoost::BondSelect
long BondSelect()
Select bonds within cutoff distance for boosting.
Definition
BondBoost.cpp:240
eonc::BondBoost::nReg
long nReg
Definition
BondBoost.h:67
eonc::BondBoost::nBBs
long nBBs
Definition
BondBoost.h:68
eonc::BondBoost::matter
Matter * matter
Pointer to atom object outside the scope of the class.
Definition
BondBoost.h:51
eonc::BondBoost::nAtoms
long nAtoms
Number of free coordinates.
Definition
BondBoost.h:50
eonc::BondBoost::nBAs
long nBAs
Definition
BondBoost.h:64
eonc::BondBoost::nTABs
long nTABs
Definition
BondBoost.h:66
eonc::BondBoost::BondBoost
BondBoost(Matter *matt, const Parameters ¶ms)
Constructor to be used when a structure is minimized.
Definition
BondBoost.cpp:25
eonc::BondBoost::EBBLList
Matrix< double, Eigen::Dynamic, 1 > EBBLList
Definition
BondBoost.h:62
eonc::BondBoost::Booststeps
double Booststeps()
Compute bias potential and forces for bond-boost hyperdynamics.
Definition
BondBoost.cpp:130
eonc::BondBoost::boost
double boost()
Evaluate the current bias potential and write bias forces.
Definition
BondBoost.cpp:110
eonc::BondBoost::scheduleStep
long scheduleStep() const
Equilibration counter (starts at 1). Used to test the per-step schedule.
Definition
BondBoost.h:43
eonc::BondBoost::initialize
void initialize()
Definition
BondBoost.cpp:33
eonc::BondBoost::advance
void advance()
Advance the equilibration / boost schedule by one MD step.
Definition
BondBoost.cpp:92
eonc::BondBoost::log
eonc::log::Scoped log
Definition
BondBoost.h:69
eonc::BondBoost::Rmdsteps
Matrix< double, Eigen::Dynamic, 1 > Rmdsteps()
Measure all tagged-atom bond lengths for the equilibration phase.
Definition
BondBoost.cpp:209
eonc::BondBoost::BBAList
std::vector< long > BBAList
Definition
BondBoost.h:58
eonc::BondBoost::TABLList
Matrix< double, Eigen::Dynamic, 1 > TABLList
Definition
BondBoost.h:61
eonc::BondBoost::Epsr_Q
std::vector< double > Epsr_Q
Definition
BondBoost.h:59
eonc::BondBoost::nRAs
long nRAs
Definition
BondBoost.h:65
eonc::BondBoost::TABAList
std::vector< long > TABAList
Definition
BondBoost.h:57
eonc::BondBoost::rmdSteps
long rmdSteps() const
Definition
BondBoost.cpp:87
eonc::BondBoost::BAList
std::vector< long > BAList
Definition
BondBoost.h:55
eonc::BondBoost::CBBLList
Matrix< double, Eigen::Dynamic, 1 > CBBLList
Definition
BondBoost.h:63
eonc::BondBoost::~BondBoost
~BondBoost()
Destructor.
eonc::BondBoost::RAList
std::vector< long > RAList
Definition
BondBoost.h:56
eonc::Hyperdynamics
Definition
BondBoost.h:72
eonc::Hyperdynamics::NONE
static const char NONE[]
Definition
BondBoost.h:76
eonc::Hyperdynamics::BOND_BOOST
static const char BOND_BOOST[]
Definition
BondBoost.h:77
eonc::Matter
Definition
Matter.h:92
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
BondBoost.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf