[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