This subroutine fixes a list of atoms. If the atoms are unconstrained then it simply sets move_mask to 0 and advance_verlet does nothing with them. If the atom is constrained then the situation is more complicated: if only one atom in a constrained group is fixed then this must be implemented as 3 constraints (the atom is constrained to the intersection of 3 planes). This is required so that the shake and rattle algorithms work correctly with any further constraints of which the atom is a part. Move_mask is also zeroed in this case.