sddsoptimize
optimizes the RMS of a set of readback process variables by automatically varying setpoint process variables (or knobs composed of setpoint PVs), which have a physical influence on the readback process variables, through simplex or 1dscan method.
sddsoptimize -measFile= booster.h.moni -varFile=vv -simplex=evaluations=50,divisions=12 \ -knobFiles=booster.cokn -verbosewhere the contents of the file
booster.h.moni
are
SDDS1 &column name = "ControlName", type = "string", &end &column name = "ReadbackName", type = "string", &end &column name = "ReadbackUnits", type = "string", &end &data mode = ascii, no_row_counts=1 &end oag:B1C0P1:ms:x B1C0P1:ms:x mm oag:B1C0P2:ms:x B1C0P2:ms:x mm oag:B1C1P1:ms:x B1C1P1:ms:x mm oag:B1C1P2:ms:x B1C1P2:ms:x mm .......the contents of the file
vv
are
SDDS1 ¶meter name=PauseAfterChange, type=double, &end &column name=ControlName, type=string, &end &column name=LowerLimit, type=double, &end &column name=UpperLimit, type=double, &end &column name=InitialChange, type=double, &end &data mode=ascii,no_row_counts=1,&end oag:B1C1H:KickAO -2 2 2 oag:B1C2H:KickAO -2.500000000000000e+01 2.500000000000000e+01 2.000000000000000e-01 oag:B1C3H:KickAO -2.500000000000000e+01 2.500000000000000e+01 2.000000000000000e-01 B:h11cos -25 25 0.1 B:h12sin -25 25 0.1 B:h12cos -25 25 0.1 .....the contents of the file
booster.cokn
are
SDDS1 ¶meter name=ControlName, type=string, &end ¶meter name=KnobDescription, type=string, &end ¶meter name=Gain, type=double, &end ¶meter name=ControlType, type=string, &end ¶meter name=ControlUnits, type=string, &end ¶meter name=Filename, description="Name of file from which this page came", type=string, &end ¶meter name=NumberCombined, description="Number of files combined to make this file", type=long, &end &column name=ControlName, type=string, &end &column name=Weight, type=double, &end &data mode=asc_ii,no_row_counts=1. &end .... .... !.page 2 B:h11cos h plane 11th harm. cos (1 mrad/click) 1.0 pv rad 11HarmCosineh.cokn 8 oag:B1C0H:KickAO 0.99997256549446789 oag:B1C1H:KickAO -0.21202791415796657 oag:B1C2H:KickAO -0.93188756664225914 ..... .....
usage: sddsoptimize -measFile=<filename> -measScript=<script> [-varScript=<scriptname>] -varFile=<filename> -knobFiles=<filename1> , <filename2>,... [-simplex=[restarts=<nRestarts>][,cycles=<nCycles>,] [evaluations=<nEvals>,][no1dscans][,divisions=<int>]] [-logFile=<filename>] [-verbose] [-tolerance=<value>] [-maximize] [-1dscan=[divisions=<value>,][cycles=<number>][,evaluations=<value>][,refresh]] [-target=<value>] [-testValues=file=<filename>[,limit=<count>]] [-runControlPV={string=<string>|parameter=<string>},pingTimeout=<value>, pingInterval=<value> Perform optimization on APS control system process variables using simplex or 1dscan method.
The variable input file is an SDDS file with one string column: ControlName, which is required and gives the list of control correctors (process variables or knobs). It also contains three double columns: LowerLimit, UpperLimit, IntialChange and InitialValue. InitialValue column is optional. Others are required. InitialChange column specifies the initial changes to the correctors. Variable input file has one parameter -PauseBetweenReadings(double), which sets the waiting time in seconds between two settings of the correctors.
This file specifies the measurement to be optimized. It has four columns:
To make sddsoptimize
more robust, one can implement optimizaion on knobs,
that are composed of set point process varibles. The process variables that a knob contains are
given in knob file, which contain following parameters and columns:
The output file contains one data column for each process variables defined in the variable input file. By default, the data type is double. One row is written at every evaluation. Also two more columns and two parameters are defined:
ControlName
may be valid process
variable names or knobs defined in knob files.