From 315a1b2947055ae2d2a3b10c1eaf23dfd9365a3d Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Tue, 21 Apr 2015 21:02:11 +0200
Subject: [PATCH] Patches for gromacs now pass restart flag

Notice that this only works with APIversion>2, that is
with the to-be-released PLUMED 2.2
---
 patches/gromacs-4.6.7.diff/src/kernel/md.c       | 5 ++++-
 patches/gromacs-5.0.diff/src/programs/mdrun/md.c | 4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/patches/gromacs-4.6.7.diff/src/kernel/md.c b/patches/gromacs-4.6.7.diff/src/kernel/md.c
index b4b8c51cd..9b0ad7aa8 100644
--- a/patches/gromacs-4.6.7.diff/src/kernel/md.c
+++ b/patches/gromacs-4.6.7.diff/src/kernel/md.c
@@ -752,7 +752,10 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[],
       /* setting kbT is only implemented with api>1) */
       real kbT=ir->opts.ref_t[0]*BOLTZ;
       if(pversion>1) plumed_cmd(plumedmain,"setKbT",&kbT);
-
+      if(pversion>2){
+        int res=1;
+        if( (Flags & MD_STARTFROMCPT) ) plumed_cmd(plumedmain,"setRestart",&res);
+      }
       if(cr->ms && cr->ms->nsim>1) {
         if(MASTER(cr)) plumed_cmd(plumedmain,"GREX setMPIIntercomm",&cr->ms->mpi_comm_masters);
         if(PAR(cr)){
diff --git a/patches/gromacs-5.0.diff/src/programs/mdrun/md.c b/patches/gromacs-5.0.diff/src/programs/mdrun/md.c
index b34d23c71..c881c0170 100644
--- a/patches/gromacs-5.0.diff/src/programs/mdrun/md.c
+++ b/patches/gromacs-5.0.diff/src/programs/mdrun/md.c
@@ -671,6 +671,10 @@ double do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[],
       /* setting kbT is only implemented with api>1) */
       real kbT=ir->opts.ref_t[0]*BOLTZ;
       if(pversion>1) plumed_cmd(plumedmain,"setKbT",&kbT);
+      if(pversion>2){
+        int res=1;
+        if( (Flags & MD_STARTFROMCPT) ) plumed_cmd(plumedmain,"setRestart",&res);
+      }
 
       if(cr->ms && cr->ms->nsim>1) {
         if(MASTER(cr)) plumed_cmd(plumedmain,"GREX setMPIIntercomm",&cr->ms->mpi_comm_masters);
-- 
GitLab