#include "gromacs/fileio/gmxfio-xdr.h"
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/names.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/topology/block.h"
#include "gromacs/topology/mtop_util.h"
#include "gmxpre.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/topology/symtab.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/legacyheaders/nrnb.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/viewit.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/math/do_fit.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/viewit.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/viewit.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/viewit.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/arraysize.h"
#include "gromacs/utility/futil.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/gmxana/gmx_ana.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/utility/arraysize.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/linearalgebra/eigensolver.h"
#include "gromacs/linearalgebra/sparsematrix.h"
#include "gromacs/math/units.h"
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/viewit.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/do_fit.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/legacyheaders/main.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/mshift.h"
#include "gromacs/legacyheaders/network.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/linearalgebra/nrjac.h"
#include "gromacs/math/do_fit.h"
#include "gromacs/math/vec.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/gmxpreprocess/resall.h"
#include "gromacs/gmxpreprocess/topio.h"
#include "gromacs/gmxpreprocess/toputil.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/gmxpreprocess/resall.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/names.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/topology/residuetypes.h"
#include "gromacs/gmxpreprocess/topdirs.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/txtdump.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/topology/symtab.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include <stdlib.h>
#include "gromacs/gmxpreprocess/toputil.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/legacyheaders/splitter.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/warninp.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/calc_verletbuf.h"
#include "gromacs/mdlib/compute_io.h"
#include "gromacs/legacyheaders/readinp.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/warninp.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/calc_verletbuf.h"
#include "gromacs/gmxpreprocess/grompp-impl.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/futil.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/warninp.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
#include "gromacs/topology/block.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/warninp.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/topology/symtab.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/gmxpreprocess/toppush.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/gmxpreprocess/gpp_atomtype.h"
#include "gromacs/gmxpreprocess/topdirs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/topology/block.h"
#include "gromacs/topology/symtab.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/gmxpreprocess/resall.h"
#include "gromacs/gmxpreprocess/toputil.h"
#include "gromacs/legacyheaders/names.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/cstringutil.h"
#include <stdio.h>
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
struct gmx_mtop_t;
struct t_commrec;
#include "gromacs/legacyheaders/tgroup.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/vsite.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/legacyheaders/types/force_flags.h"
#include "gromacs/timing/wallcycle.h"
struct t_commrec;
+struct t_fcdata;
struct t_graph;
struct t_pbc;
struct gmx_edsam;
*/
bondedtable_t make_bonded_table(FILE *fplog, char *fn, int angle);
-/* Return a table for bonded interactions,
+/* Fill a table for bonded interactions,
* angle should be: bonds 0, angles 1, dihedrals 2
*/
const t_forcerec *fr);
/* Read a table for AdResS Thermo Force calculations */
-extern t_forcetable make_atf_table(FILE *out, const output_env_t oenv,
- const t_forcerec *fr,
- const char *fn,
- matrix box);
+t_forcetable make_atf_table(FILE *out, const output_env_t oenv,
+ const t_forcerec *fr,
+ const char *fn,
+ matrix box);
gmx_bool can_use_allvsall(const t_inputrec *ir,
gmx_bool bPrintNote, struct t_commrec *cr, FILE *fp);
rvec f[],
tensor vir_force,
t_mdatoms *mdatoms,
- gmx_enerdata_t *enerd, t_fcdata *fcd,
+ gmx_enerdata_t *enerd, struct t_fcdata *fcd,
real *lambda, struct t_graph *graph,
t_forcerec *fr,
gmx_vsite_t *vsite, rvec mu_tot,
rvec f_shortrange[],
rvec f_longrange[],
gmx_enerdata_t *enerd,
- t_fcdata *fcd,
+ struct t_fcdata *fcd,
gmx_localtop_t *top,
gmx_genborn_t *born,
gmx_bool bBornRadii,
struct gmx_constr;
struct gmx_ekindata_t;
struct gmx_output_env_t;
+struct t_fcdata;
#ifdef __cplusplus
extern "C" {
#include <stdio.h>
#include "gromacs/legacyheaders/typedefs.h"
-
+#include "gromacs/legacyheaders/types/ifunc.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_multisim_t;
struct t_pbc;
struct t_commrec;
-struct gmx_multisim_t;
+struct t_fcdata;
+struct t_oriresdata;
void init_orires(FILE *fplog, const gmx_mtop_t *mtop,
rvec x[],
extern "C" {
#endif
+struct t_fcdata;
struct t_graph;
/* Initialization function, also predicts the initial shell postions.
#define NOTSET -12345
#include "gromacs/legacyheaders/types/forcerec.h"
-#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/legacyheaders/types/inputrec.h"
#include "gromacs/legacyheaders/types/mdatom.h"
#include "gromacs/legacyheaders/types/nblist.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2014, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
typedef real rvec5[5];
/* Distance restraining stuff */
-typedef struct {
+typedef struct t_disresdata {
int dr_weighting; /* Weighting of pairs in one restraint */
gmx_bool dr_bMixed; /* Use sqrt of the instantaneous times *
* the time averaged violation */
/* Orientation restraining stuff */
-typedef struct {
+typedef struct t_oriresdata {
real fc; /* Force constant for the restraints */
real edt; /* Multiplication factor for time averaging */
real edt_1; /* 1 - edt */
double **v;
} t_oriresdata;
-typedef struct {
+typedef struct bondedtable_t {
int n; /* n+1 is the number of points */
real scale; /* distance between two points */
real *data; /* the actual table data, per point there are 4 numbers */
* (for instance for time averaging in distance retraints)
* or for storing output, since force routines only return the potential.
*/
-typedef struct {
+typedef struct t_fcdata {
bondedtable_t *bondtab;
bondedtable_t *angletab;
bondedtable_t *dihtab;
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2014, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _ifunc_h
#define _ifunc_h
-#include "gromacs/legacyheaders/types/fcdata.h"
-#include "gromacs/legacyheaders/types/mdatom.h"
#include "gromacs/topology/idef.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_fcdata;
struct t_graph;
+struct t_mdatoms;
struct t_pbc;
typedef real t_ifunc (int nbonds, const t_iatom iatoms[],
const rvec x[], rvec f[], rvec fshift[],
const struct t_pbc *pbc, const struct t_graph *g,
real lambda, real *dvdlambda,
- const t_mdatoms *md, t_fcdata *fcd,
+ const struct t_mdatoms *md, struct t_fcdata *fcd,
int *ddgatindex);
/*
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#define NO_TF_TABLE 255
#define DEFAULT_TF_TABLE 0
-typedef struct {
+typedef struct t_mdatoms {
real tmassA, tmassB, tmass;
int nr;
int nalloc;
#include "gromacs/timing/wallcycle.h"
struct gmx_constr;
+struct t_fcdata;
#ifdef __cplusplus
extern "C" {
#include "gromacs/legacyheaders/network.h"
#include "gromacs/legacyheaders/nrnb.h"
#include "gromacs/legacyheaders/orires.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/legacyheaders/types/force_flags.h"
#include "gromacs/listed-forces/bonded.h"
#include "gromacs/listed-forces/position-restraints.h"
#include "gromacs/legacyheaders/typedefs.h"
struct gmx_multisim_t;
+struct t_fcdata;
#ifdef __cplusplus
extern "C" {
const struct t_graph *g,
gmx_enerdata_t *enerd, t_nrnb *nrnb, real *lambda,
const t_mdatoms *md,
- t_fcdata *fcd, int *ddgatindex,
+ struct t_fcdata *fcd, int *ddgatindex,
int force_flags);
/*! \brief As calc_listed(), but only determines the potential energy
gmx_grppairener_t *grpp, real *epot, t_nrnb *nrnb,
real *lambda,
const t_mdatoms *md,
- t_fcdata *fcd, int *global_atom_index);
+ struct t_fcdata *fcd, int *global_atom_index);
/*! \brief Do all aspects of energy and force calculations for mdrun
* on the set of listed interactions */
void
-do_force_listed(struct gmx_wallcycle *wcycle,
- matrix box,
- const t_lambda *fepvals,
- const struct gmx_multisim_t *ms,
- const t_idef *idef,
- const rvec x[],
- history_t *hist,
- rvec f[],
- t_forcerec *fr,
- const struct t_pbc *pbc,
- const struct t_graph *graph,
- gmx_enerdata_t *enerd,
- t_nrnb *nrnb,
- real *lambda,
- const t_mdatoms *md,
- t_fcdata *fcd,
- int *global_atom_index,
- int flags);
+do_force_listed(struct gmx_wallcycle *wcycle,
+ matrix box,
+ const t_lambda *fepvals,
+ const struct gmx_multisim_t *ms,
+ const t_idef *idef,
+ const rvec x[],
+ history_t *hist,
+ rvec f[],
+ t_forcerec *fr,
+ const struct t_pbc *pbc,
+ const struct t_graph *graph,
+ gmx_enerdata_t *enerd,
+ t_nrnb *nrnb,
+ real *lambda,
+ const t_mdatoms *md,
+ struct t_fcdata *fcd,
+ int *global_atom_index,
+ int flags);
#ifdef __cplusplus
}
#include <algorithm>
#include "gromacs/legacyheaders/gmx_omp_nthreads.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/listed-forces/listed-forces.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/fatalerror.h"
#include <cmath>
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/legacyheaders/types/simple.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include <algorithm>
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/calculate-ewald-splitting-coefficient.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include <string.h>
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/legacyheaders/txtdump.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/legacyheaders/types/group.h"
#include "gromacs/listed-forces/manage-threading.h"
#include "gromacs/math/calculate-ewald-splitting-coefficient.h"
#include "gromacs/legacyheaders/types/force_flags.h"
#include "gromacs/timing/wallcycle.h"
+struct t_fcdata;
+
/*! \brief Create a new forcerec structure */
t_forcerec *mk_forcerec(void);
* \param[in] bNoSolvOpt Do not use solvent optimization
* \param[in] print_force Print forces for atoms with force >= print_force
*/
-void init_forcerec(FILE *fplog,
- const output_env_t oenv,
- t_forcerec *fr,
- t_fcdata *fcd,
- const t_inputrec *ir,
- const gmx_mtop_t *mtop,
- const t_commrec *cr,
- matrix box,
- const char *tabfn,
- const char *tabafn,
- const char *tabpfn,
- const char *tabbfn,
- const char *nbpu_opt,
- gmx_bool bNoSolvOpt,
- real print_force);
+void init_forcerec(FILE *fplog,
+ const output_env_t oenv,
+ t_forcerec *fr,
+ struct t_fcdata *fcd,
+ const t_inputrec *ir,
+ const gmx_mtop_t *mtop,
+ const t_commrec *cr,
+ matrix box,
+ const char *tabfn,
+ const char *tabafn,
+ const char *tabpfn,
+ const char *tabbfn,
+ const char *nbpu_opt,
+ gmx_bool bNoSolvOpt,
+ real print_force);
/*! \brief Divide exclusions over threads
*
#include "gromacs/legacyheaders/network.h"
#include "gromacs/legacyheaders/orires.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/legacyheaders/types/group.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include <cmath>
#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/nbnxn_consts.h"
#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/network.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/fcdata.h"
#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
bondedtable_t make_bonded_table(FILE *fplog, char *fn, int angle)
{
- t_tabledata td;
- double start;
- int i;
- bondedtable_t tab;
+ t_tabledata td;
+ double start;
+ int i;
+ bondedtable_t tab;
if (angle < 2)
{
#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/idef.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/xtcio.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/txtdump.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/txtdump.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/gmxpreprocess/readir.h"
#include "gromacs/legacyheaders/checkpoint.h"
#include "gromacs/legacyheaders/names.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/legacyheaders/types/inputrec.h"
#include "gromacs/legacyheaders/types/simple.h"
#include "gromacs/legacyheaders/types/state.h"
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/pbcutil/pbc.h"