¶meters !============================================================================ ! ring_ma parameters: lattice_file = "/nfs/cesr/online/machine_data/lattice/cesr/bmad/cta_2085_xr40m_cd_20111210.lat" !lattice_file = "/home/shanksj/CesrTA/lat/cta_2085_xr40m_cd_20111210.lat" meas_type = 'basic' ! switch to 'basic' for ring_ma 'classic'-style simulation auto_bookkeeper = .false. ! toggle to .true. for old-style bookkeeping comment = "" write_orbits = .false. verbose = .false. ! quiet down the printouts a bit seed = 0 ! seed < 1 = randomize !obs_point_names(1) = 'VBSM_POSITRONS' !obs_point_names(2) = 'DLINE' !obs_point_names(3) = 'VBSM_POSITRONS' n_iterations = 100 n_lm_iterations = 10 alignment_multiplier = 1. sigma_cutoff = 3. key_value1 = 0. key_value2 = 0. ! Target tunes for q_tuning. comment out if you want to use lattice default tunes. ! Set to (integer + fractional) tunes target_tunes(1) = 14.5701 target_tunes(2) = 9.6281 target_tunes(3) = -0.06588 ! ma_params_struct parameters: ! Typical key_names: sbend; quad; sextupole; wiggler ! Typical param_names: tilt; k1; roll; x_offset; y_offset; z_offset ! misalignment parameters from JSx survey, 2013.02.14 ! https://cesrweb.lepp.cornell.edu/survey !! Bends ma(1)%key_name = "sbend" ma(1)%mask = "" ma(1)%attrib_name = "x_offset" ma(1)%amp = 2.e-3 ma(2)%key_name = "sbend" ma(2)%mask = "" ma(2)%attrib_name = "y_offset" ma(2)%amp = 0.9e-3 ma(3)%key_name = "sbend" ma(3)%mask = "" ma(3)%attrib_name = "z_offset" ma(3)%amp = 2.3e-3 ma(4)%key_name = "sbend" ma(4)%mask = "" ma(4)%attrib_name = "roll" ma(4)%amp = 144.2e-6 ma(5)%key_name = "sbend" ma(5)%mask = "" ma(5)%attrib_name = "x_pitch" ma(5)%amp = 600.e-6 ma(6)%key_name = "sbend" ma(6)%mask = "" ma(6)%attrib_name = "y_pitch" ma(6)%amp = 300.e-6 ! Quads ma(7)%key_name = "quadrupole" ma(7)%mask = "" ma(7)%attrib_name = "x_offset" ma(7)%amp = 350.e-6 ma(8)%key_name = "quadrupole" ma(8)%mask = "" ma(8)%attrib_name = "y_offset" ma(8)%amp = 107.8e-6 ma(9)%key_name = "quadrupole" ma(9)%mask = "" ma(9)%attrib_name = "z_offset" ma(9)%amp = 5.2e-3 ! survey (2012.09.04) ma(10)%key_name = "quadrupole" ma(10)%mask = "" ma(10)%attrib_name = "tilt" ma(10)%amp = 148.0e-6 ma(11)%key_name = "quadrupole" ma(11)%mask = "" ma(11)%attrib_name = "x_pitch" ma(11)%amp = 1.1e-3 ma(12)%key_name = "quadrupole" ma(12)%mask = "" ma(12)%attrib_name = "y_pitch" ma(12)%amp = 62.0e-6 ma(13)%key_name = "quadrupole" ma(13)%mask = "" ma(13)%attrib_name = "k1" ma(13)%error_type = "multiplicative" ma(13)%amp = 1.e-3 ! Sextupoles ma(14)%key_name = "sextupole" ma(14)%mask = "" ma(14)%attrib_name = "x_offset" ma(14)%amp = 300.e-6 ma(15)%key_name = "sextupole" ma(15)%mask = "" ma(15)%attrib_name = "y_offset" ma(15)%amp = 300.e-6 ma(16)%key_name = "sextupole" ma(16)%mask = "" ma(16)%attrib_name = "z_offset" ma(16)%amp = 5.2e-3 ma(17)%key_name = "sextupole" ma(17)%mask = "" ma(17)%attrib_name = "tilt" ma(17)%amp = 200.e-6 ma(18)%key_name = "sextupole" ma(18)%mask = "" ma(18)%attrib_name = "x_pitch" ma(18)%amp = 1.2e-3 ma(19)%key_name = "sextupole" ma(19)%mask = "" ma(19)%attrib_name = "y_pitch" ma(19)%amp = 0.8e-3 ma(20)%key_name = "sextupole" ma(20)%mask = "" ma(20)%attrib_name = "k2" ma(20)%error_type = "multiplicative" ma(20)%amp = 1.e-3 ! Wigglers ma(21)%key_name = "wiggler" ma(21)%mask = "" ma(21)%attrib_name = "x_offset" ma(21)%amp = 1.e-3 ma(22)%key_name = "wiggler" ma(22)%mask = "" ma(22)%attrib_name = "y_offset" ma(22)%amp = 250.e-6 ma(23)%key_name = "wiggler" ma(23)%mask = "" ma(23)%attrib_name = "z_offset" ma(23)%amp = 0.5e-3 ma(24)%key_name = "wiggler" ma(24)%mask = "" ma(24)%attrib_name = "tilt" ma(24)%amp = 300.e-6 ma(25)%key_name = "wiggler" ma(25)%mask = "" ma(25)%attrib_name = "x_pitch" ma(25)%amp = 200.e-6 ma(26)%key_name = "wiggler" ma(26)%mask = "" ma(26)%attrib_name = "y_pitch" ma(26)%amp = 250.e-6 ma(27)%key_name = "wiggler" ma(27)%mask = "" ma(27)%attrib_name = "a1" ma(27)%amp = 2.88e-4 ! BPMs: resolution and other errors: bpm_mask = "^DET\_[0-9]{2}[ewEW]$" bpm_noise = 1.e-6 ! from repeatability studies, 4/2012 bpm_error_sigmas%bpm_rotation = 12.e-3 ! from measurements, 4/2013 bpm_error_sigmas%gain_sigma = 0.5e-2 ! repeatability; 4/2013 bpm_error_sigmas%timing_sigma = 10.e-12 ! time-in repeatability, over ~1hr bpm_error_sigmas%bpm_offset = 170.e-6 ! from reproducibility, 4/2013 bpm_error_sigmas%shear_x = 100.e-6 ! estimate ! Correction-related parameters: ! Allowed detector keys: orbit_x, orbit_y, eta_x, eta_y ! phi_x, phi_y, cbar22, cbar12, cbar11 ! Typical correcter param_names: k1, hkick, vkick, kick, a1 !----- correct(1)%det(1)%param_name = "orbit_x" !correct(1)%det(1)%wt = 1. correct(1)%det(1)%wt = 1.e6 correct(1)%det(2)%param_name = "orbit_y" !correct(1)%det(2)%wt = 1. correct(1)%det(2)%wt = 1.e6 !correct(1)%cor(1)%mask = "^H(KICK|[0-9])" correct(1)%cor(1)%mask = "^H[0-9]" correct(1)%cor(1)%attrib_name = "HKICK" !correct(1)%cor(1)%wt = 1. correct(1)%cor(1)%wt = 8.91e-7 correct(1)%cor(2)%mask = "^V[0-9]" correct(1)%cor(2)%attrib_name = "VKICK" !correct(1)%cor(2)%wt = 1. correct(1)%cor(2)%wt = 1.e-6 !----- correct(2)%det(1)%param_name = "phi_a" !correct(2)%det(1)%wt = 1. correct(2)%det(1)%wt = 5730. ![in rad] = 1.e2 [in deg] correct(2)%det(2)%param_name = "phi_b" !correct(2)%det(2)%wt = 1. correct(2)%det(2)%wt = 5730. correct(2)%det(3)%param_name = "cbar12" !correct(2)%det(3)%wt = 1. correct(2)%det(3)%wt = 1.e3 correct(2)%det(4)%param_name = "eta_x" correct(2)%det(4)%wt = 50. correct(2)%cor(1)%mask = "^Q.*[EW]$" correct(2)%cor(1)%attrib_name = "K1" !correct(2)%cor(1)%wt = 1. correct(2)%cor(1)%wt = 1.e4 correct(2)%cor(2)%mask = "^SK_Q" correct(2)%cor(2)%attrib_name = "K1" !correct(2)%cor(2)%wt = 1. correct(2)%cor(2)%wt = 1.e4 !----- correct(3)%det(1)%param_name = "orbit_y" !correct(3)%det(1)%wt = 10. correct(3)%det(1)%wt = 1.e6 correct(3)%cor(1)%mask = "^V[0-9]" correct(3)%cor(1)%attrib_name = "VKICK" !correct(3)%cor(1)%wt = 1. correct(3)%cor(1)%wt = 1.e-6 correct(3)%det(2)%param_name = "cbar12" !correct(3)%det(2)%wt = 1. correct(3)%det(2)%wt = 1.e3 correct(3)%det(3)%param_name = "eta_y" !correct(3)%det(3)%wt = 0.01 correct(3)%det(3)%wt = 750. correct(3)%cor(2)%mask = "^SK_Q" correct(3)%cor(2)%attrib_name = "K1" !correct(3)%cor(2)%wt = 1. correct(3)%cor(2)%wt = 1.e4 !============================================ ! parameters below this are only required for ! tracking-type measurements, and will be ! ignored if using a basic-type measurement. !============================================ !============================================================================ ! tune tracker initializations: n_TTs = 2 tt_params(1)%log_period = 200 ! record every 200th turn in log file. Set to 0 to record all turns. tt_params(1)%useSaveState = .false. tt_params(1)%orientation = 'h' tt_params(1)%kck_name = 'Q10W' tt_params(1)%bpm_name = 'DET_05W' tt_params(1)%LPinertia = 32768 ! LP filter time constant is LPinertia*fastPeriod. 2^15 = 32768 tt_params(1)%cyc_per_turn = 183 ! Number of times tune tracker cycles per CESR period. Usually 183 tt_params(1)%Ki = 0.2 ! 0.2 ! integrator gain tt_params(1)%Kp = 20.0 ! 20.0 ! proportional gain tt_params(1)%Kvco = 10.0 ! VCO gain. Redundant, because total gain looks like Kvco*(Ki*x + Kp*y + Kd*z) tt_params(1)%modTfrac0 = 0.570 ! 0.567 ! guess of fractional tune. used to compute w0 of modulator tt_params(1)%kickAmplitude = 4.0E-8 tt_params(1)%mixmode = 'sin' !Parameters specific to D channel tt_params(1)%use_D_chan = .false. ! bad? tt_params(1)%Kd = 0.1 ! differential gain tt_params(1)%wls_N = 25 ! Number of data points for LS fit. More DP makes smoother but increases delay tt_params(1)%wls_order = 1 ! Order of fit polynomial. Higher order is more accurate but noisier tt_params(2)%log_period = 200 ! record every 200th turn in log file. Set to 0 to record all turns. tt_params(2)%useSaveState = .false. tt_params(2)%orientation = 'v' tt_params(2)%kck_name = 'Q10W' tt_params(2)%bpm_name = 'DET_05W' tt_params(2)%LPinertia = 32768 ! LP filter time constant is LPinertia*fastPeriod. 2^15 = 32768 tt_params(2)%cyc_per_turn = 183 ! Number of times tune tracker cycles per CESR period. Usually 183 tt_params(2)%Ki = 0.2 ! integrator gain tt_params(2)%Kp = 20. ! 20.0 ! proportional gain tt_params(2)%Kvco = 10.0 ! VCO gain. Redundant, because total gain looks like Kvco*(Ki*x + Kp*y + Kd*z) tt_params(2)%modTfrac0 = 0.628 ! 0.628 ! guess of fractional tune. used to compute w0 of modulator tt_params(2)%kickAmplitude = 3.e-8 ! 5.0E-8 tt_params(2)%mixmode = 'sin' !Parameters specific to D channel tt_params(2)%use_D_chan = .false. tt_params(2)%Kd = 0.0010 ! differential gain tt_params(2)%wls_N = 25 ! Number of data points for LS fit. More DP makes smoother but increases delay tt_params(2)%wls_order = 1 ! Order of fit polynomial. !tt_params(3)%log_period = 200 ! record every 200th turn in log file. Set to 0 to record all turns. !tt_params(3)%useSaveState = .false. !tt_params(3)%orientation = 'l' !tt_params(3)%kck_name = 'RF_W1' !tt_params(3)%bpm_name = 'DET_21E' !tt_params(3)%LPinertia = 32768 ! LP filter time constant is LPinertia*fastPeriod. 2^15 = 32768 !tt_params(3)%cyc_per_turn = 183 !tt_params(3)%Ki = 0.1 ! integrator gain !tt_params(3)%Kp = 10.0 ! proportional gain !tt_params(3)%Kvco = 10.0 ! VCO gain. Redundant, because total gain looks like Kvco*(Ki*x + Kp*y + Kd*z) !tt_params(3)%modTfrac0 = -0.06588 ! guess of fractional tune. used to compute w0 of modulator !tt_params(3)%kickAmplitude = 1.e-4 ! 1.0e-5 !tt_params(3)%mixmode = 'sin' ! !!Parameters specific to D channel !tt_params(3)%use_D_chan = .false. !tt_params(3)%Kd = 0.1 ! differential gain !tt_params(3)%wls_N = 50 ! Number of data points for LS fit. More DP makes smoother but increases delay !tt_params(3)%wls_order = 2 ! Order of fit polynomial. !============================================================================ ! measurement simulation parameters: eta_method = 'dc' ! either 'ac_new', 'ac_old', or 'dc' eta_delta = 5.9e-4 ! 5.9e-4 = 2kHz for CESR n_turns_orbit = 1024 ! typically 1024 n_turns_phase = 40960 ! typically 40960 n_damping_orbit = 0 ! typically not necessary, therefore zero n_damping_phase = 100000 ! # turns to damp before phase measurements; typically 1.e5 ! Initial offset of particle when tracking init_vec(1) = 0.e-3 init_vec(3) = 0.e-3 init_vec(5) = 0 /