AMBER Archive (2009)

Subject: [AMBER] Re: AMBER: How do you evaluate forces on a fixed atom?

From: Bill Kowallis (
Date: Wed Feb 18 2009 - 19:55:47 CST

Hi everyone.
    Here is a resolution for this thread from a little while ago, shown
below. I can't take credit for solving this, as I consulted with Kim Wong
here at Pitt, whom I must again thank for his time and efforts, and we
worked out a way to print out the forces on fixed atoms in the system to a
file called force.out. You can also specify for individual atoms or select
any dimension, as I've commented in the file ene_frozen_forces.f, which
includes the main subroutine for this task. Please see the attached files
that can be copied into the sander directory and renamed to replace the
originals, (and you can rename the original files, e.g. force.f_old) or
link these new files to the original names with:
     ln -s dynlib_frozen_forces.f dynlib.f
Note that you'll also have to do make clean and make the assign the
changes to the executables.
    Changes to the source code are commented by FROZEN_FORCES before
and after the new lines. These files are from the amber9 distribution;
from what Dr. Case wrote below, it seems that these changes can be applied
to other amber versions as well.
    I'd like to also make these changes within the pmemd module and post
it, but I haven't had time to work on it yet. If anyone else would like to
make these changes in pmemd and post what they did, that would be great.
This is a nice feature to have if you would like to evaluate force
autocorrelation functions, since the atom(s) must be held immobile.

>> On Mon, Dec 01, 2008, Bill K wrote:
>>> Has anyone tried to extract the systematic forces on a fixed
>>> atom, or may know how to do it? I'm using amber7 and, if you have an
> atom fixed in the system, the forces on it are canceled before they can
> evaluated. That is to say, output prints values of 0.0 0.0 0.0 for the
force on a fixed atom, even though it experienced forces from the
surrounding atoms. Looking at the code, this occurs because ibelly sets
these values to zero. It looks like this task is not possible without
changing the source code.
>> I agree: you would have modify the code to print out the forces before
> the ibelly step sets them to zero. I'm pretty sure this
>> has not changed in more recent releasees.
>> ...dac
> Dr. Case,
> Thank you very much for your reply. Is there any short
> script/insertion point to print out the forces of a select
> atom that you may recommend that won't break the code? I'd rather ask
the expert before posting a solution on here that may cause new problems
for people - it seems like it may be a potentially useful tool for users.
If not, I can keep testing things until I'm
> confident in an answer. Please don't waste your time on it.
> I appreciate your time and consideration.
> -Bill
> -----------------------------------------------------------------------
The AMBER Mail Reflector
> To post, send mail to
> To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
> to

AMBER mailing list