|
|
**PSI Ring Turn separation**
|
|
|
====================
|
|
|
|
|
|
The PSI Ring parameters are not well-known. The goal of this study is to find good simulation parameters that match the measurements. As objectives we use the radial turn locations. As optimisation parameters we use the injection angle, radius, energy and radial momentum.
|
|
|
|
|
|
The OPAL probe code has been extended to find the radial turn locations in the same way as in the measurement, see figure below.
|
|
|
|
|
|

|
|
|
RRI2 probe _simulation_ histogram (for 5000 particles) with found peak locations.
|
|
|
|
|
|

|
|
|
RRI2 probe _measurement_ with peak locations.
|
|
|
|
|
|
Test 1
|
|
|
=======
|
|
|
First trial of optimizing three objectives:
|
|
|
|
|
|
* difference between simulation and measurement of peak 1
|
|
|
* difference between simulation and measurement of peak 2
|
|
|
* difference between simulation and measurement of peak 3 up to 5
|
|
|
|
|
|
Settings
|
|
|
------------
|
|
|
* 1000 generations,
|
|
|
* 32 cores
|
|
|
* 500 particles
|
|
|
* no space charge
|
|
|
* 7 turns
|
|
|
|
|
|
```
|
|
|
IF ( _optpilot_ ) {
|
|
|
// ---- OPTIMIZER SECTION -------
|
|
|
//dphiinit: DVAR, VARIABLE="phiinit", LOWERBOUND="106", UPPERBOUND="114";
|
|
|
//drinit: DVAR, VARIABLE="rinit", LOWERBOUND="2000", UPPERBOUND="2060";
|
|
|
//dprinit: DVAR, VARIABLE="prinit", LOWERBOUND="-0.02", UPPERBOUND="-0.01";
|
|
|
//dbenergy: DVAR, VARIABLE="benergy", LOWERBOUND="0.071", UPPERBOUND="0.072";
|
|
|
//dvars: DVARS=(dphiinit,drinit,dprinit, dbenergy);
|
|
|
|
|
|
//dpeak1:OBJECTIVE,EXPR="fabs(radialPeak("RRI2.peaks", 1) - radialPeak("RawData/RRI2-0038Y17.peaks", 1))";
|
|
|
//dpeak2:OBJECTIVE,EXPR="fabs(radialPeak("RRI2.peaks", 2) - radialPeak("RawData/RRI2-0038Y17.peaks", 2))";
|
|
|
//dpeak3_5:OBJECTIVE,EXPR="sumErrSqRadialPeak("RRI2.peaks", "RawData/RRI2-0038Y17.peaks", 3, 5)";
|
|
|
|
|
|
//objs: OBJECTIVES=(dpeak1,dpeak2,dpeak3_5);
|
|
|
//constrs: CONSTRAINTS = ();
|
|
|
//opt: OPTIMIZE, OBJECTIVES = objs, DVARS = dvars, CONSTRAINTS = constrs;
|
|
|
}
|
|
|
```
|
|
|
|
|
|

|
|
|
|
|
|
Sum of all differences (simulation - measurement) of peak 1 per generation.
|
|
|
|
|
|

|
|
|
|
|
|
Sum of all differences (simulation - measurement) of peak 2 per generation.
|
|
|
|
|
|

|
|
|
|
|
|
Sum of all differences (simulation - measurement) of objective 3 per generation.
|
|
|
|
|
|
We see a nice decreasing curve for peak 1. Also the curve for peak 2 is mainly decreasing. However, the third objective is also increasing over the generations.
|
|
|
|
|
|
Results for one of the optimised results:
|
|
|
```
|
|
|
%ID %dpeak1 %dpeak2 %dpeak3_5 DVAR: %benergy %phiinit %prinit %rinit
|
|
|
25 42 4.500000e+00 3.000000e-01 5.174510e+00 7.120380e-02 1.098186e+02 -1.513638e-02 2.030688e+03
|
|
|
```
|
|
|

|
|
|
Probe measurement, simulation and measurement (scaled)
|
|
|
|
|
|

|
|
|
Radial peak differences between simulation and measurement versus peak number. |