Re: AMBER: understanding SANDER source code

From: David E. Konerding <>
Date: Mon, 22 Mar 2004 08:15:49 -0800

myang wrote:

> I am trying to understand sander source code line by line, and find
> it's rather frustrating. Can anyone share his/her experience? Or where
> can I find the basic frame, like a flow chart, for sander. Thanks!
> Best & Regards,
> Yang

Back in my grad school days when I had more free time I inspected the
sander source closely enough to reproduce
the energy functions (energies and forces) for the convential terms. It
was a rather tedious experience and the limited comments in the code
meant I usually had to guess (I periodically had to referr to the
literature to understand the derivatives) what was going on.

Nevertheless, the basic structure can be understood best if you limit
yourself to sander.f (the main driver), runmin.f/runmd.f (the minimizer
and dynamics engines) and force.f/ene.f (the energy and force
calculation routines). The flow is pretty obvious if you're
accustomed to fortran, can ignore the MPI fragments, and are willing to
trace the code either with the profiler
or by hand.

Most of sander is driven by sander.f, with calls to force.f (which in
turn calls the energy routines in ene.f) then either a call into runmd.f
or runmin.f. Once you undetstand the structure of that set of calls,
you're pretty much home free.

Pedagogically, TINKER might be good but I strongly suspect MINDY
could be more informative.

Whatever you do, don't read the source code to NAMD unless you want to
go insane.


The AMBER Mail Reflector
To post, send mail to
To unsubscribe, send "unsubscribe amber" to
Received on Mon Mar 22 2004 - 16:53:00 PST
Custom Search