Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Dihedral.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_DIHEDRAL_H
9 #define MOLECULARMECHANICS_DIHEDRAL_H
10 
12 
13 namespace Scine {
14 namespace MolecularMechanics {
19 class Dihedral {
20  public:
22  Dihedral(double halfBarrierHeight, int periodicity, double phaseShift);
28  Dihedral();
34  bool hasParameters() const;
36  void setCosinePreFactor(double cosPreFactor);
37 
38  private:
39  double halfBarrierHeight_;
40  int periodicity_;
41  double phaseShift_;
42  bool parametersAreAvailable_;
43  double cosPreFactor_ = -1.0; // Correct for SFAM, but has to be set to +1.0 for GAFF.
44 };
45 
46 } // namespace MolecularMechanics
47 } // namespace Scine
48 
49 #endif // MOLECULARMECHANICS_DIHEDRAL_H
Class treating a dihedral interaction, based solely on the angle (in rad), i.e. in 1 dimension...
Definition: Dihedral.h:19
Dihedral()
Constructor without arguments sets all three parameters to zero and records that no parameters are av...
Definition: Dihedral.cpp:17
void setCosinePreFactor(double cosPreFactor)
Setter for the cosine pre-factor (typically: -1 for SFAM, +1 for GAFF)
Definition: Dihedral.cpp:29
Utils::AutomaticDifferentiation::Second1D getInteraction(double angle) const
Calculates the energy with its derivatives for a dihedral for a given angle.
Definition: Dihedral.cpp:20
bool hasParameters() const
Returns whether parameters are available for this bond.
Definition: Dihedral.cpp:25