changed reading hint
[gromacs/adressmacs.git] / include / mshift.h
blob7e103afc919db0b76216123b6ec917db5bbea9ea
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 _mshift_h
31 #define _mshift_h
33 static char *SRCID_mshift_h = "$Id$";
35 #ifdef HAVE_IDENT
36 #ident "@(#) mshift.h 1.11 2/2/97"
37 #endif /* HAVE_IDENT */
39 #include "typedefs.h"
41 extern t_graph *mk_graph(t_idef *idef,int natoms,bool bShakeOnly);
42 /* Build a graph from an idef description. The graph can be used
43 * to generate mol-shift indices.
44 * If bShakeOnly, only the connections in the shake list are used.
46 extern void done_graph(t_graph *g);
47 /* Free the memory in g */
49 extern void p_graph(FILE *log,char *title,t_graph *g);
50 /* Print a graph to log */
52 extern void mk_mshift(FILE *log,t_graph *g,matrix box,rvec x[]);
53 /* Calculate the mshift codes, based on the connection graph in g. */
55 extern void shift_atom(t_graph *g,rvec sv[],rvec x[],rvec x_s[],atom_id ai);
56 /* Shift single atom ai */
58 extern void shift_x(t_graph *g,rvec sv[],rvec x[],rvec x_s[]);
59 /* Add the shift vector to x, and store in x_s (may be same array as x) */
61 extern void shift_self(t_graph *g,rvec sv[],rvec x[]);
62 /* Id. but in place */
64 extern void unshift_atom(t_graph *g,rvec sv[],rvec x[],rvec x_s[],atom_id ai);
65 /* Unshift single atom ai */
67 extern void unshift_x(t_graph *g,rvec sv[],rvec x[],rvec x_s[]);
68 /* Subtract the shift vector from x_s, and store in x (may be same array) */
70 extern void unshift_self(t_graph *g,rvec sv[],rvec x[]);
71 /* Id, but in place */
73 #endif /* _mshift_h */