*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2014,2015,2016,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014,2015,2016,2017,2018,2019, 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 t_disresdata {
+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 */
- real dr_fc; /* Force constant for disres, *
+ real dr_fc; /* Force constant for disres, *
* which is multiplied by a (possibly) *
* different factor for each restraint */
real dr_tau; /* Time constant for disres */
int npair; /* The number of distance restraint pairs */
int type_min; /* The minimum iparam type index for restraints */
real sumviol; /* The sum of violations */
- real *rt; /* The instantaneous distance (npair) */
- real *rm3tav; /* The time averaged distance (npair) */
- real *Rtl_6; /* The instantaneous r^-6 (nres) */
- real *Rt_6; /* The instantaneous ensemble averaged r^-6 (nres) */
- real *Rtav_6; /* The time and ensemble averaged r^-6 (nres) */
+ real* rt; /* The instantaneous distance (npair) */
+ real* rm3tav; /* The time averaged distance (npair) */
+ real* Rtl_6; /* The instantaneous r^-6 (nres) */
+ real* Rt_6; /* The instantaneous ensemble averaged r^-6 (nres) */
+ real* Rtav_6; /* The time and ensemble averaged r^-6 (nres) */
int nsystems; /* The number of systems for ensemble averaging */
/* TODO: Implement a proper solution for parallel disre indexing */
- const t_iatom *forceatomsStart; /* Pointer to the start of the disre forceatoms */
+ const t_iatom* forceatomsStart; /* Pointer to the start of the disre forceatoms */
} t_disresdata;
/* All coefficients for the matrix equation for the orientation tensor */
};
/* Orientation restraining stuff */
-typedef struct t_oriresdata {
+typedef struct t_oriresdata
+{
real fc; /* Force constant for the restraints */
real edt; /* Multiplication factor for time averaging */
real edt_1; /* 1 - edt */
int nex; /* The number of experiments */
int typeMin; /* The minimum iparam type index for restraints */
int nref; /* The number of atoms for the fit */
- real *mref; /* The masses of the reference atoms */
- rvec *xref; /* The reference coordinates for the fit (nref) */
- rvec *xtmp; /* Temporary array for fitting (nref) */
+ real* mref; /* The masses of the reference atoms */
+ rvec* xref; /* The reference coordinates for the fit (nref) */
+ rvec* xtmp; /* Temporary array for fitting (nref) */
matrix R; /* Rotation matrix to rotate to the reference coor. */
- tensor *S; /* Array of order tensors for each experiment (nexp) */
- rvec5 *Dinsl; /* The order matrix D for all restraints (nr x 5) */
- rvec5 *Dins; /* The ensemble averaged D (nr x 5) */
- rvec5 *Dtav; /* The time and ensemble averaged D (nr x 5) */
- real *oinsl; /* The calculated instantaneous orientations */
- real *oins; /* The calculated emsemble averaged orientations */
- real *otav; /* The calculated time and ensemble averaged orient. */
+ tensor* S; /* Array of order tensors for each experiment (nexp) */
+ rvec5* Dinsl; /* The order matrix D for all restraints (nr x 5) */
+ rvec5* Dins; /* The ensemble averaged D (nr x 5) */
+ rvec5* Dtav; /* The time and ensemble averaged D (nr x 5) */
+ real* oinsl; /* The calculated instantaneous orientations */
+ real* oins; /* The calculated emsemble averaged orientations */
+ real* otav; /* The calculated time and ensemble averaged orient. */
real rmsdev; /* The weighted (using kfac) RMS deviation */
- OriresMatEq *tmpEq; /* An temporary array of matrix + rhs */
- real *eig; /* Eigenvalues/vectors, for output only (nex x 12) */
+ OriresMatEq* tmpEq; /* An temporary array of matrix + rhs */
+ real* eig; /* Eigenvalues/vectors, for output only (nex x 12) */
/* variables for diagonalization with diagonalize_orires_tensors()*/
- double **M;
- double *eig_diag;
- double **v;
+ double** M;
+ double* eig_diag;
+ double** v;
} t_oriresdata;
-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 */
+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 */
} bondedtable_t;
/*
* (for instance for time averaging in distance retraints)
* or for storing output, since force routines only return the potential.
*/
-typedef struct t_fcdata {
- bondedtable_t *bondtab;
- bondedtable_t *angletab;
- bondedtable_t *dihtab;
+typedef struct t_fcdata
+{
+ bondedtable_t* bondtab;
+ bondedtable_t* angletab;
+ bondedtable_t* dihtab;
- t_disresdata disres;
- t_oriresdata orires;
+ t_disresdata disres;
+ t_oriresdata orires;
} t_fcdata;
#endif