[gmx-developers] calculating poteintial energy into do_md()

francesco oteri francesco.oteri at gmail.com
Mon Jul 16 14:08:49 CEST 2012

Dear Berk

2012/7/16 Berk Hess <hess at kth.se>

>  On 7/16/12 13:05 , francesco oteri wrote:
>  Dear gromacs developers,
> I am trying to implement in gromacs 4.5.5 a particular Hemiltonian Replica
> Exchange tecnique.
> Right now, at every exchange attempt in do_md, I figured out  how to
> access at the potential
> energy of replica A (=configuration A at temperature A) and B
> (=configuration B at temperature B) and so on.
> In my case, each replica has the same temperature, but there is a
> different Hemiltonian equation for every replica.
> The different Hemiltonian are obtained simply changing the force field
> parameters in the input topology so I dont
> need to modify anything in gromacs.
>  But at every exchange attempt I have to test if the configuration B can
> exist in the state A so I need to calculate
> its potential energy using the force field data of replica A.
>  I found that function sum_epot calculates the potential energy but I
> suspect that it uses values calculated in
> do_force since sum_epot is called by do_force_lowlevel in turn called by
> do_force.
>  So my question is, should I call do_force in replica A with coordinates
> from replica B reach my goal?
> Yes.
> Are you changing bonded and/or non-bonded parameters?
> Some non-bonded parameters might be preprocessed, so you might need
> reprocess those
> and them reprocesses again to get back to the original state.
Which parameters need such a preprocessing?

> Note that 4.6 will have proper Hamiltonian replica exchange, but that will
> use the lambda coupling
> parameter approach. If you need to do something similar, it might be much
> simpler to use this code.

Actually I did it but I the performance decrease a lot (2x).
In particular I run the same run with free_energy  = yes and free_energy =
no and in the second case the run is 2times faster.
I found in the mailing list that this performance drop is known.

Since I dont need to change lambda along the simulation, I prefer using a
modified input topology and running a normal REMD changing something in
repl_ex.c and md.c.

Of course, any suggestions to improve performance are wellcome :)

> Berk
>  Thanks in advance,
>  Francesco
> --
> 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.

Cordiali saluti, Dr.Oteri Francesco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20120716/40e350cf/attachment.html>

More information about the gromacs.org_gmx-developers mailing list