## MMT Primary Mirror Cell -- Support Forces

The entire purpose of the Cell computer is to properly support the telescope mirror.
The foremost goal is to support the mirror safely (without breaking the glass).
The next most important goal is to support the mirror in such a way as to provide
an optimal mirror figure.
### The outer loop

There are actually 6 outer loops that run in parallel.
There are 3 for the X, Y, and Z forces, and 3 for each of the moments Mx, My, and Mz.
This vector of 6 values is the overall force (and moment) needed to support the mirror
when the mirror is simply viewed as a stiff lump that needs to be levitated.
Each "loop" is a PI servo, driven by a load cell reading (the load cells are mounted on
the telescope hard points).
### The force distribution matrix

The mirror is actually supported by a set of pneumatic force actuators.
There are 104 actuators.
50 of these are "single" actuators, which act only in the Z direction.
50 of these are "dual" actuators, which can act in both Y and Z directions.
4 of these are cross-lateral actuators, which can act both in X and Z.
Effectively what is done is that the vector of 6 forces and moments calculated by the
outer loop is multiplied by a 158 by 6 matrix to obtain the 158 force commands.
This matrix is referred to as the "K" matrix.
In practice an actual 158 by 6 matrix is not used, many terms are degenerate, with
values of zero and a more optimized calculation is actually performed.

### Derivation of the K-matrix values

As a first approximation, the values in the K matrices are derived from a set of
values arrived at by finite element analysis. The raw finite element values are
denoted the "g00" values, and were used to initially support the mirror during
testing at the mirror lab. At the mirror lab, it was possible to support the
mirror while zenith pointing under the interferometer and produce a second set
of forces (corrections to the g00 values), now known as the "b00" values.
These values were determined and calculated by Buddy Martin, and are now
always used at the telescope. The facility still exists in software to support
the mirror using only the g00 values, but there is no reason why this should
ever be desirable in any way. Software allows a third set of force corrections,
known as the "c00" values to be applied to the mirror. At the present time,
these values are calculated by the wavefront sensor software.
The initialization of the K matrices is done by the function k_setup() in the
file cell_inf.c. Introduction of force adjustments is done by the function
inf_calc() -- also in the file cell_inf.c.

### Force limits and error checking

Software carefully validates any force corrections before applying them to the mirror.
Each actuator has an upper and lower force limit. At the present time these are
some percentage above or below the nominal finite element value. Note that the
mirror lab corrections may in some cases already have consumed some of the available
range of adjustment. Also note that the actual force required by an actuator depends
on the elevation angle. Maximum Z forces are required at zenith, and maximum Y forces
are required near norizon.
###