examples: The trajectory of the booster BPMs is controlled with this command:
sddsoptimize -measFile=booster.h.moni -varFile=vv -simplex=evaluations=50,divisions=12
-knobFiles=booster.cokn -verbose
where 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
.....
.....
synopsis:
usage: sddsoptimize [-measFile=<file>|-measScript=<script>] [-varScript=<script>]
[-restartFile=<file>] [-pendIOtime=<seconds>] [-conditioning=<script>]
-varFile=<file> -knobFiles=<file1>[,<file2>...]
[-simplex=[restarts=<nRestarts>][,cycles=<nCycles>][,evaluations=<nEvals>][,no1dscans]
[,divisions=<int>][,randomSigns]]
[-rcds=[cycles=<number>][,evaluations=<number>][,step=<value>][,noise=<value>][,dmatFile=<file>]
[,useMinForBracket][,verbose]]
[-1dscan=[divisions=<value>][,cycles=<number>][,evaluations=<value>][,refresh]]
[-logFile=<file>] [-extraLogFile=<file>] [-dryRun] [-verbose] [-tolerance=<value>] [-maximize]
[-target=<value>] [-testValues=file=<file>[,limit=<count>]]
[-runControlPV={string=<string>|parameter=<string>},pingTimeout=<value>,pingInterval=<value>]
[-runControlDescription={string=<string>|parameter=<string>}]
Perform optimization on APS control system process variables using simplex, 1dscan, or RCDS methods.