Freezegrps are silently overridden for charmm tip3p water molecules that are settled

GROMACS version: 2022.2
GROMACS modification: No

Hello,

I find that I can effectively freeze protein heavy atoms and crystal water by making an index group and using these mdp options:

freezegrps = protein_and_some_water_OW_atoms
freezedim = Y Y Y

However, when I run with “normal” production .mdp options, the protein atoms stay in place but the waters move around. When I change the run to use define=-DFLEXIBLE everything works as expected. I don’t see any warnings with my setup, and perhaps it would be useful to have mdrun bail out when freezegrps include settled atoms, since that appears to be an incompatible usage. I am not sure if this behavior is specific to the charmm tip3p water model or not.

Thank you,
Chris.

Looks like a bug worth filing. I see no reason why this would be specific to CHARMM, though. Probably anything with a SETTLE directive would be affected. Does freezing work if you replace [settles] with a set of three normal [constraints]? That would help narrow down whether it’s a freezing vs. constraints clash, or freezing vs. SETTLE, specifically.

Sorry Justin, not trying to blame charmm ff in particular. Just trying to provide all the possibly relevant data, much of which may not be actually relevant given that I’m not entirely sure what the deal is.