[gmx-developers] Contribution of inter-molecular distance restraints to the virial
Berk Hess
hess at kth.se
Fri May 8 10:49:29 CEST 2015
Hi,
No normal interactions are explicitly listed in calcvir.
Anything forces that are added to the normal force buffer (and
fr->fshift) before calc_virial is called are accounted for "automatically".
Berk
On 2015-05-08 10:37, Alexander Kuhn wrote:
> Hi,
>
> we understand it so far.
> But are distance restraints considered as
> 'normal' bonded interactions in this respect?
> We can't find it in calcvir.c.
>
> Cheers,
> Alex
>
>
>> Hi,
>>
>> For all normal bonded and non-bonded interactions the virial
>> contribution is determined "automatically" in calc_virial. This is done
>> using a single sum and so called shift forces (see manual).
>> The COM pull force is special and is added after calc_virial and the
>> virial contribution is (has to be) calculated separately.
>>
>> Cheers,
>>
>> Berk
>>
>
> On 05/05/2015 09:32 AM, Alexander Kuhn wrote:
>>> Hi,
>>> we use half-harmonic distance restraints between COM of a solute and a
>>> number of waters around it.
>>> Does Gromacs (gromacs-4.6.3) account for the contribution of these
>>> inter-molecular distance restraints to the virial?
>>>
>>>
>>> Where can it be found/included in the code? In disre.c ?
>>>
>>> We found the virial contribution to the pull code in pull.c:
>>>
>>> if (vir && bMaster) {
>>> /* Add the pull contribution to the virial */
>>> for(j=0; j<DIM; j++)
>>> {
>>> for(m=0; m<DIM; m++)
>>> {
>>> vir[j][m] -= 0.5*f[j]*r_ij[g][m];
>>> }
>>> }
>>> Can it be done in a similar way for the distance restraints?
>>>
>>> Thanks, Alex
>>>
>>>
>
>
> On 2015-05-05 09:32, Alexander Kuhn wrote:
>> Hi,
>> we use half-harmonic distance restraints between COM of a solute and a
>> number of waters around it.
>> Does Gromacs (gromacs-4.6.3) account for the contribution of these
>> inter-molecular distance restraints to the virial?
>>
>>
>> Where can it be found/included in the code? In disre.c ?
>>
>> We found the virial contribution to the pull code in pull.c:
>>
>> if (vir && bMaster) {
>> /* Add the pull contribution to the virial */
>> for(j=0; j<DIM; j++)
>> {
>> for(m=0; m<DIM; m++)
>> {
>> vir[j][m] -= 0.5*f[j]*r_ij[g][m];
>> }
>> }
>> Can it be done in a similar way for the distance restraints?
>>
>> Thanks, Alex
More information about the gromacs.org_gmx-developers
mailing list