AMBER Archive (2009)

Subject: Re: [AMBER] use of random seed in multiple runs

From: Gustavo Seabra (
Date: Fri Jun 05 2009 - 08:28:03 CDT

On Thu, Jun 4, 2009 at 10:31 AM, Robert Duke<> wrote:
> Well, I would not recommend doing that.  It looks to me like there is
> nothing to stop one from doing this in the code, but the random number
> initialization code clearly states the seed should be > 0.  I would have to
> dink with it to see what really happens when you do this.
> [...]

Bob, please correct me if I'm wrong here but, looking at the
random.fpp file in pmemd/src dir, it lloks like the seed provided by
the amber input is used to generate two internal seeds, is1 and is2:

  data is1max, is2max /31328, 30081/

! Construct two internal seeds from single unbound Amber seed:
! is1 and is2 are quotient and remainder of iseed/IS2MAX. We add
! one to keep zero and one results from both mapping to one.
! max and min functions keep is1 and is2 in required bounds.

  is1 = max((iseed / is2max) + 1, 1)
  is1 = min(is1, is1max)

  is2 = max(1, mod(iseed, is2max) + 1)
  is2 = min(is2, is2max)

So, if you enter a seed of "-1", both is1 and is2 will end up being 1.
There's nothing "illegal" about that, but then you are again always
running your calculation with the same seeds.


AMBER mailing list