CCL Home Page
Up Directory CCL term.h
/*
 *  Energy/force terms
 */

enum TERMTYPE
{
  LENGTH, ANGLE, TORSION, VDW, ELECTROSTATIC, SPRING_DAMPER,
  INVALID
};

class term
{
 public:
  enum TERMTYPE type;
  struct atom *atoms[4];
  double coeffs[4];
  term () { type = INVALID; }
  double energy_function ();
  void add_forces ();
};

term *length_term (atom * a1, atom * a2);
term *angle_term (atom * a1, atom * a2, atom * a3);
term *torsion_term (atom * a1, atom * a2, atom * a3, atom * a4);
term *vdw_term (atom * a1, atom * a2);
term *electrostatic_term (atom * a1, atom * a2);
term *spring_damper_term (atom * a1, atom * a2, double k, double r0, double d);
Modified: Tue May 20 16:00:00 1997 GMT
Page accessed 4133 times since Sat Apr 17 22:46:21 1999 GMT