RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
ForceFields::CrystalFF::TorsionAngleContribM6 Class Reference

the torsion term for multiplicity m = 1 - 6 More...

#include <TorsionAngleM6.h>

Inheritance diagram for ForceFields::CrystalFF::TorsionAngleContribM6:
ForceFields::ForceFieldContrib

Public Member Functions

 TorsionAngleContribM6 ()
 
 TorsionAngleContribM6 (ForceFields::ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, std::vector< double > V, std::vector< int > signs)
 Constructor.
 
double getEnergy (double *pos) const override
 returns our contribution to the energy of a position
 
void getGrad (double *pos, double *grad) const override
 calculates our contribution to the gradients of a position
 
TorsionAngleContribM6copy () const override
 return a copy
 
- Public Member Functions inherited from ForceFields::ForceFieldContrib
 ForceFieldContrib ()
 
 ForceFieldContrib (ForceFields::ForceField *owner)
 
virtual ~ForceFieldContrib ()
 

Additional Inherited Members

- Protected Attributes inherited from ForceFields::ForceFieldContrib
ForceFielddp_forceField {nullptr}
 our owning ForceField
 

Detailed Description

the torsion term for multiplicity m = 1 - 6

Definition at line 31 of file TorsionAngleM6.h.

Constructor & Destructor Documentation

◆ TorsionAngleContribM6() [1/2]

ForceFields::CrystalFF::TorsionAngleContribM6::TorsionAngleContribM6 ( )
inline

Definition at line 34 of file TorsionAngleM6.h.

◆ TorsionAngleContribM6() [2/2]

ForceFields::CrystalFF::TorsionAngleContribM6::TorsionAngleContribM6 ( ForceFields::ForceField owner,
unsigned int  idx1,
unsigned int  idx2,
unsigned int  idx3,
unsigned int  idx4,
std::vector< double >  V,
std::vector< int >  signs 
)

Constructor.

The torsion is between atom1 - atom2 - atom3 - atom4 (i.e the angle between bond atom1-atom2 and bond atom3-atom4 while looking down bond atom2-atom3)

Parameters
ownerpointer to the owning ForceField
idx1index of atom1 in the ForceField's positions
idx2index of atom2 in the ForceField's positions
idx3index of atom3 in the ForceField's positions
idx4index of atom4 in the ForceField's positions
Vlist of 6 force constants
signslist of 6 signs (+1 or -1)

Member Function Documentation

◆ copy()

TorsionAngleContribM6 * ForceFields::CrystalFF::TorsionAngleContribM6::copy ( ) const
inlineoverridevirtual

return a copy

Implements ForceFields::ForceFieldContrib.

Definition at line 54 of file TorsionAngleM6.h.

◆ getEnergy()

double ForceFields::CrystalFF::TorsionAngleContribM6::getEnergy ( double *  pos) const
overridevirtual

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

◆ getGrad()

void ForceFields::CrystalFF::TorsionAngleContribM6::getGrad ( double *  pos,
double *  grad 
) const
overridevirtual

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.


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