Scine::Swoose  1.0.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
LennardJonesEvaluator.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_LENNARDJONESEVALUATOR_H
9 #define MOLECULARMECHANICS_LENNARDJONESEVALUATOR_H
10 
11 #include "LennardJonesTerm.h"
12 #include <Utils/Typenames.h>
13 #include <vector>
14 
15 namespace Scine {
16 
17 namespace Qmmm {
18 class InteractionTermEliminator;
19 } // namespace Qmmm
20 
21 namespace Utils {
22 class FullSecondDerivativeCollection;
23 } // namespace Utils
24 
25 namespace MolecularMechanics {
31  public:
35  explicit LennardJonesEvaluator(const Utils::PositionCollection& positions);
43  void setLennardJonesTerms(std::vector<LennardJonesTerm>&& ljTerms);
44 
45  private:
46  // friend class declaration
48  const Utils::PositionCollection& positions_;
49  std::vector<LennardJonesTerm> ljTerms_;
50 };
51 
52 } // namespace MolecularMechanics
53 } // namespace Scine
54 
55 #endif // MOLECULARMECHANICS_LENNARDJONESEVALUATOR_H
LennardJonesEvaluator LennardJonesEvaluator.h.
Definition: LennardJonesEvaluator.h:30
LennardJonesEvaluator(const Utils::PositionCollection &positions)
Constructor from positions.
Definition: LennardJonesEvaluator.cpp:13
This class handles the elimination of MM interaction terms, which are already covered by the QM calcu...
Definition: InteractionTermEliminator.h:38
void setLennardJonesTerms(std::vector< LennardJonesTerm > &&ljTerms)
Sets a vector of instances of the LennardJonesTerm class.
Definition: LennardJonesEvaluator.cpp:26
double evaluate(Utils::FullSecondDerivativeCollection &derivatives)
This function evaluates and returns the energy for all LJ interactions and updates the derivatives...
Definition: LennardJonesEvaluator.cpp:16