Feedback
Feedback is use to modify an input variable so that some computed variable equilibrates to a given value. As an example of use, many plasma devices are stable with only a constant current source, but the input parameter is the voltage. In this case, the voltage is varied to get the current to be a certain value.
For the general case we have the following quantities
- H is the history that we want to get to a value by feedback. 
- D is the value that we want it to get to. 
- P is the parameter that we can change, such that increasing P causes H to increase in the region of stable operation. 
- S1 = H (unaryScalarOpUpdater with historySTFunc, message) 
- S2 = (1-a)*S2 + a*S1 = averaged history (scalarBinOpUpdater, add, no message) 
- F = F + b*(D - S2) = feedback (userFuncScalarUpdater, no message) 
- V = min(Vmax, max(Vmin, c*F)) = new value of feedback variable (userFuncScalarUpdater, no message) 
- Set boundary condition = scalarFieldBinOpUpdater, add, aCoeff=1, bCoeff=0