Scine::Readuct  6.0.0
This is the SCINE module ReaDuct.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ReaductDefault.h
Go to the documentation of this file.
1 
8 #ifndef READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_READUCTDEFAULT_H
9 #define READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_READUCTDEFAULT_H
10 
11 #include "CostCombiner.h"
12 #include "ElasticPath.h"
13 #include "Energy.h"
15 
16 // TODO: Improve documentation
17 
18 namespace Scine {
19 namespace Readuct {
20 
21 namespace ElementaryStepOptimization {
22 
23 namespace CostBasedOptimization {
24 
28 class SCINE_DLLEXPORT ReaductDefault : public ReactionPathCostCalculator {
29  public:
31 
32  void setTensionFactor(double factor);
33  double getTensionFactor() const;
34 
35  static constexpr double defaultTensionFactor = 1e-5;
36 
37  private:
38  std::unique_ptr<ReactionPathCostCalculator> cloneImpl() const override;
39  bool energiesRequiredImpl() const override;
40  void calculateCostImpl(const Utils::BSplines::BSpline& spline, const EnergiesAndGradientsAlongSpline& energyValues) override;
41  double getCostImpl() const override;
42  Eigen::MatrixXd getCostDerivativesImpl() const override;
43 
44  CostCombiner<Energy, ElasticPath> combinedCostCalculator_;
45 };
46 
47 } // namespace CostBasedOptimization
48 
49 } // namespace ElementaryStepOptimization
50 
51 } // namespace Readuct
52 } // namespace Scine
53 #endif // READUCT_ELEMENTARYSTEPOPTIMIZATION_COSTCALCULATORS_READUCTDEFAULT_H
Interface for the cost calculation of reaction paths.
Definition: ReactionPathCostCalculator.h:39