# [gmx-developers] modifing nonbonded interactions

Nazish Hoda nazish at umich.edu
Sun Oct 19 17:44:10 CEST 2008

Thanks! I have seen this one.
-Nazish

Quoting David van der Spoel <spoel at xray.bmc.uu.se>:

> 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
> _______________________________________________
> 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.
>
>
>