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 * GRowing Old MAkes el Chrono Sweat
33 static char *SRCID_sorting_h
= "$Id$";
36 #ident "@(#) sorting.h 1.21 9/30/97"
37 #endif /* HAVE_IDENT */
40 typedef atom_id t_bond
[2];
42 extern void sort_bonds(t_topology
*top
);
44 * Sort_bonds sorts all bonded force parameters in order of ascending
45 * atom id of the maximum atom id specified in a bond per type bond.
47 * If, for example, for a specific bond type the following bonds are specified:
48 * bond1 between atoms 15, 16, 12, 18 and 20
49 * bond2 between atoms 14, 13, 12, 18 and 19
50 * bond3 between atoms 17, 11, 19, 21 and 15
51 * then the maximum atom id for each bond would be:
55 * so order in which the bonds will be sorted is bond2, bond1, bond3
57 * This routine is used to determine to which processor a bonds should be
58 * allocated. For the distribution of bonds it is necessary to keep all
59 * the needed atoms when calculating a bonded force on one processor. In
60 * this way we prevent communication overhead in bonded force calculations.
64 extern void sort_xblock(t_block
*block
,rvec x
[],int renum
[]);
66 * Sort_xblock returns a renumber table which can be used to sort the
67 * blocks specified in block in an order dependent of the coordinates.
70 extern void sort_bond_list(t_bond bonds
[],int nr
);
72 * Sort_bond_list sort the list of bonds, specified by bonds in order
73 * of ascending atom id. The bonds are specified as pairs of atom ids.
74 * Where nr specifies the number of bonds (the length of the array).
77 #endif /* _sorting_h */