changed reading hint
[gromacs/adressmacs.git] / include / bondf.h
bloba33531b55ea6bfa61d3864f9cd71aa06b68c40b8
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 2.0
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * Please refer to:
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
23 * or e-mail to:
24 * gromacs@chem.rug.nl
26 * And Hey:
27 * Good ROcking Metal Altar for Chronical Sinners
30 #ifndef _bondf_h
31 #define _bondf_h
33 static char *SRCID_bondf_h = "$Id$";
35 #ifdef HAVE_IDENT
36 #ident "@(#) bondf.h 1.28 2/19/97"
37 #endif /* HAVE_IDENT */
39 #ifdef CPLUSPLUS
40 extern "C" {
41 #endif
43 #include <stdio.h>
44 #include "typedefs.h"
45 #include "nrnb.h"
46 #include "pbc.h"
48 extern void calc_bonds(FILE *log,t_idef *idef,
49 rvec x[],rvec f[],t_forcerec *fr,t_graph *g,
50 real epot[],t_nrnb *nrnb,matrix box,real lambda,
51 t_mdatoms *md,int ngrp,real egnb[],real egcoul[]);
52 /*
53 * The function calc_bonds() caluclates all bonded force interactions.
54 * The "bonds" are specified as follows:
55 * int nbonds
56 * the total number of bonded interactions.
57 * t_iatom *forceatoms
58 * specifies which atoms are involved in a bond of a certain
59 * type, see also struct t_idef.
60 * t_functype *functype
61 * defines for every bonded force type what type of function to
62 * use, see also struct t_idef.
63 * t_iparams *forceparams
64 * defines the parameters for every bond type, see also struct
65 * t_idef.
66 * real epot[NR_F]
67 * total potential energy split up over the function types.
68 * return value:
69 * the total potential energy (sum over epot).
72 extern real bond_angle(matrix box,
73 rvec xi,rvec xj,rvec xk, /* in */
74 rvec r_ij,rvec r_kj,real *costh); /* out */
75 /* Calculate bond-angle. No PBC is taken into account (use mol-shift) */
77 extern real dih_angle(matrix box,
78 rvec xi,rvec xj,rvec xk,rvec xl, /* in */
79 rvec r_ij,rvec r_kj,rvec r_kl,rvec m,rvec n, /* out */
80 real *cos_phi,real *sign);
81 /* Calculate dihedral-angle. No PBC is taken into account (use mol-shift) */
83 extern void do_dih_fup(int i,int j,int k,int l,real ddphi,
84 rvec r_ij,rvec r_kj,rvec r_kl,
85 rvec m,rvec n,rvec f[],t_forcerec *fr,t_graph *g,
86 rvec x[]);
87 /* Do an update of the forces for dihedral potentials */
89 /*************************************************************************
91 * Bonded force functions
93 *************************************************************************/
94 extern t_ifunc bonds,g96bonds,morsebonds;
95 extern t_ifunc angles,g96angles;
96 extern t_ifunc pdihs,idihs,rbdihs;
97 extern t_ifunc water_pol,posres,angres,angresz,do_14,unimplemented;
99 #ifdef CPLUSPLUS
101 #endif
103 #endif /* _bondf_h */