[gmx-developers] modifing nonbonded interactions
David van der Spoel
spoel at xray.bmc.uu.se
Sun Oct 19 16:17:47 CEST 2008
Nazish Hoda wrote:
> Hi David,
>
> Can you tell me which journal and where was this paper published ?
phys rev lett 2006
>
> Thanks, Nazish.
>
>
>
> Quoting David van der Spoel <spoel at xray.bmc.uu.se>:
>
>> Nazish Hoda wrote:
>>>> OK. While the simplest way to implement this is to modify the inner
>>>> loop of the kernels to do such a comparison, this will severely hurt
>>>> performance. If one was already dropping from the optimized kernels
>>>> to a generic kernel, then the additional drop is probably not so
>>>> severe, but I'd expect still noticeable.
>>>
>>> This is what I have done. It is definetely slower. I am more
>>> interested in checking the physics. If this works then I will think
>>> of implementing the other idea you gave; that would require more
>>> effort. The big plan is to perform implict solvent simulations for
>>> charged systems that can mimic full atomistic simulations.
>>>
>>> I have posted these queries on a regular basis for two weeks now,
>>> since I started to work on this. But no one use to respond. I did not
>>> wanted to
>>> spend much time going through the full source code because I needed to
>>> add just few lines. I was lucky today that I got some responses.
>>>
>>> I would like to thank you once more, it really saved me lots of time,
>>> Nazish.
>>
>> Implementing distance dependent cutoff using tables is very simple, in
>> addition it does not hurt performance compared to e.g.using PME since
>> you we use tables for that as well. Most important using tables this
>> will work in vanilla gromacs.
>>
>> You may want to check recent papers by Berk Hess where he has done
>> similar things, by the way.
>>
>>>
>>>
>>> Quoting Mark Abraham <Mark.Abraham at anu.edu.au>:
>>>
>>>> Nazish Hoda wrote:
>>>>> Hi Mark,
>>>>>
>>>>> I really appreciate your help.
>>>>> Let me first describe what I am planning to do.
>>>>> I want to implement a position dependent dielectric constant:
>>>>> \epsilon = \epsilon_near r < r_1,
>>>>> \epsilon = \epsilon_far r > r_1.
>>>>
>>>> OK. While the simplest way to implement this is to modify the inner
>>>> loop of the kernels to do such a comparison, this will severely hurt
>>>> performance. If one was already dropping from the optimized kernels
>>>> to a generic kernel, then the additional drop is probably not so
>>>> severe, but I'd expect still noticeable.
>>>>
>>>> Much better would be to hijack the twin-range cut-off machinery to
>>>> create different groups of nonbonded interactions which get sent to
>>>> unmodified nonbonded kernels with different epsilon values. This way
>>>> the distance test is done once per (charge-group) interaction
>>>> during the neighbour-searching, and you get to keep the optimized
>>>> kernels. See section 4.6.3 of the GROMACS 3.3 manual for some
>>>> introductory information.
>>>>
>>>> Better still would be to find that some other simulation code
>>>> already has such a mechanism implemented.
>>>>
>>>>> Regarding your suggestions, I now understand that I can force it
>>>>> not to use the optimized subroutines. Though I did not undertand
>>>>> what David means that I will be better served by using lookup
>>>>> tables; is he referring to the numbering scheme for LJ, Coloumbic,
>>>>> and water optimized functions, and how to use this information to
>>>>> refer to the correct kernel functions?
>>>>
>>>> They don't vary the kernels, that's the point. Once you supply a
>>>> table, the table-lookup kernels will be used. See section 6.6 of the
>>>> 3.3 manual. Such an approach isn't useful to you, since you want
>>>> what amounts to a different functional form depending on the value
>>>> of r. This underscores why you should have been describing your
>>>> objective, so that people trying to help you don't have to make
>>>> shots in the dark - or ignore you until you ask a "right" question :-).
>>>>
>>>> Mark
>>>> _______________________________________________
>>>> gmx-developers mailing list
>>>> gmx-developers at gromacs.org
>>>> http://www.gromacs.org/mailman/listinfo/gmx-developers
>>>> Please don't post (un)subscribe requests to the list. Use the www
>>>> interface or send it to gmx-developers-request at gromacs.org.
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> gmx-developers mailing list
>>> gmx-developers at gromacs.org
>>> http://www.gromacs.org/mailman/listinfo/gmx-developers
>>> Please don't post (un)subscribe requests to the list. Use thewww
>>> interface or send it to gmx-developers-request at gromacs.org.
>>
>>
>> --
>> David van der Spoel, Ph.D., Professor of Biology
>> Molec. Biophys. group, Dept. of Cell & Molec. Biol., Uppsala University.
>> Box 596, 75124 Uppsala, Sweden. Phone: +46184714205. Fax: +4618511755.
>> spoel at xray.bmc.uu.se spoel at gromacs.org http://folding.bmc.uu.se
>> _______________________________________________
>> gmx-developers mailing list
>> gmx-developers at gromacs.org
>> http://www.gromacs.org/mailman/listinfo/gmx-developers
>> Please don't post (un)subscribe requests to the list. Use the www
>> interface or send it to gmx-developers-request at gromacs.org.
>>
>>
>>
>
> _______________________________________________
> gmx-developers mailing list
> gmx-developers at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-developers
> Please don't post (un)subscribe requests to the list. Use thewww
> interface or send it to gmx-developers-request at gromacs.org.
--
David van der Spoel, Ph.D., Professor of Biology
Molec. Biophys. group, Dept. of Cell & Molec. Biol., Uppsala University.
Box 596, 75124 Uppsala, Sweden. Phone: +46184714205. Fax: +4618511755.
spoel at xray.bmc.uu.se spoel at gromacs.org http://folding.bmc.uu.se
More information about the gromacs.org_gmx-developers
mailing list