diff --git a/patches/gromacs-2016.4.diff/src/programs/mdrun/md.cpp b/patches/gromacs-2016.4.diff/src/programs/mdrun/md.cpp index 47ad1849e10f8d4a675c997982f78ea8dfcca808..b6e0fd4d42078a4e6c819440a13a45ffe28c9ee6 100644 --- a/patches/gromacs-2016.4.diff/src/programs/mdrun/md.cpp +++ b/patches/gromacs-2016.4.diff/src/programs/mdrun/md.cpp @@ -731,8 +731,7 @@ double gmx::do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], plumed_cmd(plumedmain,"setNatoms",&top_global->natoms); plumed_cmd(plumedmain,"setMDEngine","gromacs"); plumed_cmd(plumedmain,"setLog",fplog); - real real_delta_t; - real_delta_t=ir->delta_t; + real real_delta_t=ir->delta_t; plumed_cmd(plumedmain,"setTimestep",&real_delta_t); plumed_cmd(plumedmain,"init",NULL); @@ -1268,6 +1267,7 @@ double gmx::do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], if(pversion>3) plumed_cmd(plumedmain,"doCheckPoint",&checkp); plumed_cmd(plumedmain,"setForces",&f[0][0]); plumed_cmd(plumedmain,"isEnergyNeeded",&plumedNeedsEnergy); + if(plumedNeedsEnergy) force_flags |= GMX_FORCE_ENERGY | GMX_FORCE_VIRIAL; clear_mat(plumed_vir); plumed_cmd(plumedmain,"setVirial",&plumed_vir[0][0]); } @@ -1289,11 +1289,9 @@ double gmx::do_md(FILE *fplog, t_commrec *cr, int nfile, const t_filenm fnm[], msmul(plumed_vir,0.5,plumed_vir); m_add(force_vir,plumed_vir,force_vir); } - if ((repl_ex_nst > 0) && (step > 0) && !bLastStep && - do_per_step(step,repl_ex_nst)) plumed_cmd(plumedmain,"GREX savePositions",NULL); + if(bDoReplEx) plumed_cmd(plumedmain,"GREX savePositions",NULL); if(plumedWantsToStop) ir->nsteps=step_rel+1; - if(bHREX) - plumed_cmd(plumedmain,"GREX cacheLocalUNow",&enerd->term[F_EPOT]); + if(bHREX) plumed_cmd(plumedmain,"GREX cacheLocalUNow",&enerd->term[F_EPOT]); } /* END PLUMED */ }