Introduction
MasterControl is a collection of Controls used by an Algorithm. It is owned by Algorithm and shared among all the ResponseRoutines used by that Algorithm. It does not own any of the Controls, it just links to appropriate Controls found in OptimizationProblem. Thereafter, MasterControl can govern over these Controls.
Working space
As explained above MasterControl will work in the control space and physical space.
Data flow and work flow
It is responsible for converting control space designs (i.e. \(\underline{\hat{\phi}}\)) to physical space designs (i.e. \(\underline{\phi}\)). This is done via the MasterControl::Update method as illustrated in Figure 1. It disassemble the control domain CollectiveExpression (i.e. \(\underline{\hat{\phi}}\)) passed to the master control, to smaller ContainerExpressions control domains (i.e. \(\underline{\hat{\phi}}_1\), \(\underline{\hat{\phi}}_2\)) and then use respective Control to transform to smaller physical domains ContainerExpressions (i.e. \(\underline{\phi}_1\), \(\underline{\phi}_1\)). Then another CollectiveExpression is built aggregating all the smaller physical domains to a larger physical domain (i.e \(\underline{\phi}\)) to get the final physical domain.
Figure 1: Update method of Master Control
It is also responsible for converting physical domain gradients given in a CollectiveExpression (i.e. \(\frac{dJ_1}{d\underline{\phi}}\)) to the control domain gradients given by again a CollectiveExpression (i.e. \(\frac{dJ_1}{d\underline{\hat{\phi}}}\)) by calling MasterControl::MapGradient as illustrated in Figure 2. There, the passed CollectiveExpression is disassembled to smaller physical domain ContainerExpressions (i.e. \(\frac{dJ_1}{d\underline{\phi}_1}\), \(\frac{dJ_1}{d\underline{\phi}_2}\)). Thereafter, these are passed through their respective Controls to convert to control domain ContainerExpressions (i.e. \(\frac{dJ_1}{d\underline{\hat{\phi}}_1}\), \(\frac{dJ_1}{d\underline{\hat{\phi}}_2}\)). Thereafter, final gradient is computed as a CollectiveExpression by aggregating all the control domain gradients (i.e. \(\frac{dJ_1}{d\underline{\hat{\phi}}}\)).
Figure 2: MapGradient method of Master Control
Notes
MasterControldoes not own any of theControls, but once assigned, theseControls are governed byMasterControl.- There should be only one
MasterControlfor an optimization analysis.