[gmx-developers] Re: Re:Re:Re:Re:Re: Energy Minimization

Berk Hess hess at cbr.su.se
Thu Jun 25 10:01:24 CEST 2009


Igor Leontyev wrote:
>> (Berk Hess)
>> The first issue is a technical one.
>> In general one can have conflicting demands, one can freeze atoms
>> as well as require constraints. The question is what to do with frozen
>> atoms between which there are constraints that are not at the correct
>> length
>> in the initial structure. I chose to use masses for frozen atoms that
>> are 10^24
>> higher then normal. In that way constraints between frozen atoms will
>> be correct, whereas frozen atoms should move 10^24 less than non-frozen
>> atoms connected by constraints. Therefore I would expect that your
>> water oxgyens should move very little.
>> By how much did they move?
>
> Hi.
> Frozen TIP3P oxygens,  whose hydrogens have been optimized, are
> shifted up to 0.8 A.
I just noticed that settle for the coordinates (the forces were correct)
does not support partially frozen water molecules.
Try replacing in src/mdlib/mdatom.c:
      if (opts->nFreeze[g][XX] && opts->nFreeze[g][YY] &&
opts->nFreeze[g][ZZ])
    /* Set the mass of completely frozen particles to ALMOST_ZERO iso 0
     * to avoid div by zero in lincs or shake.
     * Note that constraints can still move a partially frozen particle.
     */
    md->invmass[i]    = ALMOST_ZERO;
      else
by
      if (opts->nFreeze[g][XX] && opts->nFreeze[g][YY] &&
opts->nFreeze[g][ZZ]) {
    /* Set the mass of completely frozen particles to ALMOST_ZERO iso 0
     * to avoid div by zero in lincs or shake.
     * Note that constraints can still move a partially frozen particle.
     */
    md->massT[i] = 1/ALMOST_ZERO;
    md->invmass[i]    = ALMOST_ZERO;
      } else

Berk




More information about the gromacs.org_gmx-developers mailing list