Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::MolecularMechanics::ImproperDihedralTerm Class Reference

Class evaluating improper dihedral interaction for four given atoms. More...

#include <ImproperDihedralTerm.h>

Inheritance diagram for Scine::MolecularMechanics::ImproperDihedralTerm:
Inheritance graph
Collaboration diagram for Scine::MolecularMechanics::ImproperDihedralTerm:
Collaboration graph

Public Types

using AtomIndex = int
 

Public Member Functions

 ImproperDihedralTerm (AtomIndex firstAtom, AtomIndex secondAtom, AtomIndex centralAtom, AtomIndex fourthAtom, const ImproperDihedral &improperDihedral, const ImproperDihedralType &typeOfImproperDihedral)
 Constructor from four atoms and instances of an ImproperDihedral and an ImproperDihedralType.
 
 ~ImproperDihedralTerm ()
 Destructor.
 
double evaluateImproperDihedralTerm (const Utils::PositionCollection &positions, Utils::AtomicSecondDerivativeCollection &derivatives) const
 Evaluates energy contribution and adds the derivatives.
 
ImproperDihedralType getTypeOfImproperDihedral () const
 Getter for the improper dihedral type.
 
int getFirstAtom () const
 Getter for first atom.
 
int getSecondAtom () const
 Getter for second atom.
 
int getCentralAtom () const
 Getter for central atom.
 
int getFourthAtom () const
 Getter for fourth atom.
 
- Public Member Functions inherited from Scine::MolecularMechanics::InteractionTermBase
void disable ()
 Disable this term. If it is disabled, the interaction is included in the MM model. Needed for the QM/MM calculator to switch specific interactions off and on.
 
void enable ()
 Enable this term. If it is enabled, the interaction is included in the MM model. Needed for the QM/MM calculator to switch specific interactions off and on.
 

Static Public Member Functions

static double getTheta (const Eigen::Vector3d &A, const Eigen::Vector3d &B, const Eigen::Vector3d &G)
 Calculates and returns the improper dihedral angle theta from the three essential vectors A, B and G.
 

Additional Inherited Members

- Protected Attributes inherited from Scine::MolecularMechanics::InteractionTermBase
bool disabled_ = false
 

Detailed Description

Class evaluating improper dihedral interaction for four given atoms.

This class is very similar to the DihedralTerm class. Here, instead of the third atom, we have the central atom. For future development: Combine classes in a smart way.


The documentation for this class was generated from the following files: