class PerturbDihedral : public feasst::PerturbDistanceAngle
Similar to PerturbDistanceAngle, except that the truncated conical shell has the additional constraint from the dihedral angle formed from the mobile site and its three anchors. Currently implemented for harmonic bonds (exponent: 2), but could add an optional exponent model parameter to generalize this.
void precompute(TrialSelect *select, System *system)
Same as PerturbDistance. If 2D, angles are positive when clockwise. Thus, when 2D and reverse (e.g., kji instead of ijk), angle = 2pi - angle.
double dihedral_type() const
Return the dihedral angle type.
double old_dihedral_energy(const System &system, const TrialSelect *select)
Return the current energy of the existing, old dihedral.
double random_dihedral_radians(const System &system, const TrialSelect *select, Random *random, double *bond_energy)
Return the randomly selected angle from the potential. If the spring constant is -1 (rigid), simply return the angle.
- void precompute(TrialSelect *select, System *system)