4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
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
27 * Good ROcking Metal Altar for Chronical Sinners
29 static char *SRCID_inloop_h
= "$Id$";
37 /******************************************************************
39 * C I N N E R L O O P S
41 ******************************************************************/
42 extern void c_coul(real ix
,real iy
,real iz
,real qi
,
43 real pos
[],int nj
,t_nl_j jjnr
[],
45 real faction
[],real fip
[3],
48 extern void c_ljc(real ix
,real iy
,real iz
,real qi
,
49 real pos
[],int nj
,int type
[],t_nl_j jjnr
[],
50 real charge
[],real nbfp
[],
51 real faction
[],real fip
[],
54 extern void c_bham(real ix
,real iy
,real iz
,real qi
,
55 real pos
[],int nj
,int type
[],t_nl_j jjnr
[],
56 real charge
[],real nbfp
[],
57 real faction
[],real fip
[],
60 extern void c_water(int i0
,real xw
[],real eps
,
61 real pos
[],int nj
,int type
[],t_nl_j jjnr
[],
62 real charge
[],real nbfp
[],
63 real faction
[],real fw
[],
67 extern void c_wcoul(int i0
,real xw
[],real eps
,
68 real pos
[],int nj
,t_nl_j jjnr
[],
69 real charge
[],real faction
[],real fw
[],real
*Vc
);
70 /* Water loop including only coulomb */
72 extern void c_ljcfree(real ix
,real iy
,real iz
,int inr
,
73 real pos
[],int nj
,t_nl_j jjnr
[],
74 int typeA
[], int typeB
[],
76 real chargeA
[],real chargeB
[],
77 real nbfpA
[], real nbfpB
[],
78 real faction
[],real fip
[],
80 real lambda
, real
*dvdlambda
,
82 real tfac
,real trunctab
[]);
83 /* LJ+Coulomb with free energy perturbation calculation
84 * This also contains a reaction field term. If rffac is zero,
88 extern void c_free(real ix
,real iy
,real iz
,int inr
,
89 real pos
[],int nj
,t_nl_j jjnr
[],
90 int typeA
[], int typeB
[],
92 real chargeA
[],real chargeB
[],
93 real nbfpA
[], real nbfpB
[],
94 real faction
[],real fip
[],
96 real lambda
, real
*dvdlambda
,
97 int ntab
, real tabscale
,
99 /* LJ+Coulomb with free energy perturbation calculation
100 * Potential and forces are calculated using tables.
103 extern void c_tab(real ix
,real iy
,real iz
,real qi
,
104 real pos
[],int nj
,int type
[],int jjnr
[],real charge
[],
105 real nbfp
[],real faction
[],real fip
[],
106 real
*Vc
,real
*Vnb
,int ntab
,real tabscale
,real VFtab
[]);
108 extern void c_bhamtab(real ix
,real iy
,real iz
,real qi
,
109 real pos
[],int nj
,int type
[],int jjnr
[],real charge
[],
110 real nbfp
[],real faction
[],real fip
[],
111 real
*Vc
,real
*Vnb
,int ntab
,
112 real tabscale
,real tabscale_bham
,real VFtab
[]);
114 extern void c_coultab(real ix
,real iy
,real iz
,real qi
,
115 real pos
[],int nj
,int jjnr
[],real charge
[],
116 real faction
[],real fip
[],
117 real
*Vc
,int ntab
,real tabscale
,real VFtab
[]);
118 /* These two routines calculate force based on tables.
119 * The first does both LJ and Coulomn, while the second only does coulomb.
120 * More info in inloopc.c
122 extern void c_watertab(int i0
,real xw
[],real fudge
,
123 real pos
[],int nj
,int type
[],t_nl_j jjnr
[],
124 real charge
[],real nbfp
[],
125 real faction
[],real fw
[],
126 real
*Vc
,real
*Vnb
,int ntab
,real tabscale
,real VFtab
[]);
127 /* Water loop including tables */
129 void c_wcoultab(int i0
,real xw
[],real fudge
,
130 real pos
[],int nj
,t_nl_j jjnr
[],
131 real charge
[],real faction
[],real fw
[],
132 real
*Vc
,int ntab
,real tabscale
,real VFtab
[]);
133 /* Water loop including only coulomb, but with a table function */
135 #endif /* _in_loop_h_ */