// test for betatron oscillation frequency calculation for PSI Ring cyclotron. // called by tuning.bash and work together with FIXPO EORBIT output data. // The require the distribution file two particles: first one is reference particle, // and the other is off center particle with a dx and dz: // 2 // 0.0 0.0 0.0 0.0 0.0 0.00 // 0.01 0.0 0.0 0.0 0.01 0.00 // When the total particle number equals to 2, SEO mode is triggered automatically, // nevertheless of the existance of the cavity and other components. OPTION, VERSION = 20200; OPTION, ECHO= FALSE; OPTION, PSDUMPFREQ= 24500000; OPTION, SPTDUMPFREQ= 50; OPTION, PSDUMPEACHTURN= FALSE; OPTION, PSDUMPFRAME= GLOBAL; TITLE,STRING= "PSI Ring"; CALL,FILE= "data.dat"; // generated by the bash script REAL Edes = energy/1000.0; //GeV REAL r0 = r; //mm REAL pr0 = pr/1000.0; //m_0*c REAL f1 = 50.65; REAL gamma = (Edes+PMASS)/PMASS; REAL beta = sqrt(1-(1/gamma^2)); REAL gambet = gamma*beta; REAL P0 = gamma*beta*PMASS; IF (OPALVERSION >= 20100){ tc1: TRIMCOIL, TYPE="PSI-BFIELD-MIRRORED", RMIN = 4350.0, RMAX = 4470.0, BMAX=1.4e-3, SLPTC=0.6; } ELSE { tc1: TRIMCOIL, TYPE="PSI-RING-OLD", RMIN = 4350.0, RMAX = 4470.0, BMAX=1.4e-3, SLPTC=0.6; } Ring: CYCLOTRON, TYPE="RING", CYHARMON=6, PHIINIT=0.0, PRINIT=pr0, RINIT=r0 , SYMMETRY=8.0, RFFREQ=f1, FMAPFN="bfield.dat", TRIMCOIL=tc1; L1: LINE = (Ring); Dist1:DISTRIBUTION, TYPE=FROMFILE, FNAME="dist1.dat"; Fs1:FIELDSOLVER, FSTYPE=NONE, MX=64, MY=64, MT=64, PARFFTX=true, PARFFTY=true, PARFFTT=false, BCFFTX=open, BCFFTY=open, BCFFTT=open; Beam1: BEAM, PARTICLE=PROTON, PC=P0, NPART=2, BCURRENT=1.0E-6, CHARGE=1.0, BFREQ= f1; SELECT, LINE=L1; TRACK, LINE=L1, BEAM= Beam1, MAXSTEPS= 720*100, STEPSPERTURN= 720; RUN, METHOD= "CYCLOTRON-T", BEAM= Beam1, FIELDSOLVER= Fs1, DISTRIBUTION= Dist1; ENDTRACK; STOP;