Scine::Readuct  6.0.0
This is the SCINE module ReaDuct.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ElasticPath.h
Go to the documentation of this file.
1 
8 #ifndef READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_ELASTICPATH_H
9 #define READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_ELASTICPATH_H
10 
12 
13 // TODO: Improve documentation
14 
15 namespace Scine {
16 namespace Readuct {
17 
18 namespace ElementaryStepOptimization {
19 
20 namespace CostBasedOptimization {
21 
26 class SCINE_DLLEXPORT ElasticPath : public IntegratingCostCalculator {
27  std::unique_ptr<ReactionPathCostCalculator> cloneImpl() const override;
28  bool energiesRequiredImpl() const override;
29  Utils::AutomaticDifferentiation::FirstND calculateCostContribution(const Utils::BSplines::BSpline& spline, double u,
30  double energy,
31  const Utils::GradientCollection& gradients) const override;
32  Utils::AutomaticDifferentiation::FirstND elasticContribution(const Utils::BSplines::BSpline& spline, double u) const;
33 };
34 
35 } // namespace CostBasedOptimization
36 
37 } // namespace ElementaryStepOptimization
38 
39 } // namespace Readuct
40 } // namespace Scine
41 #endif // READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_ELASTICPATH_H