[gmx-developers] free energy code dgdl determination

Chris Neale chris.neale at utoronto.ca
Tue Feb 10 22:02:59 CET 2009


when the free energy code is turned on, mdrun "writes the derivative of 
the Hamiltonian with respect to lambda to the energy file and to 
dgdl.xvg." (quoting manual 4.0).

Is this derivative calculated analytically or is it calculated by 
recalculating the energy using a sufficiently small dl in a discrete 
tangent approximation? If this approximation is used, what is the dl 
value used?

Also, I am unclear about the way that this is computed for the pull 
code. In do_pull_pot() from mdlib/pull.c, dVdl appears to be calculated as:

*dVdl        += 0.5*dkdl*dsqr(dev[0]);

which seems strange to me because dkdl is just the difference between 
the A and B states:

dkdl = pgrp->kB - pgrp->k;

And I would have thought (A) that lambda would have been in here 
somewhere, and also (B) that one would want to calculate dVdl using a 
smaller value of dkdl, otherwise the trapezoid integration method might 
not be applicable post run.

Thank you,

More information about the gromacs.org_gmx-developers mailing list