Z-matrices

Cuby can read geometry as z-matrix in a format similar to the one used in Gaussian. The values of the coordinates can be supplied either inline or using named variables. Here is an example (ethane molecule) using inline values

C
C   1 1.650
H   1 1.089    2 109.471
H   1 1.089    2 109.471    3 125.0
H   1 1.089    2 109.471    3 241.0
H   2 1.089    1 109.471    3 183.0
H   2 1.089    1 109.471    3 310.0
H   2 1.089    1 109.471    3  62.0

and using named variables (note that multiple coordinates are now represented by a single variable)

C
C   1 cc
H   1 hc        2 hcc
H   1 hc        2 hcc         3 dih4
H   1 hc        2 hcc         3 dih5
H   2 hc        1 hcc         3 dih6
H   2 hc        1 hcc         3 dih7
H   2 hc        1 hcc         3 dih8

cc         1.650000
hc         1.089000
hcc        109.471
dih4        125.000
dih5        241.000
dih6        183.000
dih7        310.000
dih8         62.000

Freezing/thawing coordinates for optimization

When the z-matrix is used for optimization, it is possible to optimize only some coordinates and freeze the others. There are two labeling schemes that can be used (but not both at the same time):