ObjCryst++
1.5CVS
|
Abstract base Stretch Mode for Molecule objects. More...
Public Member Functions | |
virtual void | CalcDeriv (const bool derivllk=true) const =0 |
Calculate the derivative of the Molecule's Log(likelihood) and atomic positions versus a change of the bond length. | |
virtual void | Print (ostream &os, bool full=true) const =0 |
Print one-line list of atoms moved. | |
virtual void | Stretch (const REAL change)=0 |
Move the atoms according to this mode. | |
virtual void | RandomStretch (const REAL amplitude)=0 |
Move the atoms according to this mode, randomly. |
Public Attributes | |
std::map< const MolBond *, REAL > | mvpBrokenBond |
List of bond restraints affected by this mode The key is the restraint, the value is the derivative of the LLK associated. | |
std::map< const MolBondAngle *, REAL > | mvpBrokenBondAngle |
List of bond angle restraints modified by this mode The key is the restraint, the value is the derivative of the LLK associated. | |
std::map< const MolDihedralAngle *, REAL > | mvpBrokenDihedralAngle |
List of dihedral angle restraints modified by this mode The key is the restraint, the value is the derivative of the LLK associated. | |
REAL | mLLKDeriv |
Derivative of the Molecule's Log(likelihood) versus a change of the bond length. | |
std::map< const MolAtom *, XYZ > | mDerivXYZ |
Derivative of the atomic positions versus a change of the bond length. | |
Molecule * | mpMol |
The Molecule corresponding to this stretch mode. | |
REAL | mBaseAmplitude |
The recommended change amplitude, for a base global optimization displacement, to obtain an average 0.1 Angstroem displacement. |
Abstract base Stretch Mode for Molecule objects.
|
pure virtual |
Calculate the derivative of the Molecule's Log(likelihood) and atomic positions versus a change of the bond length.
The result is stored in mLLKDeriv and mLLKDerivXYZ, as well as in the various lists of restraints broken by this mode.
derivllk,: | if false, the derivative of the overall llk will not be computed, only the derivative of the atomic positions. |
Implemented in ObjCryst::StretchModeTwist, ObjCryst::StretchModeTorsion, ObjCryst::StretchModeBondAngle, and ObjCryst::StretchModeBondLength.
REAL ObjCryst::StretchMode::mBaseAmplitude |
The recommended change amplitude, for a base global optimization displacement, to obtain an average 0.1 Angstroem displacement.
This is learnt at the beginning of an optimization.
This can be superseeded to respect any restraint.