gmx solvate (monoatomic solvents?)
After making a box using gmx insert-molecules, I want to use gmx solvate to add solvent molecules to my system.
In my case I'm using the Martini force field which means I want to add water molecules consisting of single beads. To get the correct density I have to use flag -radius 0.20. This results in a solvated box that has a strange density inhomogeneity: the box is more dense in a cube near the centre (see image).
Command:> gmx solvate -cp FFF300_box0.gro -cs water-125A_eq.gro -o FFF300_water0.gro -radius 0.2
(or genbox -cp FFF300_box0.gro -cs water-125A_eq.gro -o FFF300_water0.gro -vdwd 0.2 for versions 4.x)
Sometimes minimization and equilibration proceeds (with box size scaling warnings in the first steps as it expands rapidly), but this might be dangerous anyway as you have many more water molecules in your system than you should think you will.
The problem persists with different solutes and "sometimes" gets reduced by using a water box of identical size to the solute box. I noticed some hacks floating around on the www, where someone mentioned this may only be the case for monoatomic solvents (Martini water), but I also get errors using Martini polarisable water (3 atoms), and anyway it seems appropriate to get to the roots of this.
This issue already existed in Gromacs 4.x as well.
#3 Updated by Teemu Murtola over 4 years ago
- Category set to analysis tools
- Status changed from New to Closed
- Assignee set to Teemu Murtola
Closed since the issue is fixed in 5.1.
I also remember struggling with the behavior of gmx solvate/genbox with Martini with some old version, so when I essentially rewrote the logic for 5.1, I tried to make it much less surprising. Now, if you provide a solvent box, the only solvent molecules that get removed are those that overlap with your solute, or overlap with a periodic image of the solvent box (in case the size is not an exact multiple). The code no longer removes stuff elsewhere in the box, no matter what the radii of the atoms are. And if you use -maxsol, the atoms are removed throughout the box (assuming they are randomly distributed in the initial configuration). This should give you the same bulk density as in the input box, or something very close to it.