[gmx-users] Osmotic Pressure Calculations and fixed reference values of walls

Justin Lemkul jalemkul at vt.edu
Wed Dec 27 19:49:34 CET 2017

On 12/26/17 7:53 AM, Mandar Kulkarni wrote:
> Dear All,
> I am performing osmotic pressure simulations using 30 nucleoside molecules
> using 1D flat bottom restraints along Z-axis(Zmin and Zmax). I am using
> GROMACS 5.0.7 version and reference coordinates are provided using -r
> option in grompp.
> The osmotic pressure runs are performed under NPT conditions with
> semi-isotropic pressure coupling. I am calculating osmotic pressure using
> C-program which simply calculates forces on heavy atoms of nucleosides
> attempting to cross the Zmin and Zmax limits.
> I have searched archived posts, however, I am confused about possible
> implementation and post-processing in the present case. Any help will be
> really helpful to solve the following issues.
> 1. The upper and lower limits of the flat bottom restraints are defined
> while starting the simulations using static reference frame. Although
> |Zmax-Zmin|
> will be constant, is it correct to assume fixed minimum(Zmin) and
> maximum(Zmax) limits?

Such calculations are usually performed with a static z-dimension, e.g 
incompressible along that axis. In that case, Zmin and Zmax are (and 
should be) fixed.

> 2. During post-processing when one centers the trajectory and correct PBC
> for nucleoside molecules (trjconv -pbc mol -ur compact -center options), is
> it appropriate to assume the same Zmin and Zmax values at t=0 throughout
> the analysis?

You shouldn't have to use any complex trjconv command. Just make 
molecules whole and that should be correct. No additional centering is 
required; your molecules stay in the central volume anyway, and you 
don't want to shift coordinates when relying on fixed points in space 
for computing your osmotic pressure forces.


> 3. The GROMACS source code section below calculates flat-bottom restraint
> forces
>       for (m = 0; (m < DIM); m++)
>          {
>              f[ai][m]   += fm[m];
>              /* Here we correct for the pbc_dx which included rdist */
>              vir_diag[m] -= 0.5*(dx[m] + rdist[m])*fm[m];
>          }
> How can we print force f[ai][m] at each time step to separate file? I
> assume it might be not straightforward to print these forces, but a short
> general guideline might help me to achieve the objective.
> Sorry for so many questions and Thanks in advance.
> Also, Wish you all happy new year in advance.
> Best Regards,
> Mandar Kulkarni,
> Pusan National University, South Korea


Justin A. Lemkul, Ph.D.
Assistant Professor
Virginia Tech Department of Biochemistry

303 Engel Hall
340 West Campus Dr.
Blacksburg, VA 24061

jalemkul at vt.edu | (540) 231-3129


More information about the gromacs.org_gmx-users mailing list