Loading...
Searching...
No Matches
NEBProjection.cpp
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#include "eon/NEBProjection.h"
14
15namespace eonc::neb {
16
20
25
32
34 bool omActive = params.neb_options.spring.om.enabled;
35 bool weightedActive = params.neb_options.spring.weighting.enabled;
36
37 if (params.neb_options.spring.use_elastic_band && !omActive &&
38 !weightedActive) {
39 return PlainEB{};
40 }
41 if (params.neb_options.spring.doubly_nudged && !omActive && !weightedActive) {
42 return DNEB_Projection{};
43 }
44 return NEB_Projection{};
45}
46
48 const AtomMatrix &tangent,
49 const AtomMatrix &fPerp) {
50 return eonc::neb::computeDNEB(forceSpring, tangent, fPerp);
51}
52
53} // namespace eonc::neb
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition Eigen.h:37
struct eonc::Parameters::neb_options_t neb_options
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.
AtomMatrix computeDNEB(const AtomMatrix &forceSpring, const AtomMatrix &tangent, const AtomMatrix &fPerp)
Compute the doubly-nudged elastic band perpendicular spring force.
struct eonc::Parameters::neb_options_t::spring_options_t::onsager_machlup_t om
struct eonc::Parameters::neb_options_t::spring_options_t::energy_weighting_t weighting
struct eonc::Parameters::neb_options_t::spring_options_t spring
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