Loading...
Searching...
No Matches
NEBTangent.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 "Parameters.h"
16#include <variant>
17
18namespace eonc::neb {
19
24 AtomMatrix compute(const AtomMatrix &posDiffNext,
25 const AtomMatrix &posDiffPrev, double energy,
26 double energyPrev, double energyNext) const;
27};
28
33 AtomMatrix compute(const AtomMatrix &posDiffNext,
34 const AtomMatrix &posDiffPrev, double energy,
35 double energyPrev, double energyNext) const;
36};
37
38using TangentStrategy = std::variant<SimpleTangent, ImprovedTangent>;
39
42
43} // namespace eonc::neb
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
TangentStrategy buildTangentStrategy(const Parameters &params)
Build the tangent strategy from parameters.
std::variant< SimpleTangent, ImprovedTangent > TangentStrategy
Definition NEBTangent.h:38
Henkelman & Jonsson, JCP 113:9978, 2000.
Definition NEBTangent.h:32
AtomMatrix compute(const AtomMatrix &posDiffNext, const AtomMatrix &posDiffPrev, double energy, double energyPrev, double energyNext) const
Mills, Jonsson, Schenter, Surf.
Definition NEBTangent.h:23
AtomMatrix compute(const AtomMatrix &posDiffNext, const AtomMatrix &posDiffPrev, double energy, double energyPrev, double energyNext) const