AWA Drive Linac
Input files: optLinac.dataoptLinac.tmpl
10 design variables
- Laser radius
- FWHM of laser pulse
- Solenoid strength
- Gun phase
- Linac cavity phase L1-L6
Emittance (emitx) and bunch length (rms_s) are recorded/optimized at 12.51 m.
optLinac-1
Reduced problem in order to have one forward solution in less than 2 minutes:
- Cores= 128
- Gens = 1000
- Indiv = 127
- Grid = 8x8x16
- Np = 5000
- T1 = 5e-13
- T2 = 5e-12
- Total time for optimisation: 1271 (s)
Generation 1
Generation 999
- Cores= 128
- Gens = 1000
- India = 127
- Grid = 16x16x32
- Np = 10000
- T1 = 5e-13
- T2 = 5e-12
- Total time for optimisation: 4157 (s)
Generation 1
Generation 999
optLinac-3
- Cores= 128
- Gens = 100
- India = 127
- Grid = 16x16x32
- Np = 50000
- T1 = 5e-13
- T2 = 5e-12
- Total time for optimisation: 1995.01 (s)
Generation 1
Generation 100
G2 Optimisation
7 design variables
- 7 quadrupole field gradients (all gantry 2 quadrupoles)
To optimize are the beam size (and the transmission) at the gantry isocenter (52.165m). The simulation started with a pre defined beam and also included the last quadrupole triplet (untouched settings) before the gantry (31.5926 - 52.50m).
- Cores= 64
- Gens = 100
- Initial population = 63
- Final population = 125
- NumParticles = 8000
- Timestep = 1e-11s
Generation 1
Generation 100
Generation 100 with constraint
constrs: CONSTRAINTS = (abs(drmsx-drmsy)>0.001);
Results in comparison with opal to the previous "by hand" tune.
Isocenter:
Left: Tune by hand
Right: OptPilot tune
Including Transmission
Runtime each Simulation: 51s
NumParticles over rmsx @Isocenter:
NumParticles over rmsx @Isocenter:
NumParticles over rmsx @Isocenter (zoom):
PSI Ring Turnseparation
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.
For more info see PSI Turn Separation.
Gantry Optimisation
Simple setup one dipole. Shift initial distribution in x-y plane and search for minimal emittance. Run 1000 generations.
Generation 1
Generation 100
Generation 999
Open questions and new runs
- Possibility to run optPilot while keeping the input files and maps on afs -> Achim is checking
- Read from a file: structure for optPilot
# Element PROB_2 x (mm), y (mm), z (mm), px ( ), py ( ), pz ( ), id, turn, time (ns)
PROB_2 0.618627 2325.63 150 0.848461 -0.062113 0 2 1 16.1428
PROB_2 0.606715 2300.1 150 0.741857 -0.000575306 0 1 1 17.0473
PROB_2 0.697536 2494.72 -832.791 0.534304 0.320705 -0.402196 0 1 18.6247
- New run:
//dv0: DVAR, VARIABLE="BEAM_RINIT", LOWERBOUND="-900", UPPERBOUND="-1100";
//dv1: DVAR, VARIABLE="FIELD_UNITS", LOWERBOUND="8.0", UPPERBOUND="11.0";
//dvars: DVARS=(dv0,dv1);
//oey:OBJECTIVE,EXPR="fabs(sameSDDSVariableAt("rms_x",7.05) - 0.005)";
//oes:OBJECTIVE,EXPR="fabs(sameSDDSVariableAt("rms_s",7.05) - 0.005)";