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

#ifndef TERM_H
#define TERM_H

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

typedef struct
  {
    enum TERMTYPE type;
    atom *atoms[4];
    double coeffs[4];
  }
term;

extern double term_energy (term * t);
extern void term_add_forces (term * t);
extern void length_term (term * t, atom * a1, atom * a2);
extern void angle_term (term * t, atom * a1, atom * a2, atom * a3);
extern void torsion_term (term * t, atom * a1, atom * a2,
			  atom * a3, atom * a4);
extern void vdw_term (term * t, atom * a1, atom * a2);
extern void electrostatic_term (term * t, atom * a1, atom * a2);
extern void spring_damper_term (term * t, atom * a1, atom * a2,
				double k, double r0, double d);

#endif
Modified: Mon May 19 16:00:00 1997 GMT
Page accessed 4276 times since Sat Apr 17 22:46:15 1999 GMT