if (inputrec->ePull != epullNO)
{
/* Initialize pull code */
- init_pull(fplog,inputrec,nfile,fnm,mtop,cr,
+ init_pull(fplog,inputrec,nfile,fnm,mtop,cr,oenv,
EI_DYNAMICS(inputrec->eI) && MASTER(cr),Flags);
}
+
+ if (inputrec->bRot)
+ {
+ /* Initialize enforced rotation code */
+ init_rot(fplog,inputrec,cr,box,state->x,Flags);
+ }
constr = init_constraints(fplog,mtop,inputrec,ed,state,cr);
-
+
if (DOMAINDECOMP(cr))
{
dd_init_bondeds(fplog,cr->dd,mtop,vsite,constr,inputrec,
dump_edi_eigenvecs(out, &edpars->flood.vecs, "FLOODING" , edpars->sav.nr);
/* Dump ed local buffer */
- fprintf(out, "buf->do_edfit =%p\n", edpars->buf->do_edfit );
- fprintf(out, "buf->do_edsam =%p\n", edpars->buf->do_edsam );
- fprintf(out, "buf->do_radcon =%p\n", edpars->buf->do_radcon );
- /*fprintf(out, "buf->fitit =%p\n", (void*)edpars->buf->fitit );*/
+ fprintf(out, "buf->do_edfit =%p\n", (void*)edpars->buf->do_edfit );
+ fprintf(out, "buf->do_edsam =%p\n", (void*)edpars->buf->do_edsam );
+ fprintf(out, "buf->do_radcon =%p\n", (void*)edpars->buf->do_radcon );
ffclose(out);
}
ncon = gmx_mtop_ftype_count(mtop,F_CONSTR);
nset = gmx_mtop_ftype_count(mtop,F_SETTLE);
- bConstr = (ncon > 0 || nset > 0);
- bConstrVir = FALSE;
- if (bConstr) {
+ md->bConstr = (ncon > 0 || nset > 0);
+ md->bConstrVir = FALSE;
+ if (md->bConstr) {
if (ncon > 0 && ir->eConstrAlg == econtLINCS) {
if (ir->eI == eiSD2)
- nCrmsd = 2;
+ md->nCrmsd = 2;
else
- nCrmsd = 1;
+ md->nCrmsd = 1;
}
- bConstrVir = (getenv("GMX_CONSTRAINTVIR") != NULL);
+ md->bConstrVir = (getenv("GMX_CONSTRAINTVIR") != NULL);
} else {
- nCrmsd = 0;
+ md->nCrmsd = 0;
}
+ /* Energy monitoring */
+ for(i=0;i<egNR;i++)
+ {
+ md->bEInd[i]=FALSE;
+ }
+
+
for(i=0; i<F_NRE; i++) {
- bEner[i] = FALSE;
+ md->bEner[i] = FALSE;
if (i == F_LJ)
- bEner[i] = !bBHAM;
+ md->bEner[i] = !bBHAM;
else if (i == F_BHAM)
- bEner[i] = bBHAM;
+ md->bEner[i] = bBHAM;
else if (i == F_EQM)
- bEner[i] = ir->bQMMM;
+ md->bEner[i] = ir->bQMMM;
else if (i == F_COUL_LR)
- bEner[i] = (ir->rcoulomb > ir->rlist);
+ md->bEner[i] = (ir->rcoulomb > ir->rlist);
else if (i == F_LJ_LR)
- bEner[i] = (!bBHAM && ir->rvdw > ir->rlist);
+ md->bEner[i] = (!bBHAM && ir->rvdw > ir->rlist);
else if (i == F_BHAM_LR)
- bEner[i] = (bBHAM && ir->rvdw > ir->rlist);
+ md->bEner[i] = (bBHAM && ir->rvdw > ir->rlist);
else if (i == F_RF_EXCL)
- bEner[i] = (EEL_RF(ir->coulombtype) && ir->coulombtype != eelRF_NEC);
+ md->bEner[i] = (EEL_RF(ir->coulombtype) && ir->coulombtype != eelRF_NEC);
else if (i == F_COUL_RECIP)
- bEner[i] = EEL_FULL(ir->coulombtype);
+ md->bEner[i] = EEL_FULL(ir->coulombtype);
else if (i == F_LJ14)
- bEner[i] = b14;
+ md->bEner[i] = b14;
else if (i == F_COUL14)
- bEner[i] = b14;
+ md->bEner[i] = b14;
else if (i == F_LJC14_Q || i == F_LJC_PAIRS_NB)
- bEner[i] = FALSE;
+ md->bEner[i] = FALSE;
else if ((i == F_DVDL) || (i == F_DKDL))
- bEner[i] = (ir->efep != efepNO);
+ md->bEner[i] = (ir->efep != efepNO);
else if (i == F_DHDL_CON)
- bEner[i] = (ir->efep != efepNO && bConstr);
+ md->bEner[i] = (ir->efep != efepNO && md->bConstr);
else if ((interaction_function[i].flags & IF_VSITE) ||
(i == F_CONSTR) || (i == F_CONSTRNC) || (i == F_SETTLE))
- bEner[i] = FALSE;
+ md->bEner[i] = FALSE;
else if ((i == F_COUL_SR) || (i == F_EPOT) || (i == F_PRES) || (i==F_EQM))
- bEner[i] = TRUE;
+ md->bEner[i] = TRUE;
else if ((i == F_ETOT) || (i == F_EKIN) || (i == F_TEMP))
- bEner[i] = EI_DYNAMICS(ir->eI);
+ md->bEner[i] = EI_DYNAMICS(ir->eI);
else if (i == F_DISPCORR || i == F_PDISPCORR)
- bEner[i] = (ir->eDispCorr != edispcNO);
+ md->bEner[i] = (ir->eDispCorr != edispcNO);
else if (i == F_DISRESVIOL)
- bEner[i] = (gmx_mtop_ftype_count(mtop,F_DISRES) > 0);
+ md->bEner[i] = (gmx_mtop_ftype_count(mtop,F_DISRES) > 0);
else if (i == F_ORIRESDEV)
- bEner[i] = (gmx_mtop_ftype_count(mtop,F_ORIRES) > 0);
+ md->bEner[i] = (gmx_mtop_ftype_count(mtop,F_ORIRES) > 0);
else if (i == F_CONNBONDS)
- bEner[i] = FALSE;
+ md->bEner[i] = FALSE;
else if (i == F_COM_PULL)
- bEner[i] = (ir->ePull == epullUMBRELLA || ir->ePull == epullCONST_F || ir->bRot);
- md->bEner[i] = (ir->ePull == epullUMBRELLA || ir->ePull == epullCONST_F);
++ md->bEner[i] = (ir->ePull == epullUMBRELLA || ir->ePull == epullCONST_F || ir->bRot);
else if (i == F_ECONSERVED)
- bEner[i] = ((ir->etc == etcNOSEHOOVER || ir->etc == etcVRESCALE) &&
+ md->bEner[i] = ((ir->etc == etcNOSEHOOVER || ir->etc == etcVRESCALE) &&
ir->epc == epcNO);
else
- bEner[i] = (gmx_mtop_ftype_count(mtop,i) > 0);
+ md->bEner[i] = (gmx_mtop_ftype_count(mtop,i) > 0);
}
+ md->f_nre=0;
for(i=0; i<F_NRE; i++)
{
- if (bEner[i])
+ if (md->bEner[i])
{
/* FIXME: The constness should not be cast away */
- ener_nm[f_nre]=(char *)interaction_function[i].longname;
- f_nre++;
+ /*ener_nm[f_nre]=(char *)interaction_function[i].longname;*/
+ ener_nm[md->f_nre]=interaction_function[i].longname;
+ md->f_nre++;
}
}