Move stat function declarations to a new stat.h
authorPrashanth Kanduri <kanduri@cscs.ch>
Thu, 21 Mar 2019 18:23:00 +0000 (19:23 +0100)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 27 Mar 2019 10:20:43 +0000 (11:20 +0100)
This is another patch in the cleaning efforts of sim_util.

The idea is to only have functions relevant to the force
schedules there so that it becomes easy to move it into
its own module with minimal merging pains.

Change-Id: I8decd93e02cfdda79f131171d2b91be095cc77e0
Related: #2574

15 files changed:
src/gromacs/essentialdynamics/edsam.cpp
src/gromacs/imd/imd.cpp
src/gromacs/mdlib/coupling.cpp
src/gromacs/mdlib/md_support.cpp
src/gromacs/mdlib/shellfc.cpp
src/gromacs/mdlib/sim_util.h
src/gromacs/mdlib/stat.cpp
src/gromacs/mdlib/stat.h [new file with mode: 0644]
src/gromacs/mdlib/trajectory_writing.cpp
src/gromacs/mdlib/update.cpp
src/gromacs/mdrun/md.cpp
src/gromacs/mdrun/mimic.cpp
src/gromacs/mdrun/minimize.cpp
src/gromacs/mdrun/rerun.cpp
src/gromacs/pulling/pull_rotation.cpp

index 4ae03b76b86409d7c7646ab797a781d3edeeee93..0dda15454204a02a18c17ac744300180ae3da253 100644 (file)
@@ -59,7 +59,7 @@
 #include "gromacs/mdlib/broadcaststructs.h"
 #include "gromacs/mdlib/constr.h"
 #include "gromacs/mdlib/groupcoord.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/update.h"
 #include "gromacs/mdtypes/commrec.h"
 #include "gromacs/mdtypes/edsamhistory.h"
index 3f59bcdc5223c2615d2155c972a452a33e9dee8f..ba8b20c746133772705e20797319a1ab03fec3e9 100644 (file)
@@ -73,7 +73,7 @@
 #include "gromacs/mdlib/broadcaststructs.h"
 #include "gromacs/mdlib/groupcoord.h"
 #include "gromacs/mdlib/sighandler.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdtypes/enerdata.h"
 #include "gromacs/mdtypes/inputrec.h"
 #include "gromacs/mdtypes/md_enums.h"
index 35125482ec9a7f515b472d92d040647c3fab887c..c9f1e29d7e0afc68f138201a23d917ace6312ba4 100644 (file)
 #include "gromacs/math/vecdump.h"
 #include "gromacs/mdlib/expanded.h"
 #include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/update.h"
 #include "gromacs/mdtypes/commrec.h"
 #include "gromacs/mdtypes/enerdata.h"
 #include "gromacs/mdtypes/group.h"
 #include "gromacs/mdtypes/inputrec.h"
 #include "gromacs/mdtypes/md_enums.h"
+#include "gromacs/mdtypes/mdatom.h"
 #include "gromacs/mdtypes/state.h"
 #include "gromacs/pbcutil/boxutilities.h"
 #include "gromacs/pbcutil/pbc.h"
index a7154d9afddf3e8d516781504d86696433160a22..0a77c4123ef4e80ddacc1daf2c587f79658e6896 100644 (file)
@@ -49,8 +49,8 @@
 #include "gromacs/gmxlib/nrnb.h"
 #include "gromacs/math/vec.h"
 #include "gromacs/mdlib/dispersioncorrection.h"
-#include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/simulationsignal.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/update.h"
 #include "gromacs/mdlib/vcm.h"
index deee367081ceab38b59317da934239717592589f..76caff90036a0963955a78c90fe3523fffa12530 100644 (file)
@@ -58,6 +58,7 @@
 #include "gromacs/mdlib/constr.h"
 #include "gromacs/mdlib/force.h"
 #include "gromacs/mdlib/force_flags.h"
+#include "gromacs/mdlib/mdatoms.h"
 #include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/vsite.h"
 #include "gromacs/mdtypes/commrec.h"
index a52385161f1c803bfb29f966af70a8e89c530e1b..3c9974b77231a5adad222681572aec92ebac67f2 100644 (file)
 #ifndef GMX_MDLIB_SIM_UTIL_H
 #define GMX_MDLIB_SIM_UTIL_H
 
-#include "gromacs/fileio/enxio.h"
-#include "gromacs/mdlib/vcm.h"
-#include "gromacs/timing/wallcycle.h"
-#include "gromacs/timing/walltime_accounting.h"
+#include "gromacs/math/vectypes.h"
 #include "gromacs/utility/arrayref.h"
 
-struct gmx_ekindata_t;
-struct gmx_enerdata_t;
-struct gmx_output_env_t;
-struct gmx_pme_t;
 struct nonbonded_verlet_t;
-struct t_forcerec;
-struct t_mdatoms;
-struct t_nrnb;
-
-namespace gmx
-{
-class BoxDeformation;
-class Constraints;
-class EnergyOutput;
-class IMDOutputProvider;
-class MDLogger;
-class Update;
-}
-
-typedef struct gmx_global_stat *gmx_global_stat_t;
 
 /*! \brief Parallellizes put_atoms_in_box()
  *
@@ -75,27 +53,6 @@ typedef struct gmx_global_stat *gmx_global_stat_t;
  */
 void put_atoms_in_box_omp(int ePBC, const matrix box, gmx::ArrayRef<gmx::RVec> x);
 
-
-
-/* ROUTINES from stat.c */
-gmx_global_stat_t global_stat_init(const t_inputrec *ir);
-
-void global_stat_destroy(gmx_global_stat_t gs);
-
-void global_stat(const gmx_global_stat *gs,
-                 const t_commrec *cr, gmx_enerdata_t *enerd,
-                 tensor fvir, tensor svir, rvec mu_tot,
-                 const t_inputrec *inputrec,
-                 gmx_ekindata_t *ekind,
-                 const gmx::Constraints *constr, t_vcm *vcm,
-                 int nsig, real *sig,
-                 int *totalNumberOfBondedInteractions,
-                 gmx_bool bSumEkinhOld, int flags);
-/* All-reduce energy-like quantities over cr->mpi_comm_mysim */
-
-bool do_per_step(int64_t step, int64_t nstep);
-/* Return TRUE if io should be done */
-
 /* Routine in sim_util.c */
 
 gmx_bool use_GPU(const nonbonded_verlet_t *nbv);
index fdaa251c482a15baad56664f13e2d5f4559ef45d..37ba6c679c2f65cf9ec8afaadb56e6742d714a38 100644 (file)
@@ -36,6 +36,8 @@
  */
 #include "gmxpre.h"
 
+#include "stat.h"
+
 #include <cstdio>
 #include <cstring>
 
@@ -49,7 +51,6 @@
 #include "gromacs/mdlib/constr.h"
 #include "gromacs/mdlib/md_support.h"
 #include "gromacs/mdlib/rbin.h"
-#include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/vcm.h"
 #include "gromacs/mdtypes/commrec.h"
@@ -379,15 +380,3 @@ void global_stat(const gmx_global_stat *gs,
         extract_binr(rb, isig, nsig, sig);
     }
 }
-
-bool do_per_step(int64_t step, int64_t nstep)
-{
-    if (nstep != 0)
-    {
-        return (step % nstep) == 0;
-    }
-    else
-    {
-        return false;
-    }
-}
diff --git a/src/gromacs/mdlib/stat.h b/src/gromacs/mdlib/stat.h
new file mode 100644 (file)
index 0000000..309f8d7
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,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.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_MDLIB_STAT_H
+#define GMX_MDLIB_STAT_H
+
+#include "gromacs/math/vectypes.h"
+
+struct gmx_ekindata_t;
+struct gmx_enerdata_t;
+struct t_vcm;
+struct t_inputrec;
+struct t_commrec;
+
+namespace gmx
+{
+class Constraints;
+}
+
+typedef struct gmx_global_stat *gmx_global_stat_t;
+
+gmx_global_stat_t global_stat_init(const t_inputrec *ir);
+
+void global_stat_destroy(gmx_global_stat_t gs);
+
+/*! \brief All-reduce energy-like quantities over cr->mpi_comm_mysim  */
+void global_stat(const gmx_global_stat *gs,
+                 const t_commrec *cr, gmx_enerdata_t *enerd,
+                 tensor fvir, tensor svir, rvec mu_tot,
+                 const t_inputrec *inputrec,
+                 gmx_ekindata_t *ekind,
+                 const gmx::Constraints *constr, t_vcm *vcm,
+                 int nsig, real *sig,
+                 int *totalNumberOfBondedInteractions,
+                 gmx_bool bSumEkinhOld, int flags);
+
+/*! \brief Returns TRUE if io should be done */
+inline bool do_per_step(int64_t step, int64_t nstep)
+{
+    if (nstep != 0)
+    {
+        return (step % nstep) == 0;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+#endif //GMX_MDLIB_STAT_H
index 6e075020b358114464bb04d0712b2a9dc8b8ac2b..26cba560e4ffab2ba38a9817c198868ea224b95f 100644 (file)
@@ -41,7 +41,7 @@
 #include "gromacs/fileio/tngio.h"
 #include "gromacs/math/vec.h"
 #include "gromacs/mdlib/mdoutf.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/update.h"
 #include "gromacs/mdtypes/commrec.h"
 #include "gromacs/mdtypes/forcerec.h"
index 2cce59af024da1ab362dbbb45bf667dc30a739d4..a2c33ecd9867e051ef7ebe193c5526651de5474f 100644 (file)
@@ -59,7 +59,8 @@
 #include "gromacs/mdlib/boxdeformation.h"
 #include "gromacs/mdlib/constr.h"
 #include "gromacs/mdlib/gmx_omp_nthreads.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/mdatoms.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdtypes/commrec.h"
 #include "gromacs/mdtypes/group.h"
index a1d389b70d6213428b44e14c81f9b65758556c21..5f5dc9ca56c47453bd9c1d654a0d10da37f68413 100644 (file)
@@ -92,6 +92,7 @@
 #include "gromacs/mdlib/sighandler.h"
 #include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/simulationsignal.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/stophandler.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/trajectory_writing.h"
index 6a56f6da2e38c9ff346a3af2c052953ee92d8700..c411e94aef7189b982273a37b1f5e655d8586982 100644 (file)
@@ -89,8 +89,8 @@
 #include "gromacs/mdlib/resethandler.h"
 #include "gromacs/mdlib/shellfc.h"
 #include "gromacs/mdlib/sighandler.h"
-#include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/simulationsignal.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/stophandler.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/trajectory_writing.h"
index 81e5971781a5e21da04d562672e057d8d3433eab..0a682ea79061277ad8b65776ab0248a5cc85af40 100644 (file)
@@ -81,7 +81,7 @@
 #include "gromacs/mdlib/mdsetup.h"
 #include "gromacs/mdlib/ns.h"
 #include "gromacs/mdlib/shellfc.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/trajectory_writing.h"
 #include "gromacs/mdlib/update.h"
index b025d6ab2805d8bf5c86db15349c85390a2b97ad..6023084edb4ca190cbc3fbaf64aeb711564d0ae1 100644 (file)
@@ -90,8 +90,8 @@
 #include "gromacs/mdlib/resethandler.h"
 #include "gromacs/mdlib/shellfc.h"
 #include "gromacs/mdlib/sighandler.h"
-#include "gromacs/mdlib/sim_util.h"
 #include "gromacs/mdlib/simulationsignal.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdlib/stophandler.h"
 #include "gromacs/mdlib/tgroup.h"
 #include "gromacs/mdlib/trajectory_writing.h"
index 81a41009a0661b67ca5ffe1062f4515f2c162ddd..dd6de266c7b7eeee6e5cba396e4a81515a84d6cc 100644 (file)
@@ -61,7 +61,7 @@
 #include "gromacs/math/utilities.h"
 #include "gromacs/math/vec.h"
 #include "gromacs/mdlib/groupcoord.h"
-#include "gromacs/mdlib/sim_util.h"
+#include "gromacs/mdlib/stat.h"
 #include "gromacs/mdtypes/commrec.h"
 #include "gromacs/mdtypes/inputrec.h"
 #include "gromacs/mdtypes/md_enums.h"