 
 
 
 
 
 
 
  
The constraints directive allows the user to specify which constraints should be imposed on the system during the geometry optimization. Currently such constraints are limited to fixed atom positions and harmonic restraints (springs) on the distance between the two atoms. The general form of constraints block is presented below:
  CONSTRAINTS [string name ] \
           [clear] \
           [enable||disable] \
           [fix atom <integer list>] \
           [spring bond <integer atom1> <integer atom2> <real k> <real r0> ]
  END
The keywords are described below 
  CONSTRAINTS one
    spring bond 1 3 5.0 1.3
    fix atom 1
  END
   
  #the above constraints can be loaded using set directive
  set constraints one
  ....
  task ....
  constraints
    fix atom 1 3 4 5 6
  end
Second method uses list input
  constraints
    fix atom 1 3:6
  end
Third approach illustrates the use of multiple fix atom directives
  constraints
    fix atom 1
    fix atom 3:6
  end
 > - places a spring with a spring constant
> - places a spring with a spring constant  and equilibrium length
 and equilibrium length  between atoms
between atoms  and
 and  (all in atomic units). Please note that this type of constraint adds an additional term to 
the total energy expression
 (all in atomic units). Please note that this type of constraint adds an additional term to 
the total energy expression
 
 and
 and  to be in the vicinity of
 to be in the vicinity of  but never exactly that. In general
the spring energy term will always have some nonzero residual value, and this has to be accounted for when comparing total
energies. The "spring bond" directive can be repeated within a given constraints block. If the spring between the same pair of atoms
is defined more than once, it will be replaced by the latest specification in the order it appears in the input block.
 but never exactly that. In general
the spring energy term will always have some nonzero residual value, and this has to be accounted for when comparing total
energies. The "spring bond" directive can be repeated within a given constraints block. If the spring between the same pair of atoms
is defined more than once, it will be replaced by the latest specification in the order it appears in the input block.
 
 
 
 
 
 
