Enable output of average pull force and positions.
[alexxy/gromacs.git] / src / gromacs / pulling / pull_internal.h
index c56bb7c2045055697ca6b0d46940d0ef828a52ac..fdd3300b11b78ab43a7e113b5a20bf9b6480746d 100644 (file)
@@ -69,6 +69,8 @@ static const int c_pullMaxNumLocalAtomsSingleThreaded = 100;
 static const int c_pullMaxNumLocalAtomsSingleThreaded = 1;
 #endif
 
+class PullHistory;
+
 enum {
     epgrppbcNONE, epgrppbcREFAT, epgrppbcCOS, epgrppbcPREVSTEPCOM
 };
@@ -231,15 +233,20 @@ struct pull_t
     std::vector<pull_coord_work_t> coord;  /* The pull group param and work data */
 
     /* Global dynamic data */
-    gmx_bool             bSetPBCatoms; /* Do we need to set x_pbc for the groups? */
+    gmx_bool             bSetPBCatoms;      /* Do we need to set x_pbc for the groups? */
+
+    int                  nthreads;          /* Number of threads used by the pull code */
+    std::vector<ComSums> comSums;           /* Work array for summing for COM, 1 entry per thread */
+
+    pull_comm_t          comm;              /* Communication parameters, communicator and buffers */
 
-    int                  nthreads;     /* Number of threads used by the pull code */
-    std::vector<ComSums> comSums;      /* Work array for summing for COM, 1 entry per thread */
+    FILE                *out_x;             /* Output file for pull data */
+    FILE                *out_f;             /* Output file for pull data */
 
-    pull_comm_t          comm;         /* Communication parameters, communicator and buffers */
+    bool                 bXOutAverage;      /* Output average pull coordinates */
+    bool                 bFOutAverage;      /* Output average pull forces */
 
-    FILE                *out_x;        /* Output file for pull data */
-    FILE                *out_f;        /* Output file for pull data */
+    PullHistory         *coordForceHistory; /* Pull coordinate and force history */
 
     /* The number of coordinates using an external potential */
     int                numCoordinatesWithExternalPotential;