Hi, I met a problem when switching NPT run to NVT run in Gromacs. Following listed the modifications I made when I change the ensemble:
1) I modified the .mdp file: pcoupl =0, and then I swiped out other pressure-related set-ups. I'm not sure if I should do this or just leave it there;
Besides, in .mdp file, I set the tinit and init_step both as 0, since it doesn't affect the selection of final frame as startpoint in this run, which is decided by the .cpt file later. I think it's just a numerical
2) then I use grompp to regenerate the .tpr binary file; this is because when switching the ensemble, the conditions changes so I need a new binary file;
3) I use mdrun combined with .cpt checkpoint file to catch the final frame in the previous NPT run;
following is the code I used:
grompp -f grompp.mdp -c mixt.gro -p mixt.top
mdrun -s topol.tpr -cpi state.cpt
The run goes fine. But the confusion comes from the way my initial NVT box behave; it's not like the equilibrated final NPT box at all. Maybe it's about the final frame selection. But I already did it through the checkpoint file.
Any commends will be most welcomed.
Thank you.
Actually, in simulation, it doesn't matter which ensemble is adopted. But in the set-up, NVT ensemble is simplier than NPT since no Pressure coupling involved, so it can be more computer-efficient.
For the equilibrium run, NPT is essential since it can reach the stable simulation box, generating the simulation density, which is deviate from that of the experimental data. This is because simulation is always carried out upon a model, whose force field and algorithm for computing could lead to errors from real value.
Just another little experience I got otday:)
Looks like I'm just playing myself.....
Problems solved. Actually the code given above is correct, but I used the wrong checkpoint file and that's why the system was so instable.
Another approach to restart from the last frame of previous run is to to -t (-t traj.trr) option in grompp, in which the default set-up is to use the last frame. So now I found two ways to do it:)