FIXEDATOM
This is part of the vatom module

Add a virtual atom in a fixed position.

This action creates a virtual atom at a fixed position. The coordinates can be specified in cartesian components (by default) or in scaled coordinats (SCALED_COMPONENTS). It is also possible to assign a predefined charge or mass to the atom.

Attention
Similar to POSITION this variable is not invariant for translation of the system. Adding a force on it can create serious troubles.

Notice that the distance between to atoms created using FIXEDATOM is invariant for translation. Additionally, if one first align atoms to a reference using FIT_TO_TEMPLATE, then it is safe to add further fixed atoms without breaking translational invariance.

The atoms involved can be specified using
ATOMS the list of atoms which are involved the virtual atom's definition. For more information on how to specify lists of atoms see Groups and Virtual Atoms
Compulsory keywords
AT coordinates of the virtual atom
SET_MASS ( default=1 ) mass of the virtual atom
SET_CHARGE ( default=0 ) charge of the virtual atom
Options
SCALED_COMPONENTS

( default=off ) use scaled components

Examples

The following input instructs plumed to compute the angle between distance of atoms 15 and 20 and the z axis and keeping it close to zero.

a: FIXEDATOM AT=0,0,0
b: FIXEDATOM AT=0,0,1
an: ANGLE ATOMS=a,b,15,20
RESTRAINT ARG=an AT=0.0 KAPPA=100.0

The following input instructs plumed to align a protein on a template and then compute the distance of one of its atom from the point (10,20,30).

FIT_TO_TEMPLATE STRIDE=1 REFERENCE=ref.pdb TYPE=SIMPLE
a: FIXEDATOM AT=10,20,30
d: DISTANCE ATOMS=a,20
PRINT ARG=d FILE=colvar