How to calculate the surface tension of a liquid?

GROMACS version: 2020.4
GROMACS modification: No

Dear GROMACS users,

I know there are few topics related to this question but I couldn’t find a solution based on previous discussions. My question is how should we set up our system to get the surface tension of a liquid from gmx energy #Surf*SurfTen?

Particularly, what are the mdp parameters for pressure coupling, which ensemble, should we have a vacuum/liquid interface or not? If yes, how can we maintain it through the NPT ensemble?

Thank you in advance,


you need to set up your two-phase system (with normals pointing along Z, at least if you want to use the #Surf*SurfTen term in gmx energy) – if your second phase is vacuum you need to have that phase present, otherwise there is no surface to measure for. NVT ensembles at your target pressure is fine for liquid-liquid measurements (and indeed necessary for liquid-vacuum).

You should also take care that your phases are large enough to represent bulk matter and for one phase to not “see itself” behind the second phase. In vacuum it will always see itself due to the Coulomb interaction, so increase the vacuum size until you reach a converged value.


1 Like

Thank you Petter for the reply.

Now my question is how can I have vacuum and liquid phase together because if I increase the box size in the Z direction, the moment the simulation is started, the box will shrink and eliminate the vacuum part.

I used these parameters which I found in a related topic:

; Temperature coupling is on
tcoupl = V-rescale
tc-grps = system
tau_t = 0.5
ref_t = 300
; Pressure coupling is on
pcoupl = no
pcoupltype = semiisotropic (I tried both with and without this command)
tau_p = 5.0
ref_p = 0.0 1.0
compressibility = 0.0 4.5e-5

Kind regards,


If the box size is changing the simulation is not running in an NVT ensemble. Setting pcoupl = no as in your list should be sufficient to fix the volume, so I’d suggest to double check that it’s set like that in the md.log file from the simulation.

If it is still changing, please post your md.log file.

1 Like