Re: question on Berendsen's temperature coupling method

From: Jim Phillips (jim_at_ks.uiuc.edu)
Date: Thu Jan 22 2004 - 17:19:22 CST

Hi,

The coupling constants have units of 1/ps, so you would put 2.5 in the B
column of the PDB file. Here's a snip of the relevant source code:

void Sequencer::tcoupleVelocities(BigReal dt_fs, int step)
{
  if ( simParams->tCoupleOn )
  {
    FullAtom *a = patch->atom.begin();
    int numAtoms = patch->numAtoms;
    BigReal coefficient = broadcast->tcoupleCoefficient.get(step);
    Molecule *molecule = Node::Object()->molecule;
    BigReal dt = dt_fs * 0.001; // convert to ps
    coefficient *= dt;
    for ( int i = 0; i < numAtoms; ++i )
    {
      int aid = a[i].id;
      BigReal f1 = exp( coefficient * molecule->langevin_param(aid) );
      a[i].velocity *= f1;
    }
  }
}

This is a pretty old method. I'd suggest using Langevin personally.

-Jim

On Tue, 20 Jan 2004, Hyonseok Hwang wrote:

> Dear All,
>
> I would like to use the 'Berendsen's temperature coupling method' in
> NAMD. In that method, a coupling constant of 0.4ps is generally
> recommended. Then my question is what value I should put in the B
> column, which is now designated as the 'tCouplecol'. Do I should put 0.4?
>
> Thank you very much.
>
> -Hyonseok Hwang
>

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:38:22 CST