Loading...
Searching...
No Matches
NEBProjection.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 "NEBSpringForce.h"
16#include "Parameters.h"
17#include <variant>
18
19namespace eonc::neb {
20
29
32struct PlainEB {
33 AtomMatrix project(const ImageForceData &d) const;
34};
35
39 AtomMatrix project(const ImageForceData &d) const;
40};
41
46 AtomMatrix project(const ImageForceData &d) const;
47};
48
50 std::variant<PlainEB, NEB_Projection, DNEB_Projection>;
51
56
60 const AtomMatrix &tangent,
61 const AtomMatrix &forcePerp);
62
63} // namespace eonc::neb
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
ProjectionStrategy buildProjectionStrategy(const Parameters &params)
Build the projection strategy from parameters.
std::variant< PlainEB, NEB_Projection, DNEB_Projection > ProjectionStrategy
AtomMatrix computeDNEBComponent(const AtomMatrix &forceSpring, const AtomMatrix &tangent, const AtomMatrix &fPerp)
Compute the DNEB force component for a given image.
AtomMatrix forcePerp(const AtomMatrix &force, const AtomMatrix &tangent)
Compute the perpendicular component of force relative to the tangent.
Trygubenko & Wales, JCP 120:2082, 2004.
AtomMatrix project(const ImageForceData &d) const
Data for a single image needed by projection strategies.
const AtomMatrix & tangent
const SpringResult & springResult
const AtomMatrix & force
Jonsson, Mills, Jacobsen 1998 (World Scientific).
AtomMatrix project(const ImageForceData &d) const
Mills, Jonsson, Schenter, Surf.
AtomMatrix project(const ImageForceData &d) const
Result of spring force computation for a single image.