Merge branch 'release-4-6'
[alexxy/gromacs.git] / src / gromacs / mdlib / constr.c
index abf5ccb76e6b1f3ae30a1f9b176fad43ee71d397..bce7d676bd35bafc0d6940115af7372ce5164a4e 100644 (file)
@@ -342,7 +342,7 @@ gmx_bool constrain(FILE *fplog,gmx_bool bLog,gmx_bool bEner,
         /* Set the constraint lengths for the step at which this configuration
          * is meant to be. The invmasses should not be changed.
          */
-        lambda += delta_step*ir->delta_lambda;
+        lambda += delta_step*ir->fepvals->delta_lambda;
     }
     
     if (vir != NULL)
@@ -912,12 +912,12 @@ static real constr_r_max_moltype(FILE *fplog,
       constr_recur(&at2con,molt->ilist,iparams,
                   TRUE,at,0,1+ir->nProjOrder,path,r0,r1,&r2maxB,&count);
     }
-    lam0 = ir->init_lambda;
+    lam0 = ir->fepvals->init_lambda;
     if (EI_DYNAMICS(ir->eI))
-      lam0 += ir->init_step*ir->delta_lambda;
+      lam0 += ir->init_step*ir->fepvals->delta_lambda;
     rmax = (1 - lam0)*sqrt(r2maxA) + lam0*sqrt(r2maxB);
     if (EI_DYNAMICS(ir->eI)) {
-      lam1 = ir->init_lambda + (ir->init_step + ir->nsteps)*ir->delta_lambda;
+      lam1 = ir->fepvals->init_lambda + (ir->init_step + ir->nsteps)*ir->fepvals->delta_lambda;
       rmax = max(rmax,(1 - lam1)*sqrt(r2maxA) + lam1*sqrt(r2maxB));
     }
   }
@@ -1147,3 +1147,17 @@ gmx_bool inter_charge_group_constraints(gmx_mtop_t *mtop)
 
   return bInterCG;
 }
+
+/* helper functions for andersen temperature control, because the
+ * gmx_constr construct is only defined in constr.c. Return the list
+ * of blocks (get_sblock) and the number of blocks (get_nblocks).  */
+
+extern int *get_sblock(struct gmx_constr *constr)
+{
+    return constr->sblock;
+}
+
+extern int get_nblocks(struct gmx_constr *constr)
+{
+    return constr->nblocks;
+}