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
33 static char *SRCID_pppm_h = "$Id$";
44 extern void init_pppm(FILE *log,t_commrec *cr,t_nsborder *nsb,
45 bool bVerbose,bool bOld,
46 rvec box,char *ghatfn,t_inputrec *ir);
47 /* Setup stuff for PPPM.
48 * Either reads a ghat function from file (when the file exists)
49 * or generate a ghat function from scratch.
52 extern real do_pppm(FILE *log, bool bVerbose,
54 real charge[], rvec box,
55 real phi[], t_commrec *cr,
56 t_nsborder *nsb, t_nrnb *nrnb);
57 /* Do a PPPM calculation for the long range electrostatics. */
59 extern real do_opt_pppm(FILE *log, bool bVerbose,
60 t_inputrec *ir, int natoms,
62 real charge[], rvec box,
63 real phi[], t_commrec *cr,
64 t_nrnb *nrnb, rvec beta,
65 t_fftgrid *grid, bool bOld);
66 /* Do a PPPM setup (generate grid etc.) and a calculation as well
67 * the grid should be initiated beforehand.
70 extern void calc_invh(rvec box,int nx,int ny,int nz,rvec invh);
72 extern void spread_q(FILE *log,bool bVerbose,
74 rvec x[],real charge[],rvec box,
75 t_fftgrid *grid,t_nrnb *nrnb);