/* 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)
settle = &idef->il[F_SETTLE];
if (settle->nr > 0)
{
- nsettle = settle->nr/2;
+ nsettle = settle->nr/4;
switch (econq)
{
sprintf(buf,
"\nstep " gmx_large_int_pfmt ": Water molecule starting at atom %d can not be "
"settled.\nCheck for bad contacts and/or reduce the timestep if appropriate.\n",
- step,ddglatnr(cr->dd,settle->iatoms[error*2+1]));
+ step,ddglatnr(cr->dd,settle->iatoms[error*4+1]));
if (fplog)
{
fprintf(fplog,"%s",buf);
{
settle = &idef->il[F_SETTLE];
iO = settle->iatoms[1];
- iH = settle->iatoms[1]+1;
+ iH = settle->iatoms[2];
constr->settled =
settle_init(md->massT[iO],md->massT[iH],
md->invmass[iO],md->invmass[iH],
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));
}
}
iloop = gmx_mtop_ilistloop_init(mtop);
while (gmx_mtop_ilistloop_next(iloop,&ilist,&nmol))
{
- for (i=0; i<ilist[F_SETTLE].nr; i+=2)
+ for (i=0; i<ilist[F_SETTLE].nr; i+=4)
{
if (settle_type == -1)
{
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;
+}