[gmx-developers] angle restraints

hessb at mpip-mainz.mpg.de hessb at mpip-mainz.mpg.de
Fri Mar 24 16:02:48 CET 2006

```> Berk,
>
>> I think this case is not defined so uniquely.
>> I assume you want to distinguish \| from /|.
>> But is the angle \| equal to |/ (rotated system)?
>> And \| with one vector moved through pbc is | \.
>> So with the definition I assume you would like
>> to have the angle depends on the distance between
>> the vectors and the sign will change when the shortest
>> distance between the vectors switches pbc.
>
> Hmm. Good point. But, this is handled for g_angle, right? That is, I
> can compute the (correct) angle between two vectors using g_angle. I
> would like to then be able to fix that same angle using simple
> harmonic restraints. Unfortunately, it isn't now possible to do so; I
> have to use this cosine functional form. It seems to me if I can
> measure it, I should also be able to fix the value... Unless the same
> problem applies to how it's measured? (If so, this should probably be
> pointed out in the docs). I am not sure I've checked that the angles
> computed with g_angle lie on 0 to 360 (or -180 to 180) rather than 0
> to 180 as would happen if these cases aren't distinguished.
>
> If you still think this is a problem, I'm open to any suggestions on
> how I can make the angle I'm interested in rotate through 360^o
> without getting stuck at the alternate zero of the force...

g_angle has the same problem.
If I am not wrong it only outpus angles between 0 and 180.
It uses the cosine (inner product of two vectors).

Berk.

```