[gmx-users] Nstlist and constrain simulations

Szilárd Páll pall.szilard at gmail.com
Wed Feb 3 23:05:55 CET 2016


--
Szilárd


On Tue, Feb 2, 2016 at 3:34 PM, Michail Palaiokostas Avramidis
<m.palaiokostas at qmul.ac.uk> wrote:
>
>
> On 02/02/16 14:04, Szilárd Páll wrote:
>> On Tue, Feb 2, 2016 at 11:17 AM, Michail Palaiokostas Avramidis
>> <m.palaiokostas at qmul.ac.uk> wrote:
>>> Hi Mark and thank you for your answer.
>>> Please see below :)
>>>
>>> On 01/02/16 18:28, Mark Abraham wrote:
>>>> Hi,
>>>>
>>>> On Mon, Feb 1, 2016 at 6:42 PM Michail Palaiokostas Avramidis <
>>>> m.palaiokostas at qmul.ac.uk> wrote:
>>>>
>>>>> Dear GMX users,
>>>>>
>>>>>
>>>>> I would like to ask about your opinion on the size of the neighbour list
>>>>> (nstlist).
>>>>>
>>>>>
>>>>> I am running constraint simulations
>>>> What do you mean by a "constraint simulation?"
>>> Sorry, I should have been clearer. I am using the z-constraint method in
>>> which I constrain the permeant along the z-axis in various positions and
>>> I record the constraint force. Similar to umbrella sampling but with
>>> constrained distances between the permeant and membrane.
>>>>> of a permeant along a lipid bilayer. In the initial setup the system runs
>>>>> on NPT and nstlist 10 (which GROMACS changes to 40 automatically). With
>>>>> this setup my simulation is very fast but always crashes at various points
>>>>> with the same way always. Initially it gives some LINCS warnings and then
>>>>> it gives an error that a particle "communicated to PME rank 2 are more than
>>>>> 2/3 times the cut-off out of the domain decomposition cell".
>>>>>
>>>> Usually this indicates your setup is unstable e.g. see
>>>> http://www.gromacs.org/Documentation/Terminology/Blowing_Up. I'll proceed
>>>> by assuming you're very confident that your membrane system has had a
>>>> suitable few dozen+ nanoseconds of equilibration ;-)
>>> Yes absolutely confident. The system does not crash with unconstrained
>>> simulations. The membrane-solvent system is well equilibrated for 1μs
>>> and then, after I introduce the permeant, I perform an energy
>>> minimization and a short 500ps NPT-Berendsen equilibration to relax the
>>> pressure that the permeant might have introduced.
>>>> When I see the last pdb steps before crash, sometimes there seem to be
>>>>> overlaps between the permeants and the lipids and then system explosions
>>>>> and PBChaos. Other times it is not so dramatic.
>>>>>
>>>>>
>>>>> So the question is, should I be conservative with the nstlist? When I run
>>>>> NPT simulations and change the nstlist to 1, the system does not fail.
>>>>> Alternatively, if I change to NVT and nstlist to 10, again the system runs
>>>>> successfully. But NVT and 40 crashes.
>>>>>
>>>> This might all be a wild goose chase. If you are pulling permeants into the
>>>> membrane, then that creates pressure on the membrane and perhaps
>>>> destabilizes the pressure coupling. If that's with Parrinello-Rahman then
>>>> it can easily oscillate out of control, ending up violating the assumptions
>>>> under which the code is written.
>>> Yes, this is why I run an small equilibration in the beginning. And to
>>> be honest, technically, I do not pull the permeants. For each position,
>>> I add it to the system in VMD, and then run the
>>> minimization-equilibration-production sequence.
>>>> Since GROMACS was doing the nstlist update automatically, I thought it was
>>>>> a "safe" option. Based on the above,however, I believe that since the
>>>>> simulation runs with constraints, the system is more sensitive and thus the
>>>>> nstlist should be smaller. Can anyone validate that my hypothesis is
>>>>> correct?
>>>>>
>>>> On the limited evidence available, I think your observations are more
>>>> likely to be symptoms of the problem than the problem itself. How does e.g.
>>>> one permeant molecule behave?
>>> Once again sorry for not being clear. The plural in permeants comes from
>>> the fact that I test several molecules (e.g. water, ammonia etc) but it
>>> is only one per simulation/system.
>>>
>>> So, you think that the updating of neighbour list, shouldn't affect the
>>> problem?
>> No, it should not; for details see manual section 3.4.2.
>>
>> What GROMACS version are you using?
>
> I am using GROMACS 5.1.1
>
> The thing is that I see a difference on the stability when I change
> nstlist. In fact it is not crashing when I reduce the nstlist. And to be
> honest intuitively it should affect it.

That's if you ignore the automated pair-list buffer estimation.

> Anyway I looked at the manual
> but I couldn't see anything directly related to the question posed here.

Perhaps the documentation is not explicit enough about it, but with
the Verlet scheme implementation, as a pair list buffer is
automatically determined for the simulated system and setting in
question (rather than based on a rule of thumb like in the group
scheme or using an insanely conservative invalidation criteria other
packages use). Hence, nstlist becomes merely an
performance-optimization parameter and it won't affect energy
conservation.

> If as you say, it doesn't affect it, then I am really unaware of the
> reason behind the constant LINCS warnings and systems explosion in a
> well equilibrated system..

I said *it should not* affect it. The issue is worth investigating,
though and fortunately, as suggested previously, this is relatively
easy to verify by simple measurements.

--
Szilárd

>
> In any case, thank you for your answer.
>
> Kind Regards,
> Michail
>
>>> Kind Regards,
>>> Michail
>>>
>>>> Mark
>>>>
>>>> Thanks in advance.
>>>>> Kind Regards,
>>>>>
>>>>> Michail
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> Michail (Michalis) Palaiokostas
>>>>> PhD Student
>>>>> School of Engineering and Materials Science
>>>>> Queen Mary University of London
>>>>> -------------------------------------------------------------------
>>>>> --
>>>>> Gromacs Users mailing list
>>>>>
>>>>> * Please search the archive at
>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>>>>> posting!
>>>>>
>>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>>>
>>>>> * For (un)subscribe requests visit
>>>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>
>>> --
>>> Gromacs Users mailing list
>>>
>>> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before posting!
>>>
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>
>>> * For (un)subscribe requests visit
>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or send a mail to gmx-users-request at gromacs.org.
>
> --
> Gromacs Users mailing list
>
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or send a mail to gmx-users-request at gromacs.org.


More information about the gromacs.org_gmx-users mailing list