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