When I use gmx solvate with default options, the density is not 1000g/L.
Command: gmx solvate -cp emptybox.gro -cs spc216.gro -p topol.top -o solv.gro
I tried 4 box types as follow.
Small cubic: 1.86206 1.86206 1.86206 (same as spc216.gro file) (1000g/L)
Large cubic: 9.15513 9.15513 9.15513 (1180g/L)
Small dodecahedron: 2.00000 2.00000 1.41421 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 (1180g/L)
Large dodecahedron: 9.15513 9.15513 6.47366 0.00000 0.00000 0.00000 0.00000 4.57757 4.57757 (1180g/L)
I also used ‘-scale’ option with 0.57 and checked vdwradii.dat file has no problem.
I installed same version of gromacs on the other machine, solvent density was 1000g/L.
Because when I use same size box with spc216.gro, the density was normal, I think there is a problem on converting box step from spc216.gro to new gro file.
How can I solve this issue?
I’ve run an energy minimization, a NVT simulation, and a NPT simulation.
But the problem is, my system is protein-ligand complex, and the ligand comes out from the binding pocket during the NVT simulation because there exists lots of water molecules in the pocket and they always push the ligand out. It is abnormal because if I use another machine which solvates water molecules as 1000g/L, the ligand maintains its position.
I am not sure I understand what you mean by “assumptions”. I don’t know the inner workings of gmx solvate, I would imagine it tries to place molecules semi-randomly making sure there’s no overlap between hard spheres.
About the first part of your question, I think the answer is quite simple: after NPT equilibration the average box dimensions might change, which means that for the same number of moleucles one would get a different (average) density.
gmx solvate has no concept of physics. It takes a pre-equilibrated solvent box and tiles it through the volume of the user-provided box. Based on van der Waals radii (tabulated in a database file), it determines if any added solvent molecules are too close to existing solute molecules or each other.