Re: [AMBER-Developers] constants and constants.f

From: Jason Swails <>
Date: Mon, 11 Oct 2010 15:04:10 -0400

On Mon, Oct 11, 2010 at 2:41 PM, B. Lachele Foley <> wrote:

> I'm not claiming to be elite, but I am a big fan of being exceedingly picky
> about these things. So, I vote to make them all the same and clean up the
> tests. In fact, go to NIST and make sure they are the official, most
> recent, umpteen-decimal versions. I also vote to make all the functions use
> the same constants from one central

The problem with using everything from NIST is that, in many cases, we try
to be compatible with constants used in other packages (i.e. mopac,
gaussian, dynamo, etc.). IMO, every single package out there should have a
constants module that pulls from the most up-to-date, as-precise-as-possible
values from NIST so using, for example, 0.529177249D0 (bohrs to angstroms in
dynamo) vs. 0.52917706D0 (same in gaussian 98) doesn't actually cause any

location unless there is some very good reason a certain function needs it
> to be different.

> On that note, and showing my ignorance, is there a document somewhere that
> lists all the units and values used in Amber, including, for example, the
> amusing choice of unit for charge? If not, that's my next manual
> suggestion.

As an appendix? The constants.f file itself is fairly descriptive, and
provides sufficient documentation for the units. The Amber charge units I
believe are explicitly described somewhere, each charge having the
appropriate amount of the electrostatic constant such that the resulting
units are kcal/mol.

I got distracted writing this email and Professor Case has responded a
couple times... I suppose I'll just send what I have :).

(P.S., I'm not changing constants in sqm, just sander).


> ________________________________________
> From: Jason Swails []
> Sent: Monday, October 11, 2010 2:09 PM
> To: AMBER Developers Mailing List
> Subject: [AMBER-Developers] constants and constants.f
> Hello,
> In the course of my work I've been rummaging through runmd.f, force.f, and
> ew_force.f, and figured that while I was there I'd attempt some cleanups,
> like adding intent to variables and consolidating the use of constants.
> Particularly, Boltzmann's constant was defined separately in many different
> subroutines, so I changed it to KB from the constants module (as I think it
> should be). However, the values used in the various subroutines differed
> slightly from the value in constants.f, so now a very large number of tests
> are failing due to inconsistencies in the last reported decimal place for
> temperatures and kinetic energies in several places.
> My question is should I purge those changes or keep them and update the
> tests? Obviously, I'd have to pick through the tests and make sure that
> the
> changes are benign and caused by my changes to the value of boltz2, but I
> think it's worth consolidating the use of KB so the same value is used
> throughout the source code that originates from the same declaration.
> However, I thought I'd poll the Amber elite rather than run away with my
> ideas and assumptions.
> Thanks!
> Jason
> --
> Jason M. Swails
> Quantum Theory Project,
> University of Florida
> Ph.D. Graduate Student
> 352-392-4032
> _______________________________________________
> AMBER-Developers mailing list
> _______________________________________________
> AMBER-Developers mailing list

Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Graduate Student
AMBER-Developers mailing list
Received on Mon Oct 11 2010 - 12:30:03 PDT
Custom Search