Partial commit of the project to remove all static variables.
[gromacs.git] / include / dummies.h
blobee14e1a5707783b807d17ea6396da15cd387f83e
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 3.1
11 * Copyright (c) 1991-2001, University of Groningen, The Netherlands
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * If you want to redistribute modifications, please consider that
18 * scientific software is very special. Version control is crucial -
19 * bugs must be traceable. We will be happy to consider code for
20 * inclusion in the official distribution, but derived work must not
21 * be called official GROMACS. Details are found in the README & COPYING
22 * files - if they are missing, get the official version at www.gromacs.org.
24 * To help us fund GROMACS development, we humbly ask that you cite
25 * the papers on the package - you can find them in the top README file.
27 * For more info, check our website at http://www.gromacs.org
29 * And Hey:
30 * Grunge ROck MAChoS
33 #ifndef _dummies_h
34 #define _dummies_h
37 #ifdef HAVE_CONFIG_H
38 #include <config.h>
39 #endif
41 #include <stdio.h>
42 #include "typedefs.h"
44 typedef struct {
45 int nprevdum; /* how many dummy particles are nonlocal */
46 int nnextdum;
47 int *idxprevdum; /* index of nonlocal dummy particles */
48 int *idxnextdum;
49 int nprevconstr; /* how many constr. atoms are nonlocal */
50 int nnextconstr;
51 int *idxprevconstr; /* indices of nonlocal constructing atoms */
52 int *idxnextconstr;
53 } t_comm_dummies;
55 extern void construct_dummies(FILE *log,rvec x[],t_nrnb *nrnb,
56 real dt,rvec v[],t_idef *idef,
57 t_graph *graph,t_commrec *cr,
58 matrix box,t_comm_dummies *dummycomm);
59 /* Create positions of dummy atoms based on surrounding atoms.
62 extern void spread_dummy_f(FILE *log,rvec x[],rvec f[],
63 t_nrnb *nrnb,t_idef *idef,
64 t_comm_dummies *dummycomm,t_commrec *cr);
65 /* Spread the force operating on the dummy atoms on the surrounding atoms.
68 #endif