3 * This source code is part of
7 * GROningen MAchine for Chemical Simulations
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2004, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
33 * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
40 int np
; /* Number of points */
41 int atype
; /* Atom type */
42 int ptype
; /* Parameter type */
43 real rmin
,rmax
; /* Minimum and maximum value */
45 real rval
; /* Current value */
52 int ipop
,gen
; /* Current population member and generation */
53 int imin
; /* Member with lowest energy */
55 real
**pold
,**pnew
; /* Old and new populations */
56 real
*best
,*bestit
,*cost
,*tmp
,*msf
,*energy
;
61 enum { eseSIGMA
, eseEPSILON
, eseBHAMA
, eseBHAMB
, eseBHAMC
,
62 eseCELLX
, eseCELLY
, eseCELLZ
, eseNR
};
64 extern real
value_rand(t_range
*r
,int *seed
);
66 extern t_genalg
*init_ga(FILE *fplog
,const char *infile
,int D
,t_range range
[]);
68 extern void update_ga(FILE *fpout_ptr
,t_range range
[],t_genalg
*ga
);
70 extern gmx_bool
print_ga(FILE *fp
,t_genalg
*ga
,real msf
,tensor pres
,rvec scale
,
71 real energy
,t_range range
[],real tol
);
73 extern real
cost(tensor P
,real MSF
,real energy
);