[gmx-developers] Modification of calculation of the force

Mark Abraham Mark.Abraham at anu.edu.au
Thu Aug 13 03:00:57 CEST 2009

Camilo Andrés Jimenez Cruz wrote:
> Ups, I found what I was looking for in the README.

Or, step through with a debugger and see which function is called.

For educational and/or development purposes, consider using the 
environment variables NOASSEMBLYLOOPS and/or GMX_NB_GENERIC. Usage 
described in nonbonded.c IIRC.


> nb010_sse (No Coul, VdW=Lennard-Jones, no water optimization)
> nb030_sse (No Coul, VdW=Table, no water optimization)
> nb100_sse (Coul=Normal, No VdW, no water optimization)
> nb101_sse (Coul=Normal, No VdW, water=SPC/TIP3P-other atom)
> nb102_sse (Coul=Normal, No VdW, water=SPC/TIP3P-SPC/TIP3P)
> nb103_sse (Coul=Normal, No VdW, water=TIP4P-other atom)
> nb104_sse (Coul=Normal, No VdW, water=TIP4P-TIP4P)
> nb111_sse (Coul=Normal, VdW=L-J, water=SPC/TIP3P-other atom)
> nb112_sse (Coul=Normal, VdW=L-J, water=SPC/TIP3P-SPC/TIP3P)
> nb113_sse (Coul=Normal, VdW=L-J, water=TIP4P-other atom)
> nb114_sse (Coul=Normal, VdW=L-J, water=TIP4P-TIP4P)
> nb201_sse (Coul=RF, No VdW, water=SPC/TIP3P-other atom)
> nb202_sse (Coul=RF, No VdW, water=SPC/TIP3P-SPC/TIP3P)
> nb203_sse (Coul=RF, No VdW, water=TIP4P-other atom)
> nb204_sse (Coul=RF, No VdW, water=TIP4P-TIP4P)
> nb211_sse (Coul=RF, VdW=L-J, water=SPC/TIP3P-other atom)
> nb212_sse (Coul=RF, VdW=L-J, water=SPC/TIP3P-SPC/TIP3P)
> nb213_sse (Coul=RF, VdW=L-J, water=TIP4P-other atom)
> nb214_sse (Coul=RF, VdW=L-J, water=TIP4P-TIP4P)
> nb301_sse (Coul=Table, No VdW, water=SPC/TIP3P-other atom)
> nb302_sse (Coul=Table, No VdW, water=SPC/TIP3P-SPC/TIP3P)
> nb303_sse (Coul=Table, No VdW, water=TIP4P-other atom)
> nb304_sse (Coul=Table, No VdW, water=TIP4P-TIP4P)
> nb311_sse (Coul=Table, VdW=L-J, water=SPC/TIP3P-other atom)
> nb312_sse (Coul=Table, VdW=L-J, water=SPC/TIP3P-SPC/TIP3P)
> nb313_sse (Coul=Table, VdW=L-J, water=TIP4P-other atom)
> nb314_sse (Coul=Table, VdW=L-J, water=TIP4P-TIP4P)
> nb331_sse (Coul=Table, VdW=Table, water=SPC/TIP3P-other atom)
> nb332_sse (Coul=Table, VdW=Table, water=SPC/TIP3P-SPC/TIP3P)
> nb333_sse (Coul=Table, VdW=Table, water=TIP4P-other atom)
> nb334_sse (Coul=Table, VdW=Table, water=TIP4P-TIP4P)
> 2009/8/12 Camilo Andrés Jimenez Cruz <camilo.jimenezc at gmail.com>:
>> Hi!
>> Pieter, thanks for the hint.  I tried simulating a box with just TIP3P
>> water by using this option, but the results I get for energy  and
>> structure (rdf) are very different to the ones I get without this
>> option. Is there something I am missing out?
>> By the way, I am required now to implement the changes in gromacs
>> v3.3.3, so I am looking at the code in gmxlib/nonbonded/nonbonded.c.
>> So far, I get that, the function to change is the one pointed by
>> kernelptr, and that those functions are written in assembler for each
>> architecture. But I haven't been able to find which one of the
>> assembler codes for my architecture
>> (/data/gaia-disk05/jimenc/AcceleratedMolecularDynamics/local/gromacs/src/gromacs-3.3.3/src/gmxlib/nonbonded/nb_kernel_x86_64_sse)
>> is the one being executed. Is there an easy way to find this out?
>> Thanks in advance!
>> On Sun, Aug 9, 2009 at 4:21 AM, Pieter van 't
>> Hof<pieter.van.t.hof at logica.com> wrote:
>>> Hi,
>>> In Gromacs 4 you can set the environment variable GMX_NB_GENERIC (using
>>> in bash:$ export GMX_NB_GENERIC=1)
>>> Then plain C loops in src/gmxlib/nonbonded/nb_generic.c will be used.
>>> This is where the forces per atom are calculated. From there on you can
>>> implement the function you want.
>>> On Sat, 2009-08-08 at 17:22 -0400, Camilo Andrés Jimenez Cruz wrote:
>>>> Hi everybody.
>>>> I would like your advise in modifying the source code of gromacs, in
>>>> such a way that the force is calculated by using a modified potential
>>>> that goes like V' = V + function(V), where function(V) is a simple
>>>> function of V (or Force = Force + function(Force)).
>>>> I just started checking the code, but I thought your help could save
>>>> me many days.
>>>> I am using gromacs-4.0.5, but I don't have a requirement to stick to
>>>> this version.
>>>> Thanks in advance!
>>> Please help Logica to respect the environment by not printing this email  / Pour contribuer comme Logica au respect de l'environnement, merci de ne pas imprimer ce mail /  Bitte drucken Sie diese Nachricht nicht aus und helfen Sie so Logica dabei, die Umwelt zu schützen /  Por favor ajude a Logica a respeitar o ambiente nao imprimindo este correio electronico.
>>> This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
>>> _______________________________________________
>>> gmx-developers mailing list
>>> gmx-developers at gromacs.org
>>> http://lists.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.
>> --
>> Camilo Andrés Jiménez Cruz

More information about the gromacs.org_gmx-developers mailing list