Merge branch 'release-4-6'
[alexxy/gromacs.git] / src / programs / mdrun / md_openmm.c
index e16f809e2705130a37467669517217506ca193b8..b29bd0e2f75dcc54d28bbc8120fb3c173938beb9 100644 (file)
@@ -66,7 +66,6 @@
 #include "ionize.h"
 #include "disre.h"
 #include "orires.h"
-#include "dihre.h"
 #include "pme.h"
 #include "mdatoms.h"
 #include "qmmm.h"
@@ -103,7 +102,7 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
                     t_mdatoms *mdatoms,
                     t_nrnb *nrnb,gmx_wallcycle_t wcycle,
                     gmx_edsam_t ed,t_forcerec *fr,
-                    int repl_ex_nst,int repl_ex_seed,
+                    int repl_ex_nst, int repl_ex_nex, int repl_ex_seed,
                     gmx_membed_t membed,
                     real cpt_period,real max_hours,
                     const char *deviceOptions,
@@ -163,7 +162,8 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
     groups = &top_global->groups;
 
     /* Initial values */
-    init_md(fplog,cr,ir,oenv,&t,&t0,&state_global->lambda,&lam0,
+    init_md(fplog,cr,ir,oenv,&t,&t0,state_global->lambda,
+            &(state_global->fep_state),&lam0,
             nrnb,top_global,&upd,
             nfile,fnm,&outf,&mdebin,
             force_vir,shake_vir,mu_tot,&bSimAnn,&vcm,state_global,Flags);
@@ -172,7 +172,8 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
     clear_mat(pres);
     /* Energy terms and groups */
     snew(enerd,1);
-    init_enerdata(top_global->groups.grps[egcENER].nr,ir->n_flambda,enerd);
+    init_enerdata(top_global->groups.grps[egcENER].nr,ir->fepvals->n_lambda,
+                  enerd);
     snew(f,top_global->natoms);
 
     /* Kinetic energy data */
@@ -215,7 +216,7 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
         graph = mk_graph(fplog,&(top->idef),0,top_global->natoms,FALSE,FALSE);
     }
 
-    update_mdatoms(mdatoms,state->lambda);
+    update_mdatoms(mdatoms,state->lambda[efptMASS]);
 
     if (deviceOptions[0]=='\0')
     {
@@ -368,7 +369,7 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
 
         if (MASTER(cr) && do_log)
         {
-            print_ebin_header(fplog,step,t,state->lambda);
+            print_ebin_header(fplog,step,t,state->lambda[efptFEP]);
         }
 
         clear_mat(force_vir);
@@ -424,7 +425,7 @@ double do_md_openmm(FILE *fplog,t_commrec *cr,int nfile,const t_filenm fnm[],
             openmm_copy_state(openmmData, state, &t, f, enerd, bX, bV, bF, do_ene);
 
             upd_mdebin(mdebin,FALSE,TRUE,
-                       t,mdatoms->tmass,enerd,state,lastbox,
+                       t,mdatoms->tmass,enerd,state,ir->fepvals,ir->expandedvals,lastbox,
                        shake_vir,force_vir,total_vir,pres,
                        ekind,mu_tot,constr);
             print_ebin(outf->fp_ene,do_ene,FALSE,FALSE,do_log?fplog:NULL,