From ade2a1311162d0757012af1c44e92b9160173534 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 13:51:59 +0200 Subject: [PATCH 01/43] add electronc cooler to elements.py --- xtrack/beam_elements/elements.py | 106 +++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 1e700fb63..5296d689b 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2491,3 +2491,109 @@ def _get_order(array): if not np.any(nonzero_indices): return 0 return np.max(nonzero_indices) + + +class ElectronCooler(BeamElement): + """ + Beam element modeling an electron cooler. In particular, this beam element uses the Parkhomchuk model for electron cooling. + Every turn each particle receives transverse and longitudinal kicks based on the cooling force provided by the Parkhomchuk model. + + + Parameters + ---------- + current : float, optional + The current in the electron beam, in amperes. + length : float, optional + The length of the electron cooler, in meters. + r_beam : float, optional + The radius of the electron beam, in meters. + T_perp : float, optional + The transverse temperature of the electron beam, in electron volts. + T_l : float, optional + The longitudinal temperature of the electron beam, in electron volts. + B : float, optional + The magnetic field strength, in tesla. + offset_x : float, optional + The horizontal offset of the electron cooler, in meters. + offset_px : float, optional + The horizontal angle of the electron cooler, in rad. + offset_y : float, optional + The horizontal offset of the electron cooler, in meters. + offset_py : float, optional + The vertical angle of the electron cooler, in rad. + offset_energy : float, optional + The energy offset of the electrons, in eV. + B_ratio : float, optional + The ratio of perpendicular component of magnetic field with the + longitudinal component of the magnetic field. This is a measure + of the magnetic field quality. With the ideal magnetic field quality + being 0. + Neutralisation_space_charge : float, optional + Whether space charge of electron beam is enabled. 0 is off and 1 is on. + Neutralisation_rotation : float, optional + Whether rotation of electron beam is enabled. 0 is off and 1 is on. + """ + + _xofields = { + 'current' : xo.Float64, + 'length' : xo.Float64, + 'radius_e_beam' : xo.Float64, + 'temp_perp' : xo.Float64, + 'temp_long' : xo.Float64, + 'magnetic_field': xo.Float64, + + 'offset_x' : xo.Float64, + 'offset_px' : xo.Float64, + 'offset_y' : xo.Float64, + 'offset_py' : xo.Float64, + 'offset_energy' : xo.Float64, + + 'magnetic_field_ratio' : xo.Float64, + 'neutralisation_space_charge': xo.Float64, + 'neutralisation_rotation' : xo.Float64 + } + + _extra_c_sources = [ + _pkg_root.joinpath('headers/constants.h'), + _pkg_root.joinpath('beam_elements/elements_src/electroncooler.h')] + + def __init__(self, current = 0, + length = 0, + radius_e_beam = 0, + temp_perp = 0, + temp_long = 0, + magnetic_field = 0, + + offset_x = 0, + offset_px = 0, + offset_y = 0, + offset_py = 0, + offset_energy = 0, + + magnetic_field_ratio = 0, + neutralisation_space_charge = 0, + **kwargs): + + if "_xobject" in kwargs: + self.xoinitialize(_xobject=kwargs['_xobject']) + return + + super().__init__(**kwargs) + self.current = current + self.length = length + self.radius_e_beam = radius_e_beam + self.temp_perp = temp_perp + self.temp_long = temp_long + self.magnetic_field = magnetic_field + + self.offset_x = offset_x + self.offset_px = offset_px + self.offset_y = offset_y + self.offset_py = offset_py + self.offset_energy = offset_energy + + self.magnetic_field_ratio = magnetic_field_ratio + self.neutralisation_space_charge = neutralisation_space_charge + + def get_backtrack_element(self, _context=None, _buffer=None, _offset=None): + raise NotImplementedError From b312bb4f3403148494b736e0fb0c78d21f2b6a7d Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 13:53:04 +0200 Subject: [PATCH 02/43] add electron cooler to c implentation --- .../elements_src/electroncooler.h | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 xtrack/beam_elements/elements_src/electroncooler.h diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h new file mode 100644 index 000000000..47a74562b --- /dev/null +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -0,0 +1,121 @@ +// copyright ############################### // +// This file is part of the Xtrack Package. // +// Copyright (c) CERN, 2021. // +// ######################################### // +#define POW2(X) ((X)*(X)) +#define POW4(X) ((X)*(X)*(X)*(X)) +#define POW1_5(X) ((X)*sqrt(X)) +#ifndef XTRACK_ELECTRONCOOLER_H +#define XTRACK_ELECTRONCOOLER_H + +/*gpufun*/ +void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* part0){ + + double current = ElectronCoolerData_get_current(el); + double length = ElectronCoolerData_get_length(el); + double radius_e_beam = ElectronCoolerData_get_radius_e_beam(el); + double temp_perp = ElectronCoolerData_get_temp_perp(el); + double temp_long = ElectronCoolerData_get_temp_long(el); + double magnetic_field = ElectronCoolerData_get_magnetic_field(el); + + double offset_x = ElectronCoolerData_get_offset_x(el); + double offset_px = ElectronCoolerData_get_offset_px(el); + double offset_y = ElectronCoolerData_get_offset_y(el); + double offset_py = ElectronCoolerData_get_offset_py(el); + double offset_energy = ElectronCoolerData_get_offset_energy(el); + + double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); + double neutralisation_space_charge = ElectronCoolerData_get_neutralisation_space_charge(el); + + double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV + + double p0c = LocalParticle_get_p0c(part0); // eV + double Z = LocalParticle_get_q0(part0); // eV + double beta0 = LocalParticle_get_beta0(part0); // eV/c^2 + double gamma0 = LocalParticle_get_gamma0(part0); // eV/c^2 + + double V_ele = beta0; + + // compute electron density + double V = PI * POW2(radius_e_beam) * length; // m3 + double ne_per_s = current / QELEM; // number of electrons per second + double time_in_cooler = length / (gamma0*V_ele * C_LIGHT); // time spent in the cylinder + double ne = ne_per_s * time_in_cooler / V; // density of electrons + + double machine_v=beta0*C_LIGHT; + double tau = length / (machine_v*gamma0); + + double Ve_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature + double Ve_l = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature + double rhoL = MASS_ELECTRON*Ve_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius + double ome = C_LIGHT * sqrt(4 * PI * ne * RADIUS_ELECTRON); // electron plasma frequency + + double Ve_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; + double Veff = sqrt(POW2(Ve_l) + POW2(Ve_magnet)); + double Vs = Ve_l; + + double friction_coefficient =-4*ne*MASS_ELECTRON*POW2(Z)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force + double omega = 1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); + + //start_per_particle_block (part0->part) + + double x = LocalParticle_get_x(part) - offset_x ; + double px = LocalParticle_get_px(part) - offset_px; + double y = LocalParticle_get_y(part) - offset_y ; + double py = LocalParticle_get_py(part) - offset_py; + double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented in electron space charge + + double theta = atan2(y , x); + double radius = hypot(x,y); + + double Fx = 0.0; // initialize Fx to 0 by default + double Fy = 0.0; // initialize Fy to 0 by default + double Fl = 0.0; // initialize Fl to 0 by default + + if (radius < radius_e_beam) { + + //radial_velocity_dependence due to space charge + //equation 100b in Helmut Poth: Electron cooling. page 186 + double A = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); + double dE_E = (A * current / (beta0 * beta0 * beta0)) * POW2((radius / radius_e_beam)); + double E = (gamma0 - 1) * mass_electron_ev + offset_energy; + double E_diff = dE_E * E; + double E_tot = E + E_diff; + double gamma = 1 + (E_tot/mass_electron_ev); + double beta2 = sqrt(1 - 1/(gamma*gamma)); + double beta_diff = beta2 - beta0; + + double Vi = delta*machine_v - neutralisation_space_charge*C_LIGHT*beta_diff; + double dVx = px*machine_v; + double dVy = py*machine_v; + + dVx += neutralisation_space_charge*omega *radius* -sin(theta); + dVy += neutralisation_space_charge*omega *radius* +cos(theta); + + double Vi_abs = sqrt(dVx*dVx+dVy*dVy+Vi*Vi); + double rhomin = Z*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(Vi_abs*Vi_abs + Vs*Vs); + double rhomax = sqrt(Vi_abs*Vi_abs + Vs*Vs)/(ome + 1/tau); + + double logterm = log((rhomax+rhomin+rhoL)/(rhomin+rhoL)); + + double friction_denominator = POW1_5(POW2(Vi_abs) + POW2(Veff)); //coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * logterm); //Newton + Fy = (friction_coefficient * dVy/friction_denominator * logterm); //Newton + Fl = (friction_coefficient * Vi/friction_denominator * logterm); //Newton + + double newton_to_ev_m = 1.0/QELEM; //6.241506363094e+18 + + Fx = Fx * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c + Fy = Fy * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c + Fl = Fl * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c + } + double delta_new = delta+Fl*gamma0*tau/p0c; + + LocalParticle_update_delta(part,delta_new); + LocalParticle_add_to_px(part,Fx*gamma0*tau/p0c); + LocalParticle_add_to_py(part,Fy*gamma0*tau/p0c); + //end_per_particle_block +} + +#endif \ No newline at end of file From f5df0cefda224d8543d341a3a6a663992903032c Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 13:55:43 +0200 Subject: [PATCH 03/43] add electron cooler to ducktrack --- ducktrack/elements.py | 144 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 143 insertions(+), 1 deletion(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index a6a4c1b85..69698b70d 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -9,6 +9,7 @@ from scipy.constants import mu_0 from scipy.constants import m_e as me_kg from scipy.constants import e as qe +from scipy.constants import physical_constants me = me_kg*clight**2/qe @@ -821,6 +822,146 @@ def track(self,p): if self.length > 0.0: raise NotImplementedError('Radiation is not implemented') +class ElectronCooler(Element): + + + _description =[ + ("current","","",0.0), + ("length","","",0.0), + ("radius_e_beam","","",0.0), + ("temp_perp","","",0.0), + ("temp_long","","",0.0), + ("magnetic_field","","",0.0), + + ("offset_x","","",0.0), + ("offset_px","","",0.0), + ("offset_y","","",0.0), + ("offset_py","","",0.0), + ("offset_energy","","",0.0), + ("magnetic_field_ratio","","",0.0), + ("neutralisation_space_charge","","",0.0), + + ("re","","",physical_constants['classical electron radius'][0]), + ("me","","",me_kg), + ("me_ev","","",me), + ] + + def compute_electron_density(self,p): + V_ele = p.beta0 + V = np.pi*(self.radius_e_beam)**2*self.length #m3 + ne_per_s=self.current/qe # number of electrons per second + time_in_cooler=self.length/(p.gamma0*V_ele*clight) # time spent in the cylinder + electron_density = ne_per_s*time_in_cooler/V # density of electrons + return electron_density + + def beta_to_kinetic_energy(self,beta, M_0_eV_c2): + rest_mass_energy_eV = M_0_eV_c2 + gamma = 1/np.sqrt(1-beta**2) + E_eV = (gamma -1)*rest_mass_energy_eV + return E_eV + + def kinetic_energy_to_beta(self,E_eV, M_0_eV_c2): + + rest_mass_energy_eV = M_0_eV_c2 + gamma = 1 + (E_eV/rest_mass_energy_eV) + beta = np.sqrt(1 - 1/gamma**2) + return beta + + def radial_velocity_dependence(self,gamma,r,current,beta0,radius_e_beam): + #equation 100b in Helmut Poth: Electron cooling. page 186 + A=self.re/(qe*clight)*(gamma+1)/(gamma*gamma) + dE_E = (A*current/(beta0**3))*(r/radius_e_beam)**2 + E = self.beta_to_kinetic_energy(beta0, self.me_ev)# + Pb_m0_MeV_c2 #Mev/c^2 + E_diff = dE_E*E + E_tot = E + E_diff + beta2=self.kinetic_energy_to_beta(E_tot, self.me_ev) + beta_diff = beta2-beta0 + return beta_diff + + def force(self, p): + x = p.x - self.offset_x + px = p.px - self.offset_px + y = p.y - self.offset_y + py = p.py - self.offset_py + delta = p.delta - self.offset_energy + + if np.isscalar(p.x): + x = np.array([x]) + if np.isscalar(p.px): + px = np.array([px]) + if np.isscalar(p.y): + y = np.array([y]) + if np.isscalar(p.py): + py = np.array([py]) + if np.isscalar(p.delta): + delta = np.array([delta]) + + theta = np.arctan(y/x) + radius = np.hypot(x,y) + beta0=p.beta0 + gamma0=p.gamma0 + q0=p.q0 + p0c=p.p0c + + self.ne = self.compute_electron_density(p) + machine_v=beta0*clight + self.tau = self.length/(machine_v*gamma0) + + Ve_perp = 1/gamma0*(qe*self.temp_perp/self.me)**(1./2) # transverse electron rms velocity + Ve_l = 1/gamma0*(qe*self.temp_long/self.me)**(1./2) # longitudinal electron rms velocity + self.rhoL = self.me*Ve_perp/qe/self.magnetic_field # depends on transverse temperature, larmor radius + self.ome = clight*np.sqrt(4*np.pi*self.ne*self.re) # electron plasma frequency + self.Ve_magnet = beta0*gamma0*clight*(self.magnetic_field_ratio) # component due to magnetic field imperfections + self.Veff =np.sqrt(Ve_l**2 + self.Ve_magnet**2 ) + self.Vs = Ve_l + + Fx = np.zeros_like(x) + Fy = np.zeros_like(y) + Fl = np.zeros_like(delta) + + #compute angular frequency space charge + self.omega = self.neutralisation_space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) + + # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. + Vi = delta*machine_v - self.neutralisation_space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) + + # Warning: should gamma_0/gamma to be correct + dVx = px*machine_v + dVy = py*machine_v + + dVx += self.omega *radius* -np.sin(theta) + dVy += self.omega *radius* +np.cos(theta) + + Vi_abs = np.sqrt(dVx**2+dVy**2+Vi**2) + + rhomin = q0*self.re*clight**2/(Vi_abs**2 + self.Vs**2) + rhomax = np.sqrt(Vi_abs**2 + self.Vs**2)/(self.ome + 1/self.tau) + logterm = np.log((rhomax+rhomin+self.rhoL)/(rhomin+self.rhoL)) + + Fx = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * dVx/(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton + Fy = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * dVy/(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton + Fl = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * Vi /(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton + #if particle is outside electron beam, set cooling force to zero + outside_beam_indices = radius >= self.radius_e_beam + Fx[outside_beam_indices] = 0.0 + Fy[outside_beam_indices] = 0.0 + Fl[outside_beam_indices] = 0.0 + + newton_to_ev_m = 1/qe #6.241506363094e+18 + Fx=Fx*newton_to_ev_m #convert to eV/m + Fy=Fy*newton_to_ev_m #convert to eV/m + Fl=Fl*newton_to_ev_m #convert to eV/m + return Fx,Fy,Fl + + def track(self, p): + Fx,Fy,Fl=self.force(p) + Fx=Fx*clight #convert to eV/c because p0c is in eV/c + Fy=Fy*clight #convert to eV/c because p0c is in eV/c + Fl=Fl*clight #convert to eV/c because p0c is in eV/c + p.delta += np.squeeze( Fl*p.gamma0*self.tau/p.p0c) + p.px += np.squeeze( Fx*p.gamma0*self.tau/p.p0c) + p.py += np.squeeze( Fy*p.gamma0*self.tau/p.p0c) + __all__ = [ "BeamBeam4D", "BeamBeam6D", @@ -841,5 +982,6 @@ def track(self,p): "SRotation", "XYShift", "LinearTransferMatrix", - "FirstOrderTaylorMap" + "FirstOrderTaylorMap", + "ElectronCooler" ] From d787c545c9637e7d2aff094201ebc631c26aa6e5 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 13:56:40 +0200 Subject: [PATCH 04/43] add electron cooler test data --- .../electron_cooler/emittance_betacool.npz | Bin 0 -> 64544 bytes test_data/electron_cooler/force_betacool.npz | Bin 0 -> 3756 bytes .../generating_betacool_data/LEIR.bld | 939 ++++++++++++++++++ .../betacool-emittance.ipynb | 141 +++ .../betacool-friction.ipynb | 160 +++ 5 files changed, 1240 insertions(+) create mode 100644 test_data/electron_cooler/emittance_betacool.npz create mode 100644 test_data/electron_cooler/force_betacool.npz create mode 100644 test_data/electron_cooler/generating_betacool_data/LEIR.bld create mode 100644 test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb create mode 100644 test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb diff --git a/test_data/electron_cooler/emittance_betacool.npz b/test_data/electron_cooler/emittance_betacool.npz new file mode 100644 index 0000000000000000000000000000000000000000..d2cd46f6c2016f0c976499e33bbf62945a645d4f GIT binary patch literal 64544 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 literal 0 HcmV?d00001 diff --git a/test_data/electron_cooler/generating_betacool_data/LEIR.bld b/test_data/electron_cooler/generating_betacool_data/LEIR.bld new file mode 100644 index 000000000..cbed93796 --- /dev/null +++ b/test_data/electron_cooler/generating_betacool_data/LEIR.bld @@ -0,0 +1,939 @@ +[row=1] Beam | Parameters | Emittance +14= Horizontal emittance, pi*mm*mrad +14= Vertical emittance, pi*mm*mrad +0.005= Momentum spread +10000= Number of particles +0= coasting(0), bunched(1), barrier bucket (2), non-linear RF (3) +0= Collider regime (0/1) +0.1370049566= Mean beam radius, m +1= Longitudinal form factor +1982.606795= Longitudinal space charge impendances, Ohm +1= Transverse space charge impendances, Ohm/m +3.11184545e-08= Peak current, A +0= Emittance definition: RMS(0),CS(1),FWHM(2),%(3) +0= Use for IBS kick +38= Percents for transverse degrees of freedom +68= Percents for longitudinal degree of freedom +0= Mean Longitudinal Invariant +95= normalised % +5.991464547= rms +7.939606194= normilised horizontal emittance +7.939606194= normilised vertical emittance +0.09134426654= energy spread +3; energy spread unit + +[row=2] Beam | Parameters | Model Beam +10000= Number of model particles +40000= Maximum number of model particles +1e-06= Impact parametr, m +78.54370266= Cell size, m +1.301243349= Linear density +497210203.9= Initial longitudinal temperature, K +61127850.59= Initial transverse temperature, K +3.54756647e-08= Gamma1 +1.223440838e-08; Gamma2 + +[row=3] Beam | Parameters | Stability +1= Image force correction factor +1.366064592e-07= Horizontal tune shift +1.366064592e-07= Vertical tune shift +1= Factor of distribution function FI +1= Longitudinal coupling impendance, Ohm +1.486628203e-08= Microwavw instaility +0.0111191061= Tune spread for first mode +1= Factor of distribution function Ft +1= Transverse coupling impendance, Ohm/m +9.435926616e-15; Dipole instability + +[row=4] Beam | Parameters | Bunch +1= Number of bunches +1= RMS bunch length, cm +1= Max particle number +1= Syncrotron tune +1= Bunching factor +1; Longitudinal emittance [eV*s] + +[row=5] Effects | Stochastic cooling | Horizontal +1= H use +4= Horizontal low frequency, GHz +8= Horizontal upper frequency, GHz +1= Electronic gain linear(0) logarithm (1) +1= Horizontal gain +31622.7766= linear electronic gain +90= log electronic gain +1.3= Horizontal electrode length, cm +1.8= Horizontal PU electrode width, cm +1.8= Horizontal PU gap height, cm +128= Number of horizontal pickup loop pairs +2.944= Horizontal pickup app. length, m +75= Beta function at horizontal pickup, m +0.9171523357= Horizontal pickup sensitivity +4= Reserv (col=15) +1.8= Horizontal kicker Electrode width, cm +1.8= Horizontal kicker Gap height, cm +32= Number of horizontal kicker loop pairs +0.736= Horizontal kicker app. length, m +75= Beta function at horizontal kicker, m +0.9171523357= Horizontal kicker sensitivity +0.008836277255= Thermal noise power, kW +1= Schottky power, kW +1= Equilibrium emittance, pi*m*rad +1= Cooling rate, s^-1 +1= Total power +1= Optimum gain +1; Optimum cooling rate, s^-1 + +[row=6] Effects | Stochastic cooling | Vertical +1= V use +4= Vertical low frequency, GHz +8= Vertical upper frequency, GHz +1= Electronic gain linear(0) logarithm (1) +1= Vertical gain +31622.7766= linear electronic gain +90= log electronic gain +1.3= Vertical electrode length, cm +1.8= Vertical PU electrode width, cm +1.8= Vertical PU gap height, cm +128= Number of vertical pickup loop pairs +2.944= Vertical pickup app. length, m +75= Beta function at vertical pickup, m +0.9171523357= Vertical pickup sensitivity +4= Reserv (col=15) +1.8= Vertical kicker Electrode width, cm +1.8= Vertical kicker Gap height, cm +32= Number of vertical kicker loop pairs +0.736= Vertical kicker app. length, m +75= Beta function at vertical kicker, m +0.9171523357= Vertical kicker sensitivity +0.008836277255= Thermal noise power, kW +1= Schottky power, kW +1= Equilibrium emittance, pi*m*rad +1= Cooling rate, s^-1 +1= Total power +1= Optimum gain +1; Optimum cooling rate, s^-1 + +[row=7] Effects | Stochastic cooling | Longitudinal +1= L use +4= Longitudinal low frequency, GHz +8= Longitudinal upper frequency, GHz +1= Electronic gain linear(0) logarithm (1) +=0 +316227.766= linear electronic gain +110= log electronic gain +1.3= Longitudinal electrode length, cm +1.8= Reserv (PU electrode width, cm) +1.8= Reserv (PU gap height, cm) +128= Number of longitudinal pickup loop pairs +2.944= Longitudinal pickup app. length, m +75= Reserv (Beta function at pickup, m) +0.9171523357= Reserv (pickup sensitivity) +4= Reserv (col=15) +1.8= Reserv (kicker Electrode width, cm) +1.8= Reserv (kicker Gap height, cm) +32= Number of longitudinal kicker loop pairs +0.736= Longitudinal kicker app. length, m +75= Reserv (Beta function at kicker, m) +0.9171523357= Reserv (kicker sensitivity) +0.2945425752= Thermal noise power, kW +1= Schottky power, kW +1= Equilibrium momentum spread +1= Cooling rate, s^-1 +1= Total power +1= Optimum gain +1= Optimum cooling rate, s^-1 +1; Calculation using RHIC parameters + +[row=8] Effects | Stochastic cooling | Common parameters +1= Total momentum distribution width, sigma +80= Pickup effective temperature, K +80= Preamplifier effective temperature, K +50= Characteristic impedance, OHm +2= loss in combiner, dB +10; other losses, dB + +[row=9] Effects | Particle Losses +0= Electron Capture in ECOOL +0= Scattering on Rest Gas +0= Internal Target +0= Collision +0= Life time (Decay) +0= Acceptance +0= Separatrix length +1=0 +2; Generate on Gaussian(0), Real (1), None (2), Off (3) + +[row=10] Effects | Collision Point +1= Number of crossing points +6= Cross-section, barn +0.5= Horizontal beta-function, m +0.5= Vertical beta-function, m +0= Enable Hourglass Effect (0/1) +1= Luminosity calculation model: Local(0), Coordinate (1), Profile (2) +0= Colliding Beam Parameters (0/1) +50= Particle / Divisions +0= from +200= upto +20= step +0= Emittance for beam-beam: RMS (0), FWHM (1), % (2) +100= Percents, % +1= Via local density +0= Include diffusion +0.01= Noise power, s^-1 +0.4435539932; HourGlass value + +[row=11] Ring | Parameters | Ion kind +2= Reference Energy: Gamma(0), Beta(1), Kinetic(2), Momentum(3) +1.004469679,0.09423258405,862.68,18.26885331= Reference Energy +207.2= Atomic number +54= Charge number +1= Life time, sec +6; eV/u(0), keV/u(1), Mev/u(2), GeV/u(3), eV(4), keV(5), MeV(6), GeV(7) + +[row=12] Ring | Parameters | Lattice +78.54370266= Circumference, m +1.82=0.820040868= Horizontal tunes +2.72=0.720021064= Vertical tunes +-0.0005113579791= Horizontal Chromaticity +-0.0001665178543= Vertical Chromaticity +6e-05= Horizontal Acceptance +2.5e-05= Vertical Acceptance +0= Imagenary (0/1) +1= Acceptance on momentum deviation +6; Separatrix length, m + +[row=13] Ring | Lattice Structure | Lattice Filename +2= Lattice File: Output MAD (0), Input MAD (1), No file (2) +2= Lattice Structure: Reduce (0), Extend (1), No changes (2) +10= Extend step, cm +nPca.tfs= Output MAD Filename +0= Auto skip of points (0/1) +nPca.mad= Input MAD Filename +0=0 +none; Reduce Filename + +[row=14] Ring | Parameters | Injection +0= Initial distribution: Gaussian (0), Flatten (1), FromFile (2) +0= Inject ions with interval (0/1) +10= injection interval, sec +16= Number of injection cycles +0= Momentum spread shift +0= Horizontal shift +0= Vertical shift +nica_5e-4.inj= File with initial distribution +1= Horizontal acceptance at injection +1= Vertical acceptance at injection +0; Longitudinal shift + +[row=15] Ring | Lattice Structure | Output MAD format +18,32= dist +33,47= beta_x +63,81= alfa_x +0,0= mu_x +0,0= x +0,0= p_x +97,111= D_x +0,0= Dp_x +48,62= beta_x +82,96= alfa_y +0,0= mu_y +0,0= y +0,0= p_y +112,126= D_y +0,0= Dp_y +0,0,0=0 +3; columns: 132(0) / 157(1) / user(2) + +[row=16] Ring | Parameters | Mean params +12.50061853= Mean radius, m +4.595815635= Horizontal beta function, m +-24445.92446= Veritical beta function, m +1.689638101= Dispersion, m +2.780286604e-06= Revolution period, sec +1.293016126= Off momentum factor +0= Induction acceleration +-0.005; Amplitude, V + +[row=17] Ring | Parameters | RF system +24= Harmonic number +0.65= RF voltage, kV +3.272654277= Separatrix length, m +0.009998634352= Synchrotron tune +100= Separatrix size, % +0= Initial momentum deviation, dP/p +-0.006= Final momentum deviation, dP/P +0; Deviation sweeping time, s + +[row=18] Ring | Parameters | Injection point +2= Lattice functions at injection point: Mean Ring(0) / First Optics (1) / User (2) +5= Horizontal beta [m] +5= Vertical beta [m] +0= Horizontal alpfa +0= Vertical alfa +0= Horizontal dispersion [m] +0= Verticla dispersion [m] +0= Horizontal derivative +0; Vertical derivative + +[row=19] Ring | Lattice Structure | Matrix +-0.7191775512,-5.022768624,0,0,0,-0.1173778172=0 +0.09998155862,-0.6922014787,0,0,0,0.02084460211=0 +0,0,-0.5212294515,-14.34212012,0,0=0 +0,0,0.04558132436,-0.6643277156,0,0=0 +0.00325535279,0.1859467121,0,0,1,-22.00092927=0 +0,0,0,0,0,1;0 + +[row=20] Ring | Optics Structure | Matrix +1= Matrix: Optics(0) / Ring(1) +0= Index +1= Complex value: Real(0) / Imag(1) / Abs(2) / Arg(3) +-2.187583448e-11= 1 - |Det| +0= mu_x +0; mu_y + +[row=21] Task | Algorithm +1= Algorithm: RMS(0) / Model Beam(1) / Tracking(2) +1= Auto Saving Interval, sec +70=0 +0= Number of skip points +4000= Size of curves +1; Auto skip of points (0/1) + +[row=22] Task | Algorithm | RMS Dynamics +0.001= Initial integration step, sec +20= Maximum integration step, sec +2= Step multiplier +20; Maximum groth, % + +[row=23] Task | Algorithm | Model Beam +0.0002780286604= Integration step, sec +0= IBS kick model +100= Integration step, turns +1= Integration step: time (0), turns (1) +1= Random synchrotron tune +2= Core definition [sigma] +0.1= Stop time [sec] +0= Betatron tune: regular (0), random (1), randoms (2) +2= Invarinats in core [1-3] +0= Coupling resonance rate (0/1) +5= Coupling resonance rate [Hz] +0; Longitudinal space charge (0/1) + +[row=24] Task | Algorithm | Monte-Carlo +1000= Turn step +1= Enable Monte-Carlo step (0/1) +0.0001= Maximum step, sec +10; Min Invariant, % + +[row=25] Task | Algorithm | Tracking +10= Integration step for Forces, cm +0= Check longitudinal crossing (0/1) +0= Initial crystalline distribution (0/1) +0; Equations of motion: Matrixes (0), Forces (1) + +[row=26] Ring | Parameters | Barrier Bucket +50= Voltage amplitude, kV +0.2= RF duration in T0 +0.1= Gap duration in T0 +0.02202691686= Barrier height +1= RMS amplitude +1= Bucket length, m +1= Synchrotron period in sec +0= Analytic +1= Sattionary bucket file +nica_tk.bar= filename +0= Moving bucket file +nica14.mov= filename +0= 2 barriers +200= Longitudinal profile divisions +0.05= Scale of potential integral +1= IBS normalisation +0= Show on Injection +0.8076195162= HourGlass Effect +0= Vertex cut +50= Detector size [cm] +0= Periodical moving BB +0= 1st harmonic +4= harmonic number +0= time start, s +0.25= time stop, s +0= amplitude start, v +2= amplitude finish, v +1= 2nd harmonic +8= harmonic number +0.01= time start, s +1= time stop, s +1= amplitude start, v +1= amplitude finish, v +0.0001= generate step, s +0= long space charge; +0; sin shape + +[row=27] Task | Model Beam | Bi-Gauss+Local parameters +1= Core number definition as in other models +0= Core definition from FWHM +100= Number of nearest ions +0.1= Box dimensions, sigma +1; Transverse coupling + +[row=28] Beam | Real Space | Control +1= Draw Space-0 (0/1) +0= x-axis (0..5): X,X',Y,Y,S-So,dP/P +2= y-axis (0..5): X,X',Y,Y,S-So,dP/P +=0 +1= Draw Space-1 (0/1) +0= x-axis (0..5): X,X',Y,Y,S-So,dP/P +1= y-axis (0..5): X,X',Y,Y,S-So,dP/P +=0 +1= Draw Space-2 (0/1) +0= x-axis (0..5): X,X',Y,Y,S-So,dP/P +5= y-axis (0..5): X,X',Y,Y,S-So,dP/P +=0 +1= Draw Space-3 (0/1) +4= x-axis (0..5): X,X',Y,Y,S-So,dP/P +5= y-axis (0..5): X,X',Y,Y,S-So,dP/P +;0 + +[row=29] Beam | Evolution | Control +0= Emittance: (0) sigma, (1) normalized +0= Momentum: (0) relative, (1) absolute +1= Gamma2 +1= Equillibrium +1= Footprint +1= Evolution +1= Gaussian fit +1=0 +1=0 +1=0 +1=0 +0=0 +0=0 +0;0 + +[row=30] Beam | Distribution | Control +1= Draw Evolution (0/1) +3= Number of Sigma +400= Divisions +5= Evolution for: Sx(0),Sy(1),Sp(2),Px(3),Py(4),Pp(5),Ex(6),Ey(7),dP/P(8) +1= Sigma is normalised on Emittance: current(0) / initial (1) +100= Number of slices for Evulution +0.01= Time step for Evolution, sec +1= Sigma_x (0/1) +1= Sigma_y (0/1) +1= Sigma_p (0/1) +1= Profile_x (0/1) +0= Profile_y (0/1) +1= Profile_p (0/1) +1= Emit_x (0/1) +1= Emit_y (0/1) +1= (dP/P)^2 (0/1) +0= Mean between slices +0= Show Gaussian fir +1;0 + +[row=31] Task | Rates | Active Effects +1= Electron cooling (0/1) +0= Rest Gas (0/1) +0= Internal Target (0/1) +0= Collision Point (0/1) +0= Particle Losses (0/1) +0= Intrabeam Scattering (0/1) +0= Additional Heating (0/1) +0= Stochatic Cooling (0/1) +0= Optical Stochatic Cooling (0/1) +0; Laser Cooling (0/1) + +[row=32] Task | Rates | Rates +-2.68819536= Horizontal emittance growth rate, Hz +-2.621215868= Vertical emittance growth rate, Hz +-1.383277778= Mometum spread growth rate, Hz +0= Particle number growth rate, Hz +0=0 +0=0 +0=0 +1= Draw Evolution of Rates (0/1) +1; Draw 3D Diagrams (0/1) + +[row=33] Task | Rates | 3D Diagrams +0.01,5= Horizontal emittance, pi*m,rad +0.01,5= Vertical emittance, pi*m,rad +30= Division number +0= Logarithmic scale (0/1) +1e-05,0.001= Momentum spread +30= Division number +0; Logarithmic scale (0/1) + +[row=35] Effects | Internal Target | PTarget +0,0,0,0,0,-60000= X0 +4,0,4,0,2,0= X1 +4,10= L0, L +1e-05,0.0051,100= Dynamics +TEK00005.DAT= oscilograph +8= step, sec +0; Cutting: (1)- Top, (0)- Centre + +[row=36] Effects | Internal Target | Material +0= Density: gram/cm^3 (0), atom/cm^3 (1) +=0 +181= Mass number, A +73= Charge number, Z +10= Length, mm +0.085= Density, gram/cm^3 +2.828075263e+20= Density, atom/cm^3 +1= Calculate from material (0/1) +2.828075263e+20= Density, atom/cm^2 +0.03285113895= Stripping angle +8568832357= Energy loss, eV +3968952.198= Stripping energy, eV +1= Energy loss (0/1) +2.828075263e+20; Effective density [cm^-2] + +[row=37] Effects | Internal Target | Lattice +1= Horizontal beta function, m +0= Horizontal alpha +0= Horizontal dispersion, m +0= Horozontal dispesion derivative +1= Vertical beta function, m +0= Vertical alpha +0= Vertical dispersion, m +0; Vertical dispesion derivative + +[row=38] Effects | Internal Target | Type +0= Type: gas cell(0), pellet(1), fibber (2) +0= Model: Effective density(0), Monte-Carlo(1) +=0 +10000= Particle Number for Monte-Carlo +1= Gaussian scattering model +0= Realistic scattering model +0.5; Ratio between ionization and excitation events + +[row=39] Effects | Internal Target | Losses +1= Electron capture (0/1) +1= Single scattering (0/1) +0= Nuclear reaction (0/1) +0= Interaction events (0/1) +40= Cross-section, barn +1.017188393e+30; Luminosity, cm^-2*s^-1 + +[row=40] Effects | Internal Target | Pellet +0= Horizontal shift, mm +0.025= Horizontal size, mm +0.025= Vertical size, mm +60= Vertical velocity, m/s +6= Interval between pellets, mm +2.828075263e+20= Effective density, cm^-2 +2; Flux width, mm + +[row=41] Effects | Additional Heating +1= Constant rate (0/1) +0= Horizontal rate, 1/sec +0= Vertical rate, 1/sec +10= Longitudinal rate, 1/sec +0= Linear deviation (0/1) +0= Horizontal emittance, pi*mm*mrad/sec +0= Vertical emittance, pi*mm*mrad/sec +10= Momentum spread, mrad^2/sec +0= Diffusion power (0/1) +1= Horizontal power, 1/sec +1= Vertical power, 1/sec +1= Longitudinal power, 1/sec +0= Diffusion heating (0/1) +0.1= Horizontal emittance, (pi*mm*mrad)^2/sec +0.1= Vertical emittance, (pi*mm*mrad)^2/sec +0= Momentum spread, mrad^4/sec +0= DifP(0/1) +0= Momentum spread, mrad^2/sec +0= "tapering" coefficient +0= Dependence on particle number for constant +0= Dependence on particle number for linear +1= Dependence on particle number for power +0= Dependence on particle number for diffusional +0= Coherent +100= k1 +1= k2 +1= tau +0= position +0.1; length + +[row=42] Effects | Intrabeam Scattering +0= IBS models: Piwinski(0), Jie Wei(1), Martini(2), Detalied(3), Gas relaxation (4), Bjorken-Mtingwa(5) +1= Martini integral over z: Bjorken(0), analytical(1), numerical(2) +0= Average transverse rates (0/1) +21= Step over mu +21= Step over nu +21= Step over z +40= Bjorken Coloumb coefficient +20= Jie Wei Coloumb logarithm +1= Jie Wei High energy assumption (0/1) +1= Jie Wei High energy assumption with NO dispersion (0/1) +0= Dispersion Coefficient for Gas Relax formula (0/1) +1= Average dispersion, m +1= Average dispersion derivative, m +20= Bjorken-Mtingwa Coloumb logarithm +3= upper limit of integration +1000= Step over z +0= Bjorken-Mtingwa High energy assumption (0/1) +0= Longitudinal slices +100= Step size +1000= Step number +10; Slice number + +[row=43] Effects | Rest Gas | Vacuum composition +4= Mean vacuum chamber radius, cm +1e-10= Pressure, Torr +70,10,10,10= % +1,12,32,12= A +1,6,16,7= Z +1= Electron capture (0/1) +1= Single scattering (0/1) +1; Nuclear reaction (0/1) + +[row=44] Beam | Tune Shift +0= Tune Shift on/off +50,50,50= Cell number +16,16,16= Cell size, sigma +0= field component +0= vertical cell shift +Bring3.bump= bump file +1= plot tune shift +0= minimum of horizontal tune shift +0; minimum of vertical tune shift + +[row=50] ECOOL | Models | Cooler +0= Calculation model: Thin lens(0), Euler(1), Runge-Kutta(2) +10= Number of integration steps for Euler and Runge-Kutta +3= Cooler length, m +0.7= Magnetic field, kG +1= Section number (for Model Beam) +0= Fringe Field +1= Number of bunches +0.1; Distence between bunches, m + +[row=51] ECOOL | Models | Ion Beam +1= Calculation model: Single particle(0), Monte-Carlo(1) +17= Number of transverse integration step +17= Number of longitudinal integration step +1000; Particle number for Monte-Carlo + +[row=52] ECOOL | Parameters | Lattice +5= Horizontal beta function, m +5= Vertical beta function, m +0= Horizontal alpha function +0= Vertical alpha function +0= Horizontal dispersion, m +0= Vertical dispersion, m +0= Horizontal disperion derivative +0; Vertical dispersion derivative + +[row=53] ECOOL | Parameters | Solenoid errors +0= Enable Ebeam shift (0/1) +0= use final values (0/1) +0= Horizontal initial coordinate, m +0= Horizontal final coordinate, m +0= Vertical initial coordinate, m +0= Vertical final coordinate, m +0= Longitudinal initial coordinate, m +0= Longitudinal final coordinate, m +0.0001= Initial momentum spread +0= Final momentum spread +0= Use time period (0/1) +1= Painting time [integration steps] +0= Read Errors from file (0/1) +SOLENOID.ERR= Filename with Solenoid Errors +0= Painting table +painting.pat= Paiting data filename +3; scalling factor + +[row=54] ECOOL | Electron beam | Array +0= From file +1= Gaussian +dist20k_at54MeV.dat= File name +1= RMS Horizontal size, cm +1= RMS Vertical size, cm +1= RMS horizontal angular spread +1= RMS horizontal angular spread +1= RMS bunch length, cm +1= RMS momentum spread +0= distance between bunches, cm +3.125e+10= Number of electrons +0= Number of particles in array +200= Number of local particles +1= Box dimension, sigma +0= Use longitudinal slice, m +0= From +0.02= Up to +7.16618e+13= local density, 1/m^3 +41747.0434= local horizontal velocity, m/s +-47872.44712= local vertical velocity, m/s +-47853.30028= local longitudinal velocity, m/s +363063.7503= local horizontal velocity spread, m/s +465081.1838= local vertical velocity spread, m/s +17904.59994= local longitudinal velocity spread, m/s +20= number of steps along horizontal axis +20= number of steps along longitudinal axis +0= bi-Gaussian distribution +0.05= part of the particles located inside core +0.2= ratio between core rms and tail rms +0; Uniform density distribution + +[row=55] ECOOL | Electron beam | Model +0= Electron beam model:Uniform cylinder(0),Uniform bunch(1),Gaussian cylinder(2),Gaussian bunch(3), Hollow beam (4), Array (5), Parabolic (6) +2.5= Beam radius, cm +0.6= Beam current, A +100= Neutralization factor, 0..100 +0= momentum shift +0= horizontal shift +0= Gradient of transverse velocity with radius, 1/sec +0= Longitudinal pulsed ebeam +-0.5= from longitudinal position, Circumference +0.5; up to longitudinal position, Circumference + +[row=56] ECOOL | Electron beam | Uniform bunch +0.1= Horizontal RMS dimensions, cm +0.1= Vertical RMS dimensions, cm +30= Longitudinal RMS dimensions, cm +0= Distance between electron and ion bunch centers, cm +1e+11= Number of electron +0.6019001362; Peak current, A + +[row=57] ECOOL | Parameters | Gaussian bunch +0.1= Horizontal RMS dimensions, cm +0.1= Vertical RMS dimensions, cm +20= Longitudinal RMS dimensions, cm +0= Distance between electron and ion bunch centers, cm +5e+10= Number of electron +0.004514251021= Peak current, A +5.507782403e+15= central density +6e-06= Horizontal rms angle +6e-06= Vertical rms angle +0.00027= Momentum spread +1; Angular spread from tabsheet (0), from model (1) + +[row=58] ECOOL | Parameters | Gaussian cylinder +0.15= Horizontal RMS dimensions, cm +0.15= Vertical RMS dimensions, cm +1000000000= Linear electron density, 1/cm +0.45262197; Beam current, A + +[row=59] ECOOL | Electron beam | Hollow beam +0.3= hole radius, cm +100000000= hole density,0[cm^-3] +0.5= beam radius, cm +100000000= ring density,0[cm^-3] +0.03554884639= Beam current, A +1; Space Charge + +[row=60] ECOOL | Friction force | Model +3= Model: Budker(0),Non-magnetized(1),Derbenev(2),Parkhomchuk(3),Toepffer(4),Tabulated(5) +0= Emittance(0/1) +1= Beam temperature(0/1) +1.748630778e-06= Transverse emittance, pi*m*rad +0.01= Transverse temperature, eV +0.0004694474719= Longitudinal emittance, dP/P +0.001= Longitudinal temperature, eV +0= Rms velocity 90/1) +41938.10552= transverse velocity +13261.99342= longitudinal velocity +0= Smooth ro (0/1) +1= ro via rel velocity +0= plus e_rms +1= magnetized +0= adiabatic +0= fast +1= non logarothmic term +0= pestrikov's integral +200= number of integration steps for Pestrikov +1= Numerical non magnetized force in accordance with Binney +0= Numerical 3D integral +0.01= step of Binney's integrals +5; Upper limit of Binney's integrals + +[row=61] ECOOL | Friction force | Parameters +2= Smoothing coefficient (Derbenev model) +0= Angular spread (0/1) +1= Effective temperature (0/1) +0= Angular spread, rad +0= Effective temperature, eV +0= Asimptotic presentation of nonmagnetized force(0/1) +17= number of integration steps over longitudinal velocity +17= number of integration steps over transverse velocity +17= number of integration steps over azimuthal velocity +0= Asimptotic presentation of magnetized force(0/1) +1= Numerical presentation of magnetized force(0/1) +51; number of integration steps for magnetized collisions + +[row=62] ECOOL | Friction force | Axises +0,600000= Transverse velocity (min, max) +0,100000= Longitudinal velocity (min, max) +50= Divisions +1= Show particle in cooler +1= Draw 3-D (0/1) +1= Draw line (0/1) +-600000,600000= velocity (min, max) +0= angle +200= divisions +0= Draw circle +1000= Velocity +101; divisions + +[row=63] ECOOL | Friction force | Tabulated +1000,10= 1st point range: velocity(m/s) / steps +10000000,10= 2nd point range: velocity(m/s) / steps +100000000,10= 3rd point range: velocity(m/s) / steps +0= Interpolation: Linear(0)/Bilinear(1) +table.tvt= Transverse velocity table +table.lvt= Longitudinal velocity table +1; Generate velocity tables + +[row=64] ECOOL | Friction force | Toepffer +1= Fast collisions (0/1) +1= Tight helices (0/1) +1= Stretched helices (0/1) +17= number of integration steps over longitudinal velocity +17= number of integration steps over transverse velocity +11; number of integration steps over azimuthal velocity + +[row=65] Beam | Colliding Beam | Ion kind +3= Reference Energy: Gamma(0), Beta(1), Kinetic(2), Momentum(3) +1131.721525,0.9999996096,1053.26891,1054.2= Reference Energy +1= Atomic number +1= Charge number +100000= Life time, sec +3; eV/u(0), keV/u(1), Mev/u(2), GeV/u(3), eV(4), keV(5), MeV(6), GeV(7) + +[row=66] Beam | Colliding Beam | Emittance +0.12= Horizontal emittance, pi*mm*mrad +0.12= Vertical emittance, pi*mm*mrad +30= RMS bunch length, cm +1e+11= Number of particles +0; bunched(0), coasting(1) + +[row=67] Beam| Colliding Beam | Lattice +1= Horizontal beta-function, m +1; Vertical beta-function, m + +[row=69] ECOOL | Electron beam | Parabolic / File +0.5= Beam radius, cm +0.05= Beam current, A +100000000= Gradient of transverse velocity with radius, 1/sec +3.669735529e+11= Central density, m^-3 +recycler.den= density distribution +0.1044860681= Electron current, A +0= transverse gradient, 1/s +2.112534413e+13; Central density, 1/m^3 + +[row=70] ECOOL | Tabulated | Control +table.tvt= Transverse velocity table +table.lvt= Longitudinal velocity table +1;0=Generate velocity tables + +[row=71] ECOOL | Tabulated | Transverse +10000,1= 1st point range: velocity(m/s) / steps +800000,3= 2nd point range: velocity(m/s) / steps +3000000,20= 3rd point range: velocity(m/s) / steps +100000,4= 1st point range: velocity(m/s) / steps +400000,5= 2nd point range: velocity(m/s) / steps +1000000,3;0=3rd point range: velocity(m/s) / steps + +[row=72] ECOOL | Tabulated | Longitudinal +10000,1= 1st point range: velocity(m/s) / steps +800000,1= 2nd point range: velocity(m/s) / steps +3000000,5= 3rd point range: velocity(m/s) / steps +100000,1= 1st point range: velocity(m/s) / steps +400000,3= 2nd point range: velocity(m/s) / steps +1000000,3;0=3rd point range: velocity(m/s) / steps + +[row=73] ECOOL | Tabulated +1;0=Interpolation: Linear(0)/Bilinear(1)/Triangle(2) + +[row=74] ECOOL | Friction force (Undulator) +1= Enable Undulator +8= Period, cm +5= Magnetic field, G +502.7473316; Rotation radius, um + +[row=75] ECOOL | Friction force | Toepffer, 3D +15= number of steps over horizontal velocity +15= number of steps over horizontal velocity +15= number of steps over horizontal velocity +1= From array +0; Gaussian density + +[row=80] Effects | Optical Stochastic coolng | Parameters +0= R51 +0= R52 +0.004= R56 +6e-07= Go +0= Zo +7= SigmaZ +1e-05; lambda + +[row=81] Effects | Optical Stochastic coolng | Lattice functions +10= Horizontal beta [m] +10= Vertical beta [m] +0= Horizontal alpfa +0= Vertical alfa +0= Horizontal dispersion [m] +0= Verticla dispersion [m] +0= Horizontal derivative +0; Vertical derivative + +[row=85] Effects | Laser coolng | Lattice functions +280= Ion resonance wavelength [nm] +3521.12= Sweep of wavelength, dP/P +3= Cooling section length [m] +285.7= Natural line width [MHz] +10= Saturation parameter +1= Laser spot size [mm] +3241.12; Laser wavelength [nm] + +[row=86] Effects | Laser coolng | Lattice functions +10= Horizontal beta [m] +10= Vertical beta [m] +0= Horizontal alpfa +0= Vertical alfa +0= Horizontal dispersion [m] +0= Verticla dispersion [m] +0= Horizontal derivative +0; Vertical derivative + +[row=87] Effects | Laser coolng | Sweeping +0= Sweep propogate laser +-0.002= Start sweeping, dP/P +-0.0003= Stop sweeping, dP/P +1= Horizontal shift of propogate laser [mm] +1= final shift, mm +1= Sweep contr-propogate laser +0.0003= Start sweeping, dP/P +1000= Stop sweeping, dP/P +0= Horizontal shift of contr-propogate laser [mm] +0= final shift, mm +10= Sweeping time, s +1000; Friction force drawing step number + +[row=90] Effects | Stochastic cooling | RHIC +6000= Coolin coefficient +3e-15= Difusion coefficient +5e+13= gain +0= linear force coefficient +1= Cubic force coefficient +5= Lower frequency, GHZ +8= Upper frequency, GHz +15= Number of subbands +1= Number of filters (1 - 1, 0 - 2 in series) +0.66; Time delay in T_0 + +[row=91] Effects | Gated Stochastic cooling | Parameters +1,2,1.16,-0.5,0.5,0,0.1,0,0.01,10= N,type,lower,upper,initial,final,p2k,noise,gain +0,0,1.16,-0.42,0.42,0,0.01,8,9,10= N,type,lower,upper,initial,final,p2k,noise,gain +0,0,1,-1,1,0,0.1,8,9,10= N,type,lower,upper,initial,final,p2k,noise,gain +0,0,2,-1,1,0,0.01,8,9,10= N,type,lower,upper,initial,final,p2k,noise,gain +0,0; simple, optimal + +[row=92] Effects | Gated Stochastic cooling | Linear Approximation +1= Linear Approximation +0.0002= Force amplitude [1/s] +0.005= Force position, d/p +1e-07= Diffusion amplitude [1/s] +0.002= Diffusion position, dp/p +0.001; Initial sigma for diffusion, dp/p diff --git a/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb b/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb new file mode 100644 index 000000000..811dd47f4 --- /dev/null +++ b/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb @@ -0,0 +1,141 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "id": "16460ba6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BETACOOL----------release ver.7.2.beta (omp)----------2023/6/22\n", + "/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux LEIR.bld /m\n", + "Input parameter [12,11] was initialised with default value:1e+10\n", + "Cannot open file : Bring3.bump\n", + "Mean beam radius= 0.1370049566 is more than chamber 4\n", + "Model Beam: Integration Step [sec] =0.0002780286604\n", + "Tcal[m.s]=0 Tref[s]=0 Ecool[%]=0 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.01 Tref[s]=0.007506773831 Ecool[%]=0.03 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.02 Tref[s]=0.01445749034 Ecool[%]=0.05 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.03 Tref[s]=0.02029609221 Ecool[%]=0.1 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.04 Tref[s]=0.0266907514 Ecool[%]=0.09 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.05 Tref[s]=0.03252935327 Ecool[%]=0.22 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.06 Tref[s]=0.03948006978 Ecool[%]=0.39 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.07 Tref[s]=0.04754290093 Ecool[%]=0.36 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.08 Tref[s]=0.05393756012 Ecool[%]=0.28 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.09 Tref[s]=0.06088827663 Ecool[%]=0.33 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.1 Tref[s]=0.06783899314 Ecool[%]=0.25 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.11 Tref[s]=0.07506773831 Ecool[%]=0.33 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.12 Tref[s]=0.08174042616 Ecool[%]=0.37 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.13 Tref[s]=0.08896917133 Ecool[%]=0.45 Core[%]=0 Impact=0\n", + "Tcal[m.s]=0.14 Tref[s]=0.09647594517 Ecool[%]=0.32 Core[%]=0 Impact=0\n", + "STOP -2023/6/22-17:16:28\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from pybetacool import PyBetaCool\n", + "\n", + "\n", + "#unofficial Betacool: https://github.com/dgamba/betacool\n", + "obj = PyBetaCool(BLDfilename='LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux')\n", + "# Execute Betacool\n", + "obj.runBetacool('/m')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "716f1e9a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TODO: simple version here...\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "tmp = obj.parseCurveFile('emittance.cur')\n", + "\n", + "time=tmp[:,0]\n", + "emittance = tmp[:,1]*1e-6\n", + "\n", + "plt.figure()\n", + "plt.plot(time,emittance, label='emittance')\n", + "\n", + "\n", + "plt.title('betacool')\n", + "plt.ylabel('Emittance')\n", + "plt.xlabel('Time')\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "31ed9253", + "metadata": {}, + "outputs": [], + "source": [ + "filpath='../emittance_betacool.npz'\n", + "\n", + "np.savez(filpath, time=time, emittance=emittance)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + }, + "vscode": { + "interpreter": { + "hash": "b3c9a0a5475e728b39e61ac58d244ad936924f9cf82746515a9faeb1f1a0b703" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb b/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb new file mode 100644 index 000000000..6a8766bdc --- /dev/null +++ b/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb @@ -0,0 +1,160 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "id": "16460ba6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BETACOOL----------release ver.7.2.beta (omp)----------2023/6/23\n", + "/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux /home/pkruyt/cernbox/BETACOOL_ecooling/benchmarking-Betacool/LEIR.bld /f\n", + "Input parameter [12,11] was initialised with default value:1e+10\n", + "Cannot open file : Bring3.bump\n", + "Mean beam radius= 0.1370049566 is more than chamber 4\n", + "Mean beam radius= 0.1370049566 is more than chamber 4\n", + "FINISH: 2023/6/23-16:53:37\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import scipy.optimize\n", + "import math\n", + "import numpy as np\n", + "from pybetacool import PyBetaCool\n", + "\n", + "#unofficial Betacool: https://github.com/dgamba/betacool\n", + "obj = PyBetaCool(BLDfilename='/home/pkruyt/cernbox/BETACOOL_ecooling/benchmarking-Betacool/LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux')\n", + "# Edit one parameter (row=60, 5th value is \"Transverse temperature, eV\")\n", + "# Execute Betacool\n", + "obj.runBetacool('/f')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ed7f6410", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TODO: simple version here...\n" + ] + } + ], + "source": [ + "# Parse some output file\n", + "data = obj.parseCurveFile('flong.cur')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "716f1e9a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TODO: simple version here...\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAGwCAYAAAC5ACFFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIeklEQVR4nO3de3xT9f3H8XeaNL1faOmFQrkjF7kKCAVBEaT4QxibOpwo4JhOBwgiTphOQZ14Gd4deAV0MhAVRKYoIqAgIFTLdaAICFLacm16obckvz9KQktrbNq0adrX8/HIIzmXnPNJcMu73+/3fI/BbrfbBQAAgAr5ebsAAACAuoywBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwAAAC4QlgAAAFwwebsAX2Oz2ZSWlqawsDAZDAZvlwMAACrBbrcrOztbCQkJ8vNzr62IsOSmtLQ0JSYmersMAABQBUePHlWzZs3ceg9hyU1hYWGSSr7s8PBwL1cDAAAqw2KxKDEx0fk77g7CkpscXW/h4eGEJQAAfExVhtAwwBsAAMAFwhIAAIALhCUAAAAXGLMEAIALVqtVRUVF3i4Dv8Lf319Go7FGjk1YAgCgAna7Xenp6Tp79qy3S0ElRUZGKj4+3uPzIBKWAACogCMoxcbGKjg4mImI6zC73a68vDxlZmZKkpo0aeLR4xOWAAC4iNVqdQal6Ohob5eDSggKCpIkZWZmKjY21qNdcgzwBgDgIo4xSsHBwV6uBO5w/Ht5eowZYQkAgF9A15tvqal/L8ISAACAC4QlAAAAFwhLAADUI1dddZWmTp3q7TJqxPjx4zVq1KhaPy9hycsKi20qstq8XQYAAJKkhQsXKjIy0ttl1ClMHeAFxVabNh44qeXfHdOne9KVEBmkj+8eoED/mpl5FAAAVB0tS7Xo4IkcPbpqr/rO+ULjF2zTh6lpyi+y6eCJXK1MTfN2eQAAF+x2u/IKi73ysNvtbtVaXFysSZMmKSIiQo0bN9bf//535zEKCgo0ffp0NW3aVCEhIerTp4/Wr18vSVq/fr1uu+02ZWVlyWAwyGAwaNasWZKkt99+W7169VJYWJji4+N18803OyeBdNizZ4+uu+46hYeHKywsTAMGDNCPP/4oSbLZbHrkkUfUrFkzBQQEqHv37lq9enWZ9+/atUtXX321goKCFB0drTvuuEM5OTlV+NfyLFqWakmR1abfzftaZ/NK5n6ICjFrRNeSGUYXbf5Jb246pBt7NeMyVQCoo84VWdXpoU+9cu69jyQr2Fz5n+xFixZpwoQJ+uabb7R9+3bdcccdat68uW6//XZNmjRJe/fu1ZIlS5SQkKDly5dr2LBh2rVrl/r166fnnntODz30kPbv3y9JCg0NlVQyd9Gjjz6q9u3bKzMzU9OmTdP48eP18ccfS5KOHTumgQMH6qqrrtIXX3yh8PBwbdq0ScXFxZKk559/XnPnztUrr7yiHj166M0339TIkSO1Z88etWvXTrm5uUpOTlZSUpK2bdumzMxM/elPf9KkSZO0cOFCz36hbiIs1ZKDJ3J1Nq9IwWajXriph65sHyN/o5+yzhVpWcrP2peera9/PKX+bRt7u1QAgI9LTEzUs88+K4PBoPbt22vXrl169tlnlZycrAULFujIkSNKSEiQJE2fPl2rV6/WggUL9PjjjysiIkIGg0Hx8fFljvnHP/7R+bp169Z64YUX1Lt3b+Xk5Cg0NFQvv/yyIiIitGTJEvn7+0uSLrnkEud7/vnPf+r+++/XTTfdJEl68skntW7dOj333HN6+eWXtXjxYuXn5+utt95SSEiIJOmll17SiBEj9OSTTyouLq5GvzNXCEu1ZO/xLEnSpQnhGtLpwj94RJC/buzZrKR1aeMhwhIA1FFB/kbtfSTZa+d2R9++fcv0VCQlJWnu3LnatWuXrFZrmRAjlXTN/dptXVJSUjRr1izt2LFDZ86ckc1WcnHSkSNH1KlTJ6WmpmrAgAHOoFSaxWJRWlqa+vfvX2Z9//79tWPHDknS//73P3Xr1s0ZlBzbbTab9u/fT1hqCP53PFuS1LFJeLlt4/u30ltbftLafZk6eCJHrWNCa7s8AMCvMBgMbnWF1UU5OTkyGo1KSUkpd+80R3dbRRxdZMnJyXrnnXcUExOjI0eOKDk5WYWFhZIu3JutPmKAdy3Zm2aRVHFYatU4RIM7xEqSFn59uDbLAgDUQ1u3bi2zvGXLFrVr1049evSQ1WpVZmam2rZtW+bh6HYzm82yWq1l3r9v3z6dOnVKTzzxhAYMGKAOHTqUG9zdtWtXffXVVxXely08PFwJCQnatGlTmfWbNm1Sp06dJEkdO3bUjh07lJubW2a7n5+f2rdvX/UvwwMIS7XAbrfrf8dLwlKnCsKSJP2xfytJ0rLtPysrz7M3AAQANCxHjhzRtGnTtH//fv3nP//Riy++qClTpuiSSy7RmDFjNHbsWH3wwQc6dOiQvvnmG82ZM0f//e9/JUktW7ZUTk6O1q5dq5MnTyovL0/NmzeX2WzWiy++qIMHD2rlypV69NFHy5xz0qRJslgsuummm7R9+3b98MMPevvtt50Dxe+77z49+eSTWrp0qfbv368ZM2YoNTVVU6ZMkSSNGTNGgYGBGjdunHbv3q1169Zp8uTJuvXWW73aBScRlmpFZnaBTuUWys8gtY8Pq3CfpDbR6hAfpnNFVi3ZdqSWKwQA1Cdjx47VuXPndPnll2vixImaMmWK7rjjDknSggULNHbsWN17771q3769Ro0apW3btql58+aSpH79+unOO+/U6NGjFRMTo6eeekoxMTFauHChli1bpk6dOumJJ57QP//5zzLnjI6O1hdffKGcnBxdeeWV6tmzp1577TXnGKa7775b06ZN07333qsuXbpo9erVWrlypdq1aydJCg4O1qeffqrTp0+rd+/euuGGGzR48GC99NJLtfjNVcxgd3fyhgbOYrEoIiJCWVlZCg+vuJXoYuv2Z+q2BdvUNjZUn0+78hf3e3f7Uf31vZ1KiAjUl38dJJORLAsA3pCfn69Dhw6pVatWCgwM9HY5qCRX/25V+f124Ne4Frgar1TayG4JahxqVlpWvlbvSa+N0gAAwK8gLNWCXxuv5BDob9SYPi0kSW9sPFTjdQEAgF9HWKoFjrDUsUnF45VKu6VvCxn9DPruyFn9dCr3V/cHAAA1y2fD0hNPPCGDwaCpU6c61+Xn52vixImKjo5WaGiorr/+emVkZJR535EjRzR8+HAFBwcrNjZW9913n3Mq9ppwrtCqQydLQk+nhF/vI40JC1CfVlGSpDV7M35lbwBATWJYr2+pqX8vnwxL27Zt0yuvvKKuXbuWWX/PPffoo48+0rJly7RhwwalpaXpd7/7nXO71WrV8OHDVVhYqK+//lqLFi3SwoUL9dBDD9VYrfszsmWzS41DzYoNq9wgwWvOz/D9GWEJALzCcQVXXl6elyuBOxz/XhXNIl4dPjcVaU5OjsaMGaPXXntNjz32mHN9VlaW3njjDS1evFhXX321pJLLIzt27KgtW7aob9+++uyzz7R37159/vnniouLU/fu3fXoo4/q/vvv16xZs2Q2m8udr6CgQAUFBc5li8XiVr2VHdxd2jWd4jT7o73afvi0TucWKiqkfF0AgJpjNBoVGRnpnHgxODiYG53XYXa7XXl5ecrMzFRkZGS52cmry+fC0sSJEzV8+HANGTKkTFhKSUlRUVGRhgwZ4lzXoUMHNW/eXJs3b1bfvn21efNmdenSpczkVsnJybrrrru0Z88e9ejRo9z55syZo9mzZ1e53soO7i6tWaNgdWoSrr3HLVr7vwzd2CuxyucHAFSNY0bri2eqRt0VGRlZ7gbAnuBTYWnJkiX69ttvtW3btnLb0tPTZTabFRkZWWZ9XFyc0tPTnftcPAuoY9mxz8VmzpypadOmOZctFosSEysfXvY6wlIlxiuVdk2nOO09btFnewlLAOANBoNBTZo0UWxsbIW38EDd4u/v7/EWJQefCUtHjx7VlClTtGbNmlqdICwgIEABAQFVeq/NZte+4+53w0nS0Evj9PzaH/TVDyd0rtCqIHPN/AcAAHDNaDTW2I8wfIPPDPBOSUlRZmamLrvsMplMJplMJm3YsEEvvPCCTCaT4uLiVFhYqLNnz5Z5X0ZGhrNJLj4+vtzVcY7lmmi2O3I6T7mFVplNfmrdOMSt93ZqEq6mkUHKL7Lpqx9OeLw2AABQOT4TlgYPHqxdu3YpNTXV+ejVq5fGjBnjfO3v76+1a9c637N//34dOXJESUlJkqSkpCTt2rWrTP/zmjVrFB4e7rzrsSc5xiu1jwtz+9YlBoPBeVUcUwgAAOA9PtMNFxYWps6dO5dZFxISoujoaOf6CRMmaNq0aYqKilJ4eLgmT56spKQk9e3bV5I0dOhQderUSbfeequeeuoppaen68EHH9TEiROr3NXmyl43JqOsyNBOcVr49WGt3Zcpq80uox9XYgAAUNt8JixVxrPPPis/Pz9df/31KigoUHJysv71r385txuNRq1atUp33XWXkpKSFBISonHjxumRRx6pkXqqciVcab1bRSkiyF+ncwuV8tMZXX5+skoAAFB7DHamJ3WLO3ct7v/EFzp29pyW3tFXfVpHV+l89yxN1fLvjun2Aa30wHDPdxUCANAQuPP7fTGfGbPka87mFerY2XOSpI5uThtQ2tBSs3mTawEAqH2EpRryv+PZkqRmjYIUHlj1adcHXhIjs8lPP53K0w+ZOZ4qDwAAVBJhqYbsreZ4JYeQAJOuaNtYkvTZnoonzgQAADWHsFRD/lfFySgrwo11AQDwHsJSDXHcQNfd25xUZHDHWBkM0s6fs5Rhya/28QAAQOURlmqA3W7XgRMl44s6xFdtjqXSYsMC1a1ZpCRp7f+4oSMAALWJsFQDsguKVVhskyTFhXvmPnaOrri1/6MrDgCA2kRYqgGncgolSaEBJgX6e+bmi4M7xkqSNh44qXOFVo8cEwAA/DrCUg04lVMgSYoONXvsmO3jwtQ0MkgFxTZtPHDSY8cFAACuEZZqwKnckpalqBDPhaXSN9b9nKviAACoNYSlGuDohosO8ezNeR1dcWv3ZcpmYzZvAABqA2GpBji64Rp7sBtOkvq0ilZogEkncwq081iWR48NAAAqRliqATXRDSdJZpOfrrwkRhJdcQAA1BbCUg1whKXoUM92w0kXuuI+ZwoBAABqBWGpBtRUN5wkDWofKz+DtC89Wz+fyfP48QEAQFmEpRrgGODt6W44SWoUYlavFlGSmM0bAIDaQFiqAc5uOA9fDedAVxwAALWHsORhNptdp3NrrhtOkoacn29py8FTys4vqpFzAACAEoQlDzt7rkiOKZAa1UA3nCS1iQlVq8YhKrLa9dUPzOYNAEBNIix5mKNVKSLIX/7Gmvt6B3c43xXHFAIAANQowpKHnXTM3l1DXXAOjq64L/Znqshqq9FzAQDQkBGWPOzCrU5qNiz1atFIUSFmnc0r0taDp2v0XAAANGSEJQ9zdMPV1JVwDiajn5IvjZck/XfX8Ro9FwAADRlhycNqqxtOkv6vS0lY+mxPuorpigMAoEYQljzslLNlqebDUt/W0YoM9tep3EJ9c5iuOAAAagJhycNO1+B94S7mb/TT0PMDvT/ZlV7j5wMAoCEiLHlYbXbDSdK1XZpIklbvSZfVMcETAADwGMKShzluolsT94WrSP82jRUeaNKJ7AKl/HSmVs4JAEBDQljyMEc3XONa6IaTJLPJT9d0Khno/TFXxQEA4HGEJQ8qttp0Jq/kXm21McDbwXFV3Ord6bLRFQcAgEcRljzodF5Jq5LBIEUG115YuqJdY4UGmJRuydd3R8/W2nkBAGgICEse5OiCiwo2y+hnqLXzBpiMGtKx5F5xdMUBAOBZhCUPOlXLV8KV5rgq7pNdx2W30xUHAICnEJY86GQtXwlX2pWXxCjEbFRaVr52/JxV6+cHAKC+Iix50IWWpdq5Eq60QH+jru7omKCSrjgAADyFsORBzmkDvNCyJEn/17nkqrhVO49zVRwAAB5CWPIgx33hokJqv2VJkgZ1iFVYgEnHzp7T1kPcKw4AAE8gLHlQbd/q5GKB/kZd161koPd7KT97pQYAAOobwpIHXZi92zthSZJu6NlMkvTJ7uPKLSj2Wh0AANQXhCUPunBfOO90w0nSZc0bqVXjEOUVWvXJ7nSv1QEAQH1BWPIgb86z5GAwGJytS++lHPVaHQAA1BeEJQ8pKLYq+3y3V2MvtixJ0m97NJXBIG05eFpHT+d5tRYAAHwdYclDHOOVTH4GhQeZvFpLQmSQ+rdpLEn64NtjXq0FAABfR1jyEEcXXFSIWQZD7d0X7pc4u+K+PcqcSwAAVANhyUNO5Xpv9u6KJF8ar9AAk46ePqdth5lzCQCAqiIseYjjSrhoL83efbEgs1HXdWXOJQAAqouw5CF14Uq4i11/vivu413HlVfInEsAAFQFYclDnN1wXr4SrrReLRqpRXSwcgutWs2cSwAAVAlhyUOc3XB1qGXJYDDohstKWpfe3c6cSwAAVAVhyUMutCzVnbAklXTFGf0M2nLwtPalW7xdDgAAPoew5CF17Wo4h4TIIA27NF6StHDTYe8WAwCADyIseUhd7IZzuK1/S0nS8u+OOSfPBAAAlUNY8hDn1XB1rBtOknq2aKQuTSNUUGzTf7454u1yAADwKYQlD8grLNa5IqukutcNJ5UM9Ha0Lr21+bCKrDbvFgQAgA8hLHmAo1UpwOSnELPRy9VUbHjXJooJC1CGpUAf7zru7XIAAPAZhCUPKH0lXF24L1xFAkxG3dKnhSRpAQO9AQCoNMKSB5zOdQzurntdcKXd3Ke5zEY/pR49q2+PnPF2OQAA+ATCkgecrIO3OqlITFiARnZPkETrEgAAlUVY8gDHmKWoOngl3MUcA70/2XVcx7POebcYAAB8AGHJAxxzLDWu491wknRpQoQubxWlYptdb2/+ydvlAABQ5xGWPOB0Hb3VyS/5Y/9WkqS3t/ykrLwiL1cDAEDdRljygJO5vtMNJ0lDO8WpfVyYsvOL9frGg94uBwCAOo2w5AG+1A0nSX5+Bt1zTTtJ0psbD3ELFAAAXCAseYCzG66OXw1XWvKl8bo0IVy5hVa9+iWtSwAA/BLCkgecySsJS5FBvhOWDAaD7hlyiSRp0deHdSK7wMsVAQBQN/lMWJozZ4569+6tsLAwxcbGatSoUdq/f3+ZffLz8zVx4kRFR0crNDRU119/vTIyMsrsc+TIEQ0fPlzBwcGKjY3Vfffdp+Li4irXVVhsU35Ryb3WIoL8q3wcbxjcMVbdmkXoXJFVr2z40dvlAABQJ/lMWNqwYYMmTpyoLVu2aM2aNSoqKtLQoUOVm5vr3Oeee+7RRx99pGXLlmnDhg1KS0vT7373O+d2q9Wq4cOHq7CwUF9//bUWLVqkhQsX6qGHHqpyXdn5F64mCw00Vfk43mAwGHTPNSWtS29v+UkZlnwvVwQAQN1jsNvtdm8XURUnTpxQbGysNmzYoIEDByorK0sxMTFavHixbrjhBknSvn371LFjR23evFl9+/bVJ598ouuuu05paWmKi4uTJM2fP1/333+/Tpw4IbP517vRLBaLIiIilJWVpfDwcB06matB/1yv0ACTds9OrtHPXBPsdrtumL9ZKT+d0fh+LTVr5KXeLgkAAI+7+PfbHT7TsnSxrKwsSVJUVJQkKSUlRUVFRRoyZIhznw4dOqh58+bavHmzJGnz5s3q0qWLMyhJUnJysiwWi/bs2VPheQoKCmSxWMo8SrOcK2lZCvexViUHg8GgaedblxZvPaK0s8zqDQBAaT4Zlmw2m6ZOnar+/furc+fOkqT09HSZzWZFRkaW2TcuLk7p6enOfUoHJcd2x7aKzJkzRxEREc5HYmJime3Z+SXjncJ9bLxSaf3aRKtPqygVWm168YsfvF0OAAB1ik+GpYkTJ2r37t1asmRJjZ9r5syZysrKcj6OHj1aZrvl/JilMB9tWZJKWpfuHdpekrRk21HtPpbl5YoAAKg7fC4sTZo0SatWrdK6devUrFkz5/r4+HgVFhbq7NmzZfbPyMhQfHy8c5+Lr45zLDv2uVhAQIDCw8PLPEq70A3nuy1LknR5qyiN6JYgu136+4e7ZbP55FA2AAA8zmfCkt1u16RJk7R8+XJ98cUXatWqVZntPXv2lL+/v9auXetct3//fh05ckRJSUmSpKSkJO3atUuZmZnOfdasWaPw8HB16tSpSnXVh244hwf+r6NCzEZ9d+Ss3vv2Z2+XAwBAneAzYWnixIn697//rcWLFyssLEzp6elKT0/XuXMlA5IjIiI0YcIETZs2TevWrVNKSopuu+02JSUlqW/fvpKkoUOHqlOnTrr11lu1Y8cOffrpp3rwwQc1ceJEBQRU7VYl9aEbziE+IlB3Dy65DcqTn+zjJrsAAMiHwtK8efOUlZWlq666Sk2aNHE+li5d6tzn2Wef1XXXXafrr79eAwcOVHx8vD744APndqPRqFWrVsloNCopKUm33HKLxo4dq0ceeaTKddWXbjiH2/q3UpuYEJ3KLdQza/b/+hsAAKjnfHaeJW+5eJ6Ge5amavl3x/S3/+ugOwa28XZ5HrHpwEmNeX2r/AzSR5Ov0KUJEd4uCQCAammQ8yzVFY4ZvOtLy5Ik9W/bWMO7NpHNLj384R4GewMAGjTCUjVZzpUM8A6rR2FJkh4c3lHBZqO2/3RG7zPYGwDQgBGWqskxwDs8yPcHeJfWJCJIk68uGez96Kq9Op7FzN4AgIaJsFRNzqkD6lnLkiT9aUArdW0WIUt+saYv20F3HACgQSIsVZPjarj6MHXAxfyNfnp2dHcF+vtp04FTenPTIW+XBABArSMsVYPVZld2Qf2ZlLIibWJC9eDwkgk7n/p0v/anZ3u5IgAAahdhqRpyzgclqX62LDmM6dNcV3eIVWGxTVOWfKeCYqu3SwIAoNYQlqrB0QUXYPJTgMno5WpqjsFg0BPXd1FUiFn70rM197PvvV0SAAC1hrBUDReuhKufXXClxYYF6onfdZEkvfbVQX3940kvVwQAQO0gLFWDY46l8HrcBVfa0EvjdVPvRNnt0t3/+U7HzjKdAACg/iMsVUN2A2pZcnhoRCd1bBKukzmFuuOt7TpXyPglAED9RliqBkt+/Zy925Vgs0mvje2p6BCz9qRZdN97O8TtBQEA9RlhqRocA7wbSjecQ7NGwZp3S0+Z/AxatfO4/rX+R2+XBABAjSEsVYNz9u4G1A3ncHmrKD3ym86SpH9+tl9r9mZ4uSIAAGoGYakaHFfD1ec5lly5uU9z3dq3hex2aeqS75iwEgBQLxGWquFCN1zDa1lyeGhEJ/VtHaXcQqvGvfmNjp7O83ZJAAB4FGGpGhrSPEu/xN/op3ljeuqSuFClW/J18+tblJ6V7+2yAADwGMJSNTjHLDXQbjiHRiFm/XtCH7WIDtbR0+c05vUtOplT4O2yAADwCMJSNThblhpwN5xDbHig3vlTHyVEBOrHE7ka+8Y3yjrfTQkAgC8jLFWDcwbvoIbdsuTQrFGw/v2nPmocGqC9xy0av+Ab5Za62TAAAL6IsFQN2bQsldM6JlT//tPligjy13dHzuqWN7bqTG6ht8sCAKDKCEtVZLfbG+QM3pXRIT5cb/3xQmC68ZXNSuM+cgAAH0VYqqK8QqustpLbfNANV163xEi9d2eSmkQE6kBmjq6f97V+yGAeJgCA7yEsVVHO+VYlk59BQf5GL1dTN7WLC9P7d/VT29hQHc/K1w3zNyvlpzPeLgsAALcQlqoou+DC7N0Gg8HL1dRdCZFBWvbnJPVoHqmsc0Ua8/oWrd6d7u2yAACotEr1H1122WVuHdRgMGjlypVq2rRplYryBc7ZuxvwhJSV1SjErHf+1Ed/eedbrd9/Qnf+O0UTB7XRtGvay+hH0AQA1G2VCkupqam69957FRoa+qv72u12PfHEEyooqN+TEmYXOCakJCxVRrDZpNfG9tKcj/fpzU2H9PK6H7XrmEUv3NRdkcFmb5cHAMAvqvTI5Pvuu0+xsbGV2nfu3LlVLshXOMYsMbi78vyNfnpoRCd1S4zQ/e/v1Jffn9CIlzZq/i09dWlChLfLAwCgQpUas3To0CHFxMRU+qB79+5VixYtqlyUL3DMsRQWQMuSu37Tvak+uKu/EqOCdPT0OV0/72st3npEdrvd26UBAFBOpcJSixYt3BrEnJiYKKOxfl8hZqFlqVo6JYTro0lX6MpLYpRfZNPflu/ShEXblZnNTXgBAHVLlX7p8/PztXPnTmVmZspms5XZNnLkSI8UVtcxZqn6IoPNWjC+t97YeEhPf7pfX+zLVPKzX+rx33bRtV2aeLs8AAAkVSEsrV69WmPHjtXJkyfLbTMYDLJarR4prK7LPsfs3Z7g52fQ7QNba+AlMbpnaar2Hrforne+1e96NNVDIzox+BsA4HVuz7M0efJk3XjjjTp+/LhsNluZR0MJSlKp+8LRDecR7ePDtGJif00c1EZ+BumD747p6rkb9O72o7LZGMsEAPAet8NSRkaGpk2bpri4uJqox2fQDed5ZpOf7kvuoGV3JqldbKhO5xbqr+/t1O9f2ay9aRZvlwcAaKDcDks33HCD1q9fXwOl+JYL3XC0LHlazxZR+njKAM28toOCzUZt/+mMRry0UbM/2qOsvCJvlwcAaGAMdjev187Ly9ONN96omJgYdenSRf7+ZVtW7r77bo8WWNdYLBZFRERowGOrdCRbWnJHX/VtHe3tsuqttLPn9Oiqvfrk/C1SIoL8dddVbTS+X0sFck8+AEAlOX6/s7KyFB4e7tZ73Q5Lb7zxhu68804FBgYqOjq6zJQCBoNBBw8edKsAX+P4srs/sEJnik36+O4B6pTg3pcO9234/oT+8d+9+j4jR5IUHx6oqUPa6YaezWQycotDAIBrtRqW4uPjdffdd2vGjBny82t4P1KOL7vN9PdUbAzUxvsHqVmjYG+X1SBYbXZ98O3PenbN90rLKpmPqXVMiCYNaqsR3RLkT2gCAPyC6oQlt39dCgsLNXr06AYZlEorLC6ZX4qpA2qP0c+gG3sl6ovpV+nB4R3VKNhfB0/katq7O3TV0+v19ubDyi9qOFdkAgBqh9uJZ9y4cVq6dGlN1OJzDAYpLIAB3rUt0N+oPw1orQ1/HaT7ktsrOsSsY2fP6e8f7tEVT67Tv9Yf0Nm8Qm+XCQCoJ9z+pbdarXrqqaf06aefqmvXruUGeD/zzDMeK66uCw0wyc+v8reBgWeFB/pr4qC2mnBFK727/ahe2XBQx86e01Or9+v5z3/Qb7onaGxSS3Vuyk16AQBV53ZY2rVrl3r06CFJ2r17d5lt7tw/rj5gjqW6IdDfqLFJLfWHy5trZWqa3th4SHuPW/Tu9p/17vaf1bNFI41NaqHkS+O5gg4A4Da3w9K6detqog6fxBxLdYu/0U/X92ym313WVCk/ndFbm3/Sx7uOK+WnM0r56YzCA00a0S1BN/Rspu6JkQ0u3AMAqqbSv/bNmzfXyJEj9Zvf/EaDBg2SyURQCA+iZakuMhgM6tUySr1aRunB4R21+JsjWrb9Zx07e07vbD2id7YeUdvYUF1/WTON6NaEqxkBAC5VeuqADRs2aOXKlVq5cqVOnDih5ORkjRw5UsOHD1dkZGQNl1l3OC49TJz6roZ2b6XXx/XydkmoBJvNrs0HT2nZ9qNavSdd+UU257buiZG6rmsT/V+XJkqIDPJilQCAmlKr8yxJ0p49e7Ry5Up9+OGHSk1NVb9+/TRy5EiNHDlSrVu3dvdwPqV0WLqhbzs9M7q7t0uCmyz5RfrvzuNamZqmLYdOqfT/Ai5rHqkhneJ0Tcc4tY0NpasOAOqJWg9LpaWnp+ujjz7SypUrtXbtWrVu3VpPPvmkhg8fXp3D1lmlw9IfB3XSrJGXerskVENmdr5W707Xqp3Hte3w6TLBqUV0sIZ0jNPgjrHq1SJKZlPDnlsMAHxZrYSl06dPKyoqyuU+eXl5+vTTTxUWFqYhQ4a4VYivKB2Wpl7bVdOGtvd2SfCQDEu+1uzN0Of/y9DXB06p0Hqhqy7YbFTf1tEa0K6xBrSLUZuYEFqdAMCH1EpYCgwM1KhRozRhwgRdc801VSq0Pigdlv7+2566fWD97nZsqHILivXVDye0Zm+mNnx/QidzCspsbxIRqN4to9S7ZSP1bhWlS2LDmHMLAOqw6oSlSl/S9tprr2nhwoUaNmyYEhMTNX78eI0fP14tW7Z0t956IzyIKwLrq5AAk4Z1bqJhnZvIZrNrX3q2vvrhhL784YS2HTqj41n5WrkjTSt3pEmSIoL81atFI/VqGaXLWzVSl6aRdNsBQD3h9pilQ4cOaeHChXrrrbd09OhRDRo0SH/605/029/+VmazuabqrDNKtyy98scrdG2XJt4uCbXsXKFV3x05o28On9b2w2f07ZEzyisse0+6AJOfuiVGqmeLRurSNEJdmkaoWaMguu4AwEu8NsD7888/14IFC7RixQoFBgZqzJgxeuGFF6p6OJ9QOiwt/ssgXdGusbdLgpcVWW3am2bRtsOnte18gDqVW/7edOGBJnU+H5wuPf/cIiqY7jsAqAVevRpOkt5//33dcccdOnv2rKzW+n3X99JhadW916hrs0hvl4Q6xm636+DJXG07dFo7fs7S7mNZ2p+eXWbAuENogEmdEsLVqUm42sWFql1smC6JC1VkcP1vpQWA2lQrY5Yu9tNPP2nBggVatGiRsztuwoQJVT2cT+LecKiIwWBQm5hQtYkJ1U2Xl6wrLLbp+4xs7UnL0q5jWdp9zKL/Hbcop6BY3xw6rW8OnS5zjMahAbokLlTtYkPVNi5Ml8SGql1cmKJCCFEAUNvcCksFBQV6//339eabb2r9+vVq2rSpxo8fr9tuu61BDvTmdieoLLPJT52bRqhz0wiN7l2yrthq04ETOdr1c5a+z8jWD5k5+iEjR8fOntPJnAKdzCnQ1z+eKnOcyGB/tYgOUcvo4HLPUSFmxkQBQA2odFj6y1/+oiVLligvL0+/+c1v9PHHH+uaa65p0P/nzI10UR0mo586xIerQ3zZ5uCcgmL9mJlzPjydD1GZ2Tp6+pzO5hXpbN5Z7Th6ttzxQgNMahEdrJbRIWoWFaSmkecfjYKUEBlESygAVFGlf+03btyohx9+WLfccouio6NrsiafEOjvJ38jl4bD80IDTOqWGKluiZFl1ucVFuunU3n66VSuDp/Kc77+6VSe0rLOKaegWHvSLNqTZqnwuGGBpnIBKj48ULHhAYoLD1RsWIBCA0wN+g8gAKhIpcPSzp07yywXFhbq0KFDatOmjUymhtfCEk6rEmpZsNmkjk3C1bFJ+YGJ+UVW/XwmT4dP5unwqVz9fOac0s6e07GzJc9n8oqUnV+sfenZ2pee7eIcRsWGBSg2PNAZoOLCAxQbVhKqYsMCFRdOqALQsLj9i5+Xl6fJkydr0aJFkqTvv/9erVu31uTJk9W0aVPNmDHD40XWRaF0aaAOCfQ3qm1smNrGhlW4PbegWMezzunnMxcC1LEz55RhKVBmdr4yLQXKLihWXqFVh0/l6fCpPJfnC/I3KjrUrOgQsxqFmBUVUvI6KiRAUSH+558vbA8PJFwB8F1uh6WZM2dqx44dWr9+vYYNG+ZcP2TIEM2aNavBhKWwAFqW4DtCAkwuw5RU0s2XaSlQhiVfmdklzyeyyy47QtW5Iqt+PlMSvirD32hQo+CSUBUVYlZEkP+FR7B/2eVSj7BAfxmZhwqAl7n9i79ixQotXbpUffv2LfOX4qWXXqoff/zRo8XVZWHc6gT1TLDZpJaNTWrZOMTlfo5QdSq3UGdyC3U6t1Cncgt1OrdAp3OLzj8XOrfnFlpVZLUrM7tAmdkFLo99MYOhZAxX6QAVGmBSaKBJYeefQwP8zz8bS14HmBQWaFJogEkh518HmPxo2QJQZW7/4p84cUKxsbHl1ufm5jao/zMKC6AbDg1TZUOVQ36RVafPhyrHI+tcUYUPS6nXeYVW2e1Sdn6xsvOLK92KVRGTn+F8oCr1CCwJU8H+RgWbjQoymxRsdrw2KsRsUtD55WCzUUH+ZbcHm020egENhNthqVevXvrvf/+ryZMnS5IzIL3++utKSkrybHV1GNMGAJUT6G9UQmTJ1XfuKCy2yZJfKkzlFcmSX6ScgmLl5Bcrp6AkRDmWcwvLLucUlDwkqdhmPz/tQpFHP5vZ5KfgUsEqyN+oQH8/BZjOP/sbFWgyKsDfT4Hn1wX6GxVgKnkuvezYt/T7S/a5sD/hDPAOt3/xH3/8cV177bXau3eviouL9fzzz2vv3r36+uuvtWHDhpqosU4KY4A3UKPMJj81Dg1Q49CAKh/DZrMrt7BYuQVW5RQUlQlT2QXFyj0/qP1cobXkuahkueRRdlvJ62LlFZW0eEklga6w2ObxEPZL/I0GmY1+MptKPYwl05gEVLDOsRxgOr9cwXvLPJsuvC/gonUlD4NMRj/5+5U8m4wG+fuVPJv8DA2qdwENi9th6YorrlBqaqqeeOIJdenSRZ999pkuu+wybd68WV26dKmJGuskWpaAus/Pz6CwQP/zf9wEeuSYdrtdBcU2Z6ByhKncwmIVFNmUX2RVfrFV+UU2FRRZlV98fl2RTQVl1ltL9j+/Lr/IqoLS+55fLn1PwSKrXUVWq3IL6+Y9OE1+Bvk7QpTRr8xy2dclAc1UJnyVDWL+5/e7ENIcywYZ/UqO7edXclzj+eeyy34y+sm5r7HUo/Q+fn46v6+hzH7l3+PnfO1nEMGwganSL36bNm302muvebqWWvXyyy/r6aefVnp6urp166YXX3xRl19+eaXfT1gCGiaDweDsHquNe/VZbXZnyMovsqqw2KYiq80ZpBytW0WO1+e3FZXa5lhfWME6x34FpY9T4X52FVttKrKVPNsquAV7sc2uYptVqp2GNq+qOKT5/WLgMhgMJeHN4HhdErr8nK9LjmM8v67ktUF+fueXS+9nUMnr88cwGhyvHecqWec87/lzO85bUoPK1nb+uBef98I5S9XsOJfhQnC8sN6xfOHzGQwXPkOZ/c+vM5R6r5/BIIMq2Mf5PfzyMWv037syO1ksFrfu0Judna2wsF++RNnbli5dqmnTpmn+/Pnq06ePnnvuOSUnJ2v//v0VDl6vCN1wAGqD0c+gYLNJwXXsHso2m11FNpuKrXYVOcJUqeVi2/nnym4/H8KKrReO6whnRcVl97fa7bLa7Cq22WWzlRzXsWy12cu9vrBsK7NsK7Vf+eWKA6FD8fl93bu+EzWpXAC7KFzZC13PH+eKwW63u/jPoYTRaNTx48crHSTCw8OVmpqq1q1bV7mwmtSnTx/17t1bL730kiTJZrMpMTFRkydP/tV5oiwWiyIiIrRq+wEN79mmNsoFAHiB3X5R8LLbZbVWtGxzLhdbS4Uve0nAs9vl3F5yzJJlu/1C8KtwH+dru2z2koBqtZcc12Yr2cd2ftm5j/O1vdT+599b0T4VHr/0/r90/JJ97Lqw3m6/UI/NVvL92ZzrHMsX1qnUtnLv/9Vk4j5bQZ6OPvd7ZWVludUAJFWyZclut+v1119XaGhopQ5aVFR322ALCwuVkpKimTNnOtf5+flpyJAh2rx5c7n9CwoKVFBw4W8Hi6XkvluhTEoJAPWaweAYS+XtShqmsmGrdJi6sM3VPjZb2QCWZbHosueqVkulfvGbN2/u1hil+Ph4+fvXzW6qkydPymq1Ki4ursz6uLg47du3r9z+c+bM0ezZs8utD2dSSgAAakzJWCrJKM+MR7IE2H59p19QqV/8w4cPV/kEvm7mzJmaNm2ac9lisSgxMVHhTEoJAECD0OCaRxo3biyj0aiMjIwy6zMyMhQfH19u/4CAAAUElJ/nhRvpAgDQMPh5u4DaZjab1bNnT61du9a5zmazae3atW7NQB7o3+C+OgAAGqQG17IkSdOmTdO4cePUq1cvXX755XruueeUm5ur2267rdLHYEIyAAAahgYZlkaPHq0TJ07ooYceUnp6urp3767Vq1eXG/QNAABQqXmWcIFjnqWqzNMAAAC8ozq/31UaePPVV1/plltuUVJSko4dOyZJevvtt7Vx48aqHA4AAKDOcjssvf/++0pOTlZQUJC+++4754SNWVlZevzxxz1eIAAAgDe5HZYee+wxzZ8/X6+99lqZiSf79++vb7/91qPFAQAAeJvbYWn//v0aOHBgufURERE6e/asJ2oCAACoM9wOS/Hx8Tpw4EC59Rs3bqyzN84FAACoKrfD0u23364pU6Zo69atMhgMSktL0zvvvKPp06frrrvuqokaAQAAvMbteZZmzJghm82mwYMHKy8vTwMHDlRAQICmT5+uyZMn10SNAAAAXlPleZYKCwt14MAB5eTkqFOnTgoNDfV0bXUS8ywBAOB7qvP77XbLUlZWlqxWq6KiotSpUyfn+tOnT8tkMhEgAABAveL2mKWbbrpJS5YsKbf+3Xff1U033eSRogAAAOoKt8PS1q1bNWjQoHLrr7rqKm3dutUjRQEAANQVboelgoICFRcXl1tfVFSkc+fOeaQoAACAusLtsHT55Zfr1VdfLbd+/vz56tmzp0eKAgAAqCvcHuD92GOPaciQIdqxY4cGDx4sSVq7dq22bdumzz77zOMFAgAAeJPbLUv9+/fXli1blJiYqHfffVcfffSR2rZtq507d2rAgAE1USMAAIDXuNWyVFRUpD//+c/6+9//rnfeeaemagIAAKgz3GpZ8vf31/vvv19TtQAAANQ5bnfDjRo1SitWrKiBUgAAAOoetwd4t2vXTo888og2bdqknj17KiQkpMz2u+++22PFAQAAeJvb94Zr1arVLx/MYNDBgwerXVRdxr3hAADwPbV6b7hDhw65+xYAAACf5faYpdLsdrvcbJgCAADwKVUKS2+99Za6dOmioKAgBQUFqWvXrnr77bc9XRsAAIDXud0N98wzz+jvf/+7Jk2apP79+0uSNm7cqDvvvFMnT57UPffc4/EiAQAAvKVKA7xnz56tsWPHllm/aNEizZo1q96PaWKANwAAvqc6v99ud8MdP35c/fr1K7e+X79+On78uLuHAwAAqNPcDktt27bVu+++W2790qVL1a5dO48UBQAAUFe4PWZp9uzZGj16tL788kvnmKVNmzZp7dq1FYYoAAAAX+Z2y9L111+vrVu3qnHjxlqxYoVWrFihxo0b65tvvtFvf/vbmqgRAADAayo9wNtms8nPr1rTMtULDPAGAMD31MoAb39/f2VmZjqX77vvPp0+fdqtkwEAAPiaSoelixugXnnlFZ09e9bT9QAAANQpVe5X4zYnAACgIWAQEgAAgAtuTR3w0EMPKTg4WJJUWFiof/zjH4qIiCizzzPPPOO56gAAALys0mFp4MCB2r9/v3O5X79+OnjwYJl9DAaD5yoDAACoAyodltavX1+DZQAAANRN1RqztGnTJhUUFHiqFgAAgDqnWmHp2muv1bFjxzxVCwAAQJ1TrbDE9AEAAKC+Y+oAAAAAF6oVll555RXFxcV5qhYAAIA6x615li528803e6oOAACAOoluOAAAABcISwAAAC4QlgAAAFwgLAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAWfCEuHDx/WhAkT1KpVKwUFBalNmzZ6+OGHVVhYWGa/nTt3asCAAQoMDFRiYqKeeuqpcsdatmyZOnTooMDAQHXp0kUff/xxbX0MAADgg3wiLO3bt082m02vvPKK9uzZo2effVbz58/X3/72N+c+FotFQ4cOVYsWLZSSkqKnn35as2bN0quvvurc5+uvv9Yf/vAHTZgwQd99951GjRqlUaNGaffu3d74WAAAwAcY7Ha73dtFVMXTTz+tefPm6eDBg5KkefPm6YEHHlB6errMZrMkacaMGVqxYoX27dsnSRo9erRyc3O1atUq53H69u2r7t27a/78+RWep6CgQAUFBc5li8WixMREZWVlKTw8vKY+HgAA8CCLxaKIiIgq/X77RMtSRbKyshQVFeVc3rx5swYOHOgMSpKUnJys/fv368yZM859hgwZUuY4ycnJ2rx58y+eZ86cOYqIiHA+EhMTPfxJAABAXeaTYenAgQN68cUX9ec//9m5Lj09XXFxcWX2cyynp6e73MexvSIzZ85UVlaW83H06FFPfQwAAOADvBqWZsyYIYPB4PLh6EJzOHbsmIYNG6Ybb7xRt99+e43XGBAQoPDw8DIPAADQcJi8efJ7771X48ePd7lP69atna/T0tI0aNAg9evXr8zAbUmKj49XRkZGmXWO5fj4eJf7OLYDAABczKthKSYmRjExMZXa99ixYxo0aJB69uypBQsWyM+vbKNYUlKSHnjgARUVFcnf31+StGbNGrVv316NGjVy7rN27VpNnTrV+b41a9YoKSnJMx8IAADUOz4xZunYsWO66qqr1Lx5c/3zn//UiRMnlJ6eXmas0c033yyz2awJEyZoz549Wrp0qZ5//nlNmzbNuc+UKVO0evVqzZ07V/v27dOsWbO0fft2TZo0yRsfCwAA+ACvtixV1po1a3TgwAEdOHBAzZo1K7PNMfNBRESEPvvsM02cOFE9e/ZU48aN9dBDD+mOO+5w7tuvXz8tXrxYDz74oP72t7+pXbt2WrFihTp37lyrnwcAAPgOn51nyVuqM08DAADwjgY5zxIAAEBtICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwAAAC4QlgAAAFwgLAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwAAAC4QlgAAAFwgLAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwAAAC4QlgAAAFzwubBUUFCg7t27y2AwKDU1tcy2nTt3asCAAQoMDFRiYqKeeuqpcu9ftmyZOnTooMDAQHXp0kUff/xxLVUOAAB8kc+Fpb/+9a9KSEgot95isWjo0KFq0aKFUlJS9PTTT2vWrFl69dVXnft8/fXX+sMf/qAJEybou+++06hRozRq1Cjt3r27Nj8CAADwIQa73W73dhGV9cknn2jatGl6//33demll+q7775T9+7dJUnz5s3TAw88oPT0dJnNZknSjBkztGLFCu3bt0+SNHr0aOXm5mrVqlXOY/bt21fdu3fX/PnzK1WDxWJRRESEsrKyFB4e7tkPCAAAakR1fr99pmUpIyNDt99+u95++20FBweX275582YNHDjQGZQkKTk5Wfv379eZM2ec+wwZMqTM+5KTk7V58+ZfPG9BQYEsFkuZBwAAaDh8IizZ7XaNHz9ed955p3r16lXhPunp6YqLiyuzzrGcnp7uch/H9orMmTNHERERzkdiYmJ1PgoAAPAxXg1LM2bMkMFgcPnYt2+fXnzxRWVnZ2vmzJm1XuPMmTOVlZXlfBw9erTWawAAAN5j8ubJ7733Xo0fP97lPq1bt9YXX3yhzZs3KyAgoMy2Xr16acyYMVq0aJHi4+OVkZFRZrtjOT4+3vlc0T6O7RUJCAgod14AANBweDUsxcTEKCYm5lf3e+GFF/TYY485l9PS0pScnKylS5eqT58+kqSkpCQ98MADKioqkr+/vyRpzZo1at++vRo1auTcZ+3atZo6darzWGvWrFFSUpIHPxUAAKhPvBqWKqt58+ZllkNDQyVJbdq0UbNmzSRJN998s2bPnq0JEybo/vvv1+7du/X888/r2Wefdb5vypQpuvLKKzV37lwNHz5cS5Ys0fbt28tMLwAAAFCaTwzwroyIiAh99tlnOnTokHr27Kl7771XDz30kO644w7nPv369dPixYv16quvqlu3bnrvvfe0YsUKde7c2YuVAwCAusyn5lmqC5hnCQAA39Mg5lkCAADwBsISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwAAAC4QlgAAAFwgLAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADggsnbBfgau90uSbJYLF6uBAAAVJbjd9vxO+4OwpKbTp06JUlKTEz0ciUAAMBdp06dUkREhFvvISy5KSoqSpJ05MgRt79slGWxWJSYmKijR48qPDzc2+X4LL5Hz+G79By+S8/ge/ScrKwsNW/e3Pk77g7Ckpv8/EqGeUVERPAfroeEh4fzXXoA36Pn8F16Dt+lZ/A9eo7jd9yt99RAHQAAAPUGYQkAAMAFwpKbAgIC9PDDDysgIMDbpfg8vkvP4Hv0HL5Lz+G79Ay+R8+pzndpsFflGjoAAIAGgpYlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYctPLL7+sli1bKjAwUH369NE333zj7ZJ8zpdffqkRI0YoISFBBoNBK1as8HZJPmnOnDnq3bu3wsLCFBsbq1GjRmn//v3eLssnzZs3T127dnVO/JeUlKRPPvnE22X5vCeeeEIGg0FTp071dik+Z9asWTIYDGUeHTp08HZZPuvYsWO65ZZbFB0draCgIHXp0kXbt2+v9PsJS25YunSppk2bpocffljffvutunXrpuTkZGVmZnq7NJ+Sm5urbt266eWXX/Z2KT5tw4YNmjhxorZs2aI1a9aoqKhIQ4cOVW5urrdL8znNmjXTE088oZSUFG3fvl1XX321fvOb32jPnj3eLs1nbdu2Ta+88oq6du3q7VJ81qWXXqrjx487Hxs3bvR2ST7pzJkz6t+/v/z9/fXJJ59o7969mjt3rho1alTpYzB1gBv69Omj3r1766WXXpIk2Ww2JSYmavLkyZoxY4aXq/NNBoNBy5cv16hRo7xdis87ceKEYmNjtWHDBg0cONDb5fi8qKgoPf3005owYYK3S/E5OTk5uuyyy/Svf/1Ljz32mLp3767nnnvO22X5lFmzZmnFihVKTU31dik+b8aMGdq0aZO++uqrKh+DlqVKKiwsVEpKioYMGeJc5+fnpyFDhmjz5s1erAwokZWVJUlVukkkLrBarVqyZIlyc3OVlJTk7XJ80sSJEzV8+PAy/38J9/3www9KSEhQ69atNWbMGB05csTbJfmklStXqlevXrrxxhsVGxurHj166LXXXnPrGISlSjp58qSsVqvi4uLKrI+Li1N6erqXqgJK2Gw2TZ06Vf3791fnzp29XY5P2rVrl0JDQxUQEKA777xTy5cvV6dOnbxdls9ZsmSJvv32W82ZM8fbpfi0Pn36aOHChVq9erXmzZunQ4cOacCAAcrOzvZ2aT7n4MGDmjdvntq1a6dPP/1Ud911l+6++24tWrSo0scw1WB9AGrJxIkTtXv3bsY0VEP79u2VmpqqrKwsvffeexo3bpw2bNhAYHLD0aNHNWXKFK1Zs0aBgYHeLsenXXvttc7XXbt2VZ8+fdSiRQu9++67dA27yWazqVevXnr88cclST169NDu3bs1f/58jRs3rlLHoGWpkho3biyj0aiMjIwy6zMyMhQfH++lqgBp0qRJWrVqldatW6dmzZp5uxyfZTab1bZtW/Xs2VNz5sxRt27d9Pzzz3u7LJ+SkpKizMxMXXbZZTKZTDKZTNqwYYNeeOEFmUwmWa1Wb5fosyIjI3XJJZfowIED3i7F5zRp0qTcHz0dO3Z0q1uTsFRJZrNZPXv21Nq1a53rbDab1q5dy7gGeIXdbtekSZO0fPlyffHFF2rVqpW3S6pXbDabCgoKvF2GTxk8eLB27dql1NRU56NXr14aM2aMUlNTZTQavV2iz8rJydGPP/6oJk2aeLsUn9O/f/9y06p8//33atGiRaWPQTecG6ZNm6Zx48apV69euvzyy/Xcc88pNzdXt912m7dL8yk5OTll/jo6dOiQUlNTFRUVpebNm3uxMt8yceJELV68WB9++KHCwsKcY+ciIiIUFBTk5ep8y8yZM3XttdeqefPmys7O1uLFi7V+/Xp9+umn3i7Np4SFhZUbMxcSEqLo6GjG0rlp+vTpGjFihFq0aKG0tDQ9/PDDMhqN+sMf/uDt0nzOPffco379+unxxx/X73//e33zzTd69dVX9eqrr1b+IHa45cUXX7Q3b97cbjab7Zdffrl9y5Yt3i7J56xbt84uqdxj3Lhx3i7Np1T0HUqyL1iwwNul+Zw//vGP9hYtWtjNZrM9JibGPnjwYPtnn33m7bLqhSuvvNI+ZcoUb5fhc0aPHm1v0qSJ3Ww225s2bWofPXq0/cCBA94uy2d99NFH9s6dO9sDAgLsHTp0sL/66qtuvZ95lgAAAFxgzBIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADUCV9++aVGjBihhIQEGQwGrVixwq33Hz58WAaDodxjy5Yt1aqLsASgXrjqqqs0derUSu+/cOFCRUZG1lg9ANyXm5urbt266eWXX67WcT7//HMdP37c+ejZs2e1jkdYAgBJs2bNUvfu3b1dBtCgXXvttXrsscf029/+tsLtBQUFmj59upo2baqQkBD16dNH69evL7dfdHS04uPjnQ9/f/9q1UVYAgAAPmHSpEnavHmzlixZop07d+rGG2/UsGHD9MMPP5TZb+TIkYqNjdUVV1yhlStXVvu8hCUAPic3N1djx45VaGiomjRporlz55bbp7J/gUolXXKzZ8/Wjh07nGMcFi5cKEl65pln1KVLF4WEhCgxMVF/+ctflJOT84u13XzzzRo9enSZdUVFRWrcuLHeeuutKn9moKE7cuSIFixYoGXLlmnAgAFq06aNpk+friuuuEILFiyQJIWGhmru3LlatmyZ/vvf/+qKK67QqFGjqh2YTJ74AABQm+677z5t2LBBH374oWJjY/W3v/1N3377bZlutEmTJmnv3r1asmSJEhIStHz5cg0bNky7du1Su3btyhxv9OjR2r17t1avXq3PP/9ckhQRESFJ8vPz0wsvvKBWrVrp4MGD+stf/qK//vWv+te//lVhbWPGjNGNN96onJwchYaGSpI+/fRT5eXl/WLXAoBft2vXLlmtVl1yySVl1hcUFCg6OlqS1LhxY02bNs25rXfv3kpLS9PTTz+tkSNHVvnchCUAPiUnJ0dvvPGG/v3vf2vw4MGSpEWLFqlZs2bOfRx/gR45ckQJCQmSpOnTp2v16tVasGCBHn/88TLHDAoKUmhoqEwmk+Lj48tsKz1ovGXLlnrsscd05513/mJYSk5OVkhIiJYvX65bb71VkrR48WKNHDlSYWFh1f78QEOVk5Mjo9GolJQUGY3GMtscf5hUpE+fPlqzZk21zk1YAuBTfvzxRxUWFqpPnz7OdVFRUWrfvr1zuTJ/gVbW559/rjlz5mjfvn2yWCwqLi5Wfn6+8vLyFBwcXG5/k8mk3//+93rnnXd06623Kjc3Vx9++KGWLFni5icFUFqPHj1ktVqVmZmpAQMGVPp9qampatKkSbXOTVgCUO9U9S/Qix0+fFjXXXed7rrrLv3jH/9QVFSUNm7cqAkTJqiwsLDCsCSVdMVdeeWVyszM1Jo1axQUFKRhw4ZV6zMBDUFOTo4OHDjgXD506JBSU1MVFRWlSy65RGPGjNHYsWM1d+5c9ejRQydOnNDatWvVtWtXDR8+XIsWLZLZbFaPHj0kSR988IHefPNNvf7669Wqi7AEwKe0adNG/v7+2rp1q5o3by5JOnPmjL7//ntdeeWVkqr2F6jZbJbVai2zLiUlRTabTXPnzpWfX8n1MO++++6vHqtfv35KTEzU0qVL9cknn+jGG2+s9qXLQEOwfft2DRo0yLnsGH80btw4LVy4UAsWLNBjjz2me++9V8eOHVPjxo3Vt29fXXfddc73PProo/rpp59kMpnUoUMHLV26VDfccEO16iIsAfApoaGhmjBhgu677z5FR0crNjZWDzzwgDPMSKrUX6AXa9mypfOv2GbNmiksLExt27ZVUVGRXnzxRY0YMUKbNm3S/PnzK1XnzTffrPnz5+v777/XunXrPPb5gfrsqquukt1u/8Xt/v7+mj17tmbPnl3h9nHjxmncuHEer4upAwD4nKeffloDBgzQiBEjNGTIEF1xxRXlZuhdsGCBxo4dq3vvvVft27fXqFGjtG3bNmdr1MWuv/56DRs2TIMGDVJMTIz+85//qFu3bnrmmWf05JNPqnPnznrnnXc0Z86cStU4ZswY7d27V02bNlX//v2r/ZkBeI/B7irCAQAANHC0LAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgwv8Dna+dnDhWbS4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "tmp = obj.parseCurveFile('flong.cur')\n", + "#tmp = tmp.transpose()\n", + "\n", + "#remove Nan\n", + "#nan_mask = np.isnan(tmp).any(axis=1) # create boolean mask of rows with NaN values\n", + "#tmp = tmp[~nan_mask] # extract rows without any NaN values\n", + "tmp = tmp[:(100000)]\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "v_diff=tmp[:, 0]\n", + "force=tmp[:,1]\n", + "# plot the data points\n", + "#plt.plot(tmp[:, 0], tmp[:, 1], label='betacool')\n", + "plt.plot(v_diff,-force, label='betacool')\n", + "\n", + "\n", + "# add labels and legend\n", + "plt.xlabel('delta v')\n", + "plt.ylabel('-Force [eV/m]')\n", + "plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0))\n", + "plt.legend()\n", + "plt.xlim([0,6e5])\n", + "#plt.ylim([0,1550])\n", + "\n", + "# show the plot\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "263bf708", + "metadata": {}, + "outputs": [], + "source": [ + "# np.save('../force_betacool.npy', tmp)\n", + "\n", + "\n", + "np.savez('../force_betacool.npz', v_diff=v_diff, force=force)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + }, + "vscode": { + "interpreter": { + "hash": "b3c9a0a5475e728b39e61ac58d244ad936924f9cf82746515a9faeb1f1a0b703" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5fb81ee4dc082737b798daa69ec6db932ed00c49 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 13:58:49 +0200 Subject: [PATCH 05/43] add electron cooler to tests --- tests/test_elements.py | 149 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) diff --git a/tests/test_elements.py b/tests/test_elements.py index b6298d92f..7092a0236 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -46,6 +46,8 @@ def test_constructor(test_context): xt.Bend(_context=test_context, length=1.), xt.Quadrupole(_context=test_context, length=1.), xt.CombinedFunctionMagnet(_context=test_context, length=1.), + xt.ElectronCooler(_context=test_context,current=2.4,length=1.5,radius_e_beam=25*1e-3, + temp_perp=0.01,temp_long=0.001,magnetic_field=0.060) ] # test to_dict / from_dict @@ -1482,3 +1484,150 @@ def test_multipole_tilt_90_deg(test_context): assert np.allclose(pf.py, pfy.py, rtol=0, atol=1e-14) assert np.allclose(pf.zeta, pfy.zeta, rtol=0, atol=1e-14) assert np.allclose(pf.ptau, pfy.ptau, rtol=0, atol=1e-14) + + +@for_all_test_contexts +def test_ecooler(test_context): + """Test the electron cooler by comparing the cooling rate and cooling force with Betacool for Leir. + """ + data = np.load('../test_data/electron_cooler/emittance_betacool.npz') + emittance_betacool = data['emittance'] + time_betacool = data['time'] + + beta_rel = 0.09423258405 + gamma = 1.004469679 + current = 0.6 + cooler_length = 3 # m cooler length + radius_e_beam = 25 * 1e-3 + temp_perp = 0.01 # [eV] = kb*T + temp_long = 0.001 # [eV] + magnetic_field = 0.07 # T for LEIR + mass0 = 193729.0248722061 * 1e6 # eV/c^2 + clight = 299792458.0 + p0c = mass0 * beta_rel * gamma # eV/c + q0 = 54 + circumference = 78.54370266 # m + s_per_turn = circumference / (clight * beta_rel) + beta_x = 5 + beta_y = 5 + Q_x = 1.82 + Q_y = 2.72 + dQx = -0.0005113579791 + dQy = -0.0001665178543 + + arc = xt.LineSegmentMap( + qx=Q_x, qy=Q_y, qs=0, + dqx=dQx, dqy=dQy, + bets=1 * 1e40, length=circumference, + betx=beta_x, + bety=beta_y) + + num_particles = 100 # increase for better convergence + emittance = 14 * 1e-6 # initial emittance + sigma_x = np.sqrt(beta_x * emittance) + sigma_px = np.sqrt(emittance / beta_x) + sigma_y = np.sqrt(beta_y * emittance) + sigma_py = np.sqrt(emittance / beta_y) + sigma_p = 5e-3 + + delta = np.random.normal(loc=0.0, scale=sigma_p, size=num_particles) + x = np.random.normal(loc=0.0, scale=sigma_x, size=num_particles) + px = np.random.normal(loc=0.0, scale=sigma_px, size=num_particles) + y = np.random.normal(loc=0.0, scale=sigma_y, size=num_particles) + py = np.random.normal(loc=0.0, scale=sigma_py, size=num_particles) + + particles = xp.Particles( + mass0=mass0, + p0c=p0c, + q0=q0, + x=x, + px=px, + y=y, + py=py, + delta=delta, + zeta=0) + + cooler = xt.ElectronCooler( + current=current, + length=cooler_length, + radius_e_beam=radius_e_beam, + temp_perp=temp_perp, + temp_long=temp_long, + magnetic_field=magnetic_field) + + num_turns = 34700 + emittance_list = [] + + for i in range(num_turns): + x_xs = particles.x.copy() + px_xs = particles.px.copy() + cov00 = np.cov(x_xs, px_xs) + det00 = np.sqrt(np.linalg.det(cov00)) + emittance_list.append(det00) + arc.track(particles) + cooler.track(particles) + time = np.arange(0, num_turns, 1) * s_per_turn + + for i in range(len(time_betacool) - 1, -1, -1): + if not np.isnan(time_betacool[i]): + last_non_nan_index = i + break + + time_betacool = time_betacool[:last_non_nan_index] + matched_indices = [np.abs(time - time_value).argmin() for time_value in time_betacool] + emittance_xsuite = [emittance_list[index] for index in matched_indices] + emittance_betacool = emittance_betacool[:last_non_nan_index] + emittance_diff = emittance_xsuite - emittance_betacool + mse_emittance = np.mean(emittance_diff**2) + + data_betacool = np.load('../test_data/electron_cooler/force_betacool.npz') + v_diff_betacool = data_betacool['v_diff'] + force_betacool = data_betacool['force'] + num_particles = int(1e4) + + dtk_particle = dtk.TestParticles( + mass0=mass0, + p0c=p0c, + x=np.random.normal(0, 1e-20, num_particles), + px=np.random.normal(0, 4*np.sqrt(emittance/beta_x), num_particles), + y=np.random.normal(0, 1e-20, num_particles), + py=np.random.normal(0, 1e-20, num_particles), + delta=np.random.normal(0, 0, num_particles), + zeta=np.random.normal(0, 0, num_particles), + q0=q0) + + dtk_cooler = dtk.elements.ElectronCooler( + current=current, length=cooler_length, r_radius_e_beambeam=radius_e_beam, + temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, + neutralisation_space_charge=0) + + force, Fy, Fl = dtk_cooler.force(dtk_particle) + + px_tot = p0c*dtk_particle.px + beta_diff = px_tot/(mass0*gamma) + v_diff = beta_diff*clight + + sorted_indices = np.argsort(v_diff) + v_diff = v_diff[sorted_indices] + force = force[sorted_indices] + for i in range(len(v_diff_betacool) - 1, -1, -1): + if not np.isnan(v_diff_betacool[i]): + last_non_nan_index = i + break + + v_diff_betacool = v_diff_betacool[:last_non_nan_index] + + matching_indices = [] + for time_value in v_diff_betacool: + index = np.abs(v_diff - time_value).argmin() + matching_indices.append(index) + + force_xsuite = [force[i] for i in matching_indices] + + force_betacool = force_betacool[:last_non_nan_index] + + force_diff = force_xsuite - force_betacool + mse_force = np.mean(force_diff**2) + + assert mse_emittance <1e-9 + assert mse_force < 2 \ No newline at end of file From 5d2656472e0e663f50c263e04fd6ff2c2bd25064 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 14:07:04 +0200 Subject: [PATCH 06/43] added constants to constants.h --- xtrack/headers/constants.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xtrack/headers/constants.h b/xtrack/headers/constants.h index b7e6db703..9159b38ff 100644 --- a/xtrack/headers/constants.h +++ b/xtrack/headers/constants.h @@ -50,4 +50,12 @@ #define DBL_EPSILON (2.2204460492503131e-16) #endif /* !defined( DBL_EPSILON ) */ +#if !defined( RADIUS_ELECTRON ) + #define RADIUS_ELECTRON (2.8179403262e-15) +#endif /* !defined( RADIUS_ELECTRON ) */ + +#if !defined( MASS_ELECTRON ) + #define MASS_ELECTRON (9.1093837e-31) +#endif /* !defined( MASS_ELECTRON ) */ + #endif /* XTRACK_CONSTANTS_H */ From ae854002e43022791f1d79f1a0bf74fe28e06eea Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 14:31:19 +0200 Subject: [PATCH 07/43] fix electron cooler test --- tests/test_elements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 7092a0236..a7dee05c7 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1597,7 +1597,7 @@ def test_ecooler(test_context): q0=q0) dtk_cooler = dtk.elements.ElectronCooler( - current=current, length=cooler_length, r_radius_e_beambeam=radius_e_beam, + current=current, length=cooler_length, radius_e_beam=radius_e_beam, temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, neutralisation_space_charge=0) From 9522572af162d4fca118a4719bd4bcd87a7ba15b Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 11 Sep 2023 14:31:37 +0200 Subject: [PATCH 08/43] added electron cooler example --- .../Electron_cooler_IPAC2023_results.py | 121 ++ examples/electron_cooler/IPAC_results.eps | 1550 +++++++++++++++++ .../action_magnetic_field_ratio=0e+00.npz | Bin 0 -> 80270 bytes .../action_magnetic_field_ratio=1e-03.npz | Bin 0 -> 80270 bytes .../action_magnetic_field_ratio=1e-04.npz | Bin 0 -> 80270 bytes .../action_magnetic_field_ratio=5e-04.npz | Bin 0 -> 80270 bytes examples/electron_cooler/results/time.npz | Bin 0 -> 80262 bytes 7 files changed, 1671 insertions(+) create mode 100644 examples/electron_cooler/Electron_cooler_IPAC2023_results.py create mode 100644 examples/electron_cooler/IPAC_results.eps create mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz create mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz create mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=1e-04.npz create mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz create mode 100644 examples/electron_cooler/results/time.npz diff --git a/examples/electron_cooler/Electron_cooler_IPAC2023_results.py b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py new file mode 100644 index 000000000..642cf218f --- /dev/null +++ b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python +# coding: utf-8 + +# In[ ]: + + +# copyright ############################### # +# This file is part of the Xtrack Package. # +# Copyright (c) CERN, 2021. # +# ######################################### # +import numpy as np +import xtrack as xt +import xobjects as xo +import xpart as xp +#This file will generate and display the following IPAC results: +#https://doi.org/10.18429/JACoW-IPAC2023-TUPM027 +#https://www.ipac23.org/preproc/doi/jacow-ipac2023-tupm027/index.html + +#lattice parameters for AD at 300 MeV +beta_rel = 0.305 +gamma = 1.050 + +qx = 5.44 +qy = 5.42 + +beta_x = 10 +beta_y = 4 + +clight = 299792458.0 +circumference = 182.43280000000 #m +s_per_turn = circumference/(clight*beta_rel) + +context = xo.ContextCpu(omp_num_threads='auto') + +arc = xt.LineSegmentMap( + qx=qx, qy=qx, + dqx=0, dqy=0, + length=circumference, + betx=beta_x, + bety=beta_y) + +mass0 = 938.27208816*1e6 #ev/c^2 +p0c = mass0*beta_rel*gamma #eV/c + +#electron cooler parameters +current = 2.4 # A current +length = 1.5 # m cooler length +radius_e_beam = 25*1e-3 #m radius of the electron beam + +temp_perp = 100e-3 # [eV] = kb*T +temp_long = 1e-3 # [eV] +magnetic_field = 0.060 # T for AD + +emittance = 35*1e-6 #inital emittance +x_init = np.sqrt(beta_x*emittance) +y_init = np.sqrt(beta_y*emittance) + +magnetic_field_ratio_list = [0,1e-4,5e-4,1e-3] #Iterate over different values of the magnetic field quality to see effect on cooling performance. +#magnetic_field_ratio is the ratio of transverse componenet of magnetic field and the longitudinal component. In the ideal case, the ratio is 0. + +for magnetic_field_ratio in magnetic_field_ratio_list: + + particle = xp.Particles( + + mass0=mass0, + p0c=p0c, + x=x_init, + px=0, + y=0, + py=0, + delta=0, + zeta=0) + #load electron cooler beam element + electron_cooler = xt.ElectronCooler(current=current,length=length,radius_e_beam=radius_e_beam, + temp_perp=temp_perp,temp_long=temp_long, + magnetic_field=magnetic_field,magnetic_field_ratio=magnetic_field_ratio, + neutralisation_space_charge=0,neutralisation_rotation=0) + num_turns = int(1*1e7) + save_interval = 1000 + + action_x = [] + + for i in range(num_turns): + if i % save_interval == 0: + # # calculate action in horizontal plane + action_x_temp = (particle.x**2/beta_x + beta_x*particle.px**2) + action_x.append(action_x_temp) + + arc.track(particle) + electron_cooler.track(particle) + + filepath = f'results/action_magnetic_field_ratio={magnetic_field_ratio:.0e}.npz' + np.savez(filepath, action_x=action_x) + +time = np.arange(0, num_turns, save_interval) * s_per_turn + +np.savez('results/time.npz', time=time) + + +# In[ ]: + + +import numpy as np +import matplotlib.pyplot as plt +magnetic_field_ratio_list=[0,1e-4,5e-4,1e-3] +time_data = np.load('results/time.npz')['time'] +plt.figure(figsize=(10, 5)) +plt.rcParams.update({'font.size': 14}) # set the default fontsize to 14 +for magnetic_field_ratio in magnetic_field_ratio_list: + filepath = f'results/action_magnetic_field_ratio={magnetic_field_ratio:.0e}.npz' + data = np.load(filepath) + action_x = data['action_x']*1e6 + plt.plot(time,action_x,label='$B_{\perp}/B_{\parallel}$='f'{magnetic_field_ratio:.0e}') + +plt.xlabel('Time [s]') +plt.ylabel('$J_x$ $[\mu m]$') +plt.legend() + +plt.savefig('IPAC_results.eps', dpi=300) +plt.savefig('IPAC_results.png', dpi=300) + diff --git a/examples/electron_cooler/IPAC_results.eps b/examples/electron_cooler/IPAC_results.eps new file mode 100644 index 000000000..4ac867e2a --- /dev/null +++ b/examples/electron_cooler/IPAC_results.eps @@ -0,0 +1,1550 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: IPAC_results.eps +%%Creator: Matplotlib v3.7.1, https://matplotlib.org/ +%%CreationDate: Tue Jul 18 16:41:44 2023 +%%Orientation: portrait +%%BoundingBox: -54 216 666 576 +%%HiResBoundingBox: -54.000000 216.000000 666.000000 576.000000 +%%EndComments +%%BeginProlog +/mpldict 13 dict def +mpldict begin +/_d { bind def } bind def +/m { moveto } _d +/l { lineto } _d +/r { rlineto } _d +/c { curveto } _d +/cl { closepath } _d +/ce { closepath eofill } _d +/box { + m + 1 index 0 r + 0 exch r + neg 0 r + cl + } _d +/clipbox { + box + clip + newpath + } _d +/sc { setcachedevice } _d +%!PS-Adobe-3.0 Resource-Font +%%Creator: Converted from TrueType to Type 3 by Matplotlib. +10 dict begin +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [0.00048828125 0 0 0.00048828125 0 0] def +/FontBBox [-2090 -948 3673 2524] def +/FontType 3 def +/Encoding [/space /uni2225 /plus /hyphen /period /slash /zero /one /two /three /four /five /seven /equal /T /bracketleft /bracketright /e /i /m /s] def +/CharStrings 22 dict dup begin +/.notdef 0 def +/space{651 0 0 0 0 0 sc +ce} _d +/uni2225{1024 0 272 -438 752 1579 sc +272 1579 m +432 1579 l +432 -438 l +272 -438 l +272 1579 l + +592 1579 m +752 1579 l +752 -438 l +592 -438 l +592 1579 l + +ce} _d +/plus{1716 0 217 0 1499 1284 sc +942 1284 m +942 727 l +1499 727 l +1499 557 l +942 557 l +942 0 l +774 0 l +774 557 l +217 557 l +217 727 l +774 727 l +774 1284 l +942 1284 l + +ce} _d +/hyphen{739 0 100 479 639 643 sc +100 643 m +639 643 l +639 479 l +100 479 l +100 643 l + +ce} _d +/period{651 0 219 0 430 254 sc +219 254 m +430 254 l +430 0 l +219 0 l +219 254 l + +ce} _d +/slash{690 0 0 -190 690 1493 sc +520 1493 m +690 1493 l +170 -190 l +0 -190 l +520 1493 l + +ce} _d +/zero{1303 0 135 -29 1167 1520 sc +651 1360 m +547 1360 469 1309 416 1206 c +364 1104 338 950 338 745 c +338 540 364 387 416 284 c +469 182 547 131 651 131 c +756 131 834 182 886 284 c +939 387 965 540 965 745 c +965 950 939 1104 886 1206 c +834 1309 756 1360 651 1360 c + +651 1520 m +818 1520 946 1454 1034 1321 c +1123 1189 1167 997 1167 745 c +1167 494 1123 302 1034 169 c +946 37 818 -29 651 -29 c +484 -29 356 37 267 169 c +179 302 135 494 135 745 c +135 997 179 1189 267 1321 c +356 1454 484 1520 651 1520 c + +ce} _d +/one{1303 0 225 0 1114 1493 sc +254 170 m +584 170 l +584 1309 l +225 1237 l +225 1421 l +582 1493 l +784 1493 l +784 170 l +1114 170 l +1114 0 l +254 0 l +254 170 l + +ce} _d +/two{1303 0 150 0 1098 1520 sc +393 170 m +1098 170 l +1098 0 l +150 0 l +150 170 l +227 249 331 356 463 489 c +596 623 679 709 713 748 c +778 821 823 882 848 932 c +874 983 887 1032 887 1081 c +887 1160 859 1225 803 1275 c +748 1325 675 1350 586 1350 c +523 1350 456 1339 385 1317 c +315 1295 240 1262 160 1217 c +160 1421 l +241 1454 317 1478 388 1495 c +459 1512 523 1520 582 1520 c +737 1520 860 1481 952 1404 c +1044 1327 1090 1223 1090 1094 c +1090 1033 1078 974 1055 919 c +1032 864 991 800 930 725 c +913 706 860 650 771 557 c +682 465 556 336 393 170 c + +ce} _d +/three{1303 0 156 -29 1139 1520 sc +831 805 m +928 784 1003 741 1057 676 c +1112 611 1139 530 1139 434 c +1139 287 1088 173 987 92 c +886 11 742 -29 555 -29 c +492 -29 428 -23 361 -10 c +295 2 227 20 156 45 c +156 240 l +212 207 273 183 340 166 c +407 149 476 141 549 141 c +676 141 772 166 838 216 c +905 266 938 339 938 434 c +938 522 907 591 845 640 c +784 690 698 715 588 715 c +414 715 l +414 881 l +596 881 l +695 881 771 901 824 940 c +877 980 903 1037 903 1112 c +903 1189 876 1247 821 1288 c +767 1329 689 1350 588 1350 c +533 1350 473 1344 410 1332 c +347 1320 277 1301 201 1276 c +201 1456 l +278 1477 349 1493 416 1504 c +483 1515 547 1520 606 1520 c +759 1520 881 1485 970 1415 c +1059 1346 1104 1252 1104 1133 c +1104 1050 1080 980 1033 923 c +986 866 918 827 831 805 c + +ce} _d +/four{1303 0 100 0 1188 1493 sc +774 1317 m +264 520 l +774 520 l +774 1317 l + +721 1493 m +975 1493 l +975 520 l +1188 520 l +1188 352 l +975 352 l +975 0 l +774 0 l +774 352 l +100 352 l +100 547 l +721 1493 l + +ce} _d +/five{1303 0 158 -29 1124 1493 sc +221 1493 m +1014 1493 l +1014 1323 l +406 1323 l +406 957 l +435 967 465 974 494 979 c +523 984 553 987 582 987 c +749 987 881 941 978 850 c +1075 759 1124 635 1124 479 c +1124 318 1074 193 974 104 c +874 15 733 -29 551 -29 c +488 -29 424 -24 359 -13 c +294 -2 227 14 158 35 c +158 238 l +218 205 280 181 344 165 c +408 149 476 141 547 141 c +662 141 754 171 821 232 c +888 293 922 375 922 479 c +922 583 888 665 821 726 c +754 787 662 817 547 817 c +493 817 439 811 385 799 c +332 787 277 768 221 743 c +221 1493 l + +ce} _d +/seven{1303 0 168 0 1128 1493 sc +168 1493 m +1128 1493 l +1128 1407 l +586 0 l +375 0 l +885 1323 l +168 1323 l +168 1493 l + +ce} _d +/equal{1716 0 217 352 1499 930 sc +217 930 m +1499 930 l +1499 762 l +217 762 l +217 930 l + +217 522 m +1499 522 l +1499 352 l +217 352 l +217 522 l + +ce} _d +/T{1251 0 -6 0 1257 1493 sc +-6 1493 m +1257 1493 l +1257 1323 l +727 1323 l +727 0 l +524 0 l +524 1323 l +-6 1323 l +-6 1493 l + +ce} _d +/bracketleft{799 0 176 -270 600 1556 sc +176 1556 m +600 1556 l +600 1413 l +360 1413 l +360 -127 l +600 -127 l +600 -270 l +176 -270 l +176 1556 l + +ce} _d +/bracketright{799 0 199 -270 623 1556 sc +623 1556 m +623 -270 l +199 -270 l +199 -127 l +438 -127 l +438 1413 l +199 1413 l +199 1556 l +623 1556 l + +ce} _d +/e{1260 0 113 -29 1151 1147 sc +1151 606 m +1151 516 l +305 516 l +313 389 351 293 419 226 c +488 160 583 127 705 127 c +776 127 844 136 910 153 c +977 170 1043 196 1108 231 c +1108 57 l +1042 29 974 8 905 -7 c +836 -22 765 -29 694 -29 c +515 -29 374 23 269 127 c +165 231 113 372 113 549 c +113 732 162 878 261 985 c +360 1093 494 1147 662 1147 c +813 1147 932 1098 1019 1001 c +1107 904 1151 773 1151 606 c + +967 660 m +966 761 937 841 882 901 c +827 961 755 991 664 991 c +561 991 479 962 417 904 c +356 846 320 764 311 659 c +967 660 l + +ce} _d +/i{569 0 193 0 377 1556 sc +193 1120 m +377 1120 l +377 0 l +193 0 l +193 1120 l + +193 1556 m +377 1556 l +377 1323 l +193 1323 l +193 1556 l + +ce} _d +/m{1995 0 186 0 1821 1147 sc +1065 905 m +1111 988 1166 1049 1230 1088 c +1294 1127 1369 1147 1456 1147 c +1573 1147 1663 1106 1726 1024 c +1789 943 1821 827 1821 676 c +1821 0 l +1636 0 l +1636 670 l +1636 777 1617 857 1579 909 c +1541 961 1483 987 1405 987 c +1310 987 1234 955 1179 892 c +1124 829 1096 742 1096 633 c +1096 0 l +911 0 l +911 670 l +911 778 892 858 854 909 c +816 961 757 987 678 987 c +584 987 509 955 454 891 c +399 828 371 742 371 633 c +371 0 l +186 0 l +186 1120 l +371 1120 l +371 946 l +413 1015 463 1065 522 1098 c +581 1131 650 1147 731 1147 c +812 1147 881 1126 938 1085 c +995 1044 1038 984 1065 905 c + +ce} _d +/s{1067 0 111 -29 967 1147 sc +907 1087 m +907 913 l +855 940 801 960 745 973 c +689 986 631 993 571 993 c +480 993 411 979 365 951 c +320 923 297 881 297 825 c +297 782 313 749 346 724 c +379 700 444 677 543 655 c +606 641 l +737 613 829 573 884 522 c +939 471 967 400 967 309 c +967 205 926 123 843 62 c +761 1 648 -29 504 -29 c +444 -29 381 -23 316 -11 c +251 0 183 18 111 41 c +111 231 l +179 196 246 169 312 151 c +378 134 443 125 508 125 c +595 125 661 140 708 169 c +755 199 778 241 778 295 c +778 345 761 383 727 410 c +694 437 620 462 506 487 c +442 502 l +328 526 246 563 195 612 c +144 662 119 730 119 817 c +119 922 156 1004 231 1061 c +306 1118 412 1147 549 1147 c +617 1147 681 1142 741 1132 c +801 1122 856 1107 907 1087 c + +ce} _d +end readonly def + +/BuildGlyph { + exch begin + CharStrings exch + 2 copy known not {pop /.notdef} if + true 3 1 roll get exec + end +} _d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} _d + +FontName currentdict end definefont pop +%!PS-Adobe-3.0 Resource-Font +%%Creator: Converted from TrueType to Type 3 by Matplotlib. +10 dict begin +/FontName /DejaVuSans-Oblique def +/PaintType 0 def +/FontMatrix [0.00048828125 0 0 0.00048828125 0 0] def +/FontBBox [-2080 -717 3398 2187] def +/FontType 3 def +/Encoding [/B /J /m /x /uni03BC] def +/CharStrings 6 dict dup begin +/.notdef 0 def +/B{1405 0 55 0 1280 1493 sc +346 1493 m +862 1493 l +1002 1493 1107 1467 1176 1415 c +1245 1363 1280 1285 1280 1180 c +1280 1084 1250 1001 1190 931 c +1131 862 1053 820 956 805 c +1039 786 1101 751 1142 698 c +1183 645 1204 575 1204 487 c +1204 337 1148 218 1037 131 c +926 44 775 0 582 0 c +55 0 l +346 1493 l + +395 713 m +289 166 l +614 166 l +736 166 830 194 896 250 c +962 306 995 385 995 487 c +995 566 973 623 929 659 c +886 695 816 713 719 713 c +395 713 l + +514 1327 m +426 877 l +727 877 l +834 877 918 900 978 947 c +1039 994 1069 1058 1069 1141 c +1069 1206 1049 1253 1008 1282 c +967 1312 902 1327 813 1327 c +514 1327 l + +ce} _d +/J{604 0 -336 -410 545 1493 sc +342 1493 m +545 1493 l +274 104 l +239 -77 179 -207 95 -288 c +12 -369 -105 -410 -256 -410 c +-336 -410 l +-303 -240 l +-240 -240 l +-150 -240 -82 -214 -35 -163 c +12 -112 47 -23 72 104 c +342 1493 l + +ce} _d +/m{1995 0 72 0 1855 1147 sc +1839 676 m +1708 0 l +1524 0 l +1653 670 l +1658 699 1662 723 1665 744 c +1668 765 1669 782 1669 797 c +1669 857 1652 904 1619 937 c +1586 970 1539 987 1479 987 c +1390 987 1310 953 1240 886 c +1170 819 1125 732 1104 625 c +981 0 l +797 0 l +928 670 l +933 695 937 717 940 738 c +943 759 944 778 944 795 c +944 856 927 903 894 936 c +861 970 815 987 756 987 c +665 987 585 953 515 886 c +445 819 400 732 379 625 c +256 0 l +72 0 l +291 1120 l +475 1120 l +440 946 l +490 1011 548 1061 615 1095 c +682 1130 754 1147 831 1147 c +912 1147 979 1126 1031 1083 c +1084 1040 1115 981 1126 905 c +1182 984 1247 1044 1320 1085 c +1394 1126 1472 1147 1554 1147 c +1650 1147 1724 1119 1776 1064 c +1829 1009 1855 930 1855 829 c +1855 807 1854 783 1851 756 c +1848 730 1844 703 1839 676 c + +ce} _d +/x{1212 0 -53 0 1229 1120 sc +1229 1120 m +715 571 l +1030 0 l +819 0 l +582 444 l +170 0 l +-53 0 l +498 590 l +205 1120 l +416 1120 l +631 715 l +1006 1120 l +1229 1120 l + +ce} _d +/uni03BC{1303 0 -27 -426 1212 1120 sc +-27 -426 m +274 1120 l +459 1120 l +323 423 l +320 409 318 393 316 376 c +314 359 313 341 313 324 c +313 262 332 214 371 181 c +410 148 466 131 539 131 c +638 131 717 159 778 215 c +839 271 880 355 901 467 c +1028 1120 l +1212 1120 l +1045 259 l +1042 246 1040 235 1039 226 c +1038 217 1038 208 1038 201 c +1038 180 1042 165 1050 155 c +1059 146 1072 141 1090 141 c +1097 141 1106 143 1117 146 c +1129 149 1146 155 1167 164 c +1139 16 l +1110 1 1082 -10 1055 -17 c +1028 -25 1002 -29 977 -29 c +933 -29 898 -15 873 13 c +848 41 836 80 836 129 c +799 76 754 36 702 10 c +651 -16 590 -29 520 -29 c +458 -29 404 -15 357 14 c +311 43 281 80 266 127 c +158 -426 l +-27 -426 l + +ce} _d +end readonly def + +/BuildGlyph { + exch begin + CharStrings exch + 2 copy known not {pop /.notdef} if + true 3 1 roll get exec + end +} _d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} _d + +FontName currentdict end definefont pop +%!PS-Adobe-3.0 Resource-Font +%%Creator: Converted from TrueType to Type 3 by Matplotlib. +10 dict begin +/FontName /STIXGeneral-Regular def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox [-970 -443 2000 1023] def +/FontType 3 def +/Encoding [/uni27C2] def +/CharStrings 2 dict dup begin +/.notdef 0 def +/uni27C2{693 0 52 0 641 662 sc +641 0 m +52 0 l +52 66 l +314 66 l +314 662 l +380 662 l +380 66 l +641 66 l +641 0 l + +ce} _d +end readonly def + +/BuildGlyph { + exch begin + CharStrings exch + 2 copy known not {pop /.notdef} if + true 3 1 roll get exec + end +} _d + +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} _d + +FontName currentdict end definefont pop +end +%%EndProlog +mpldict begin +-54 216 translate +720 360 0 0 clipbox +gsave +0 0 m +720 0 l +720 360 l +0 360 l +cl +1.000 setgray +fill +grestore +gsave +90 39.6 m +648 39.6 l +648 316.8 l +90 316.8 l +cl +1.000 setgray +fill +grestore +0.800 setlinewidth +1 setlinejoin +0 setlinecap +[] 0 setdash +0.000 setgray +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +115.364 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +104.231 21.9594 translate +0 rotate +0 0 m /zero glyphshow +8.90723 0 m /period glyphshow +13.3574 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +178.932 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +167.799 21.9594 translate +0 rotate +0 0 m /two glyphshow +8.90723 0 m /period glyphshow +13.3574 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +242.501 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +231.368 21.9594 translate +0 rotate +0 0 m /five glyphshow +8.90723 0 m /period glyphshow +13.3574 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +306.069 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +294.937 21.9594 translate +0 rotate +0 0 m /seven glyphshow +8.90723 0 m /period glyphshow +13.3574 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +369.638 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +354.052 21.9594 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /zero glyphshow +17.8145 0 m /period glyphshow +22.2646 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +433.207 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +417.621 21.9594 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /two glyphshow +17.8145 0 m /period glyphshow +22.2646 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +496.775 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +481.189 21.9594 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /five glyphshow +17.8145 0 m /period glyphshow +22.2646 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +560.344 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +544.758 21.9594 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /seven glyphshow +17.8145 0 m /period glyphshow +22.2646 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +0 0 m +0 -3.5 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +623.912 39.6 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +608.326 21.9594 translate +0 rotate +0 0 m /two glyphshow +8.90723 0 m /zero glyphshow +17.8145 0 m /period glyphshow +22.2646 0 m /zero glyphshow +grestore +/DejaVuSans 14.000 selectfont +gsave + +340.5 4.4125 translate +0 rotate +0 0 m /T glyphshow +8.17676 0 m /i glyphshow +12.0664 0 m /m glyphshow +25.7041 0 m /e glyphshow +34.3174 0 m /space glyphshow +38.7676 0 m /bracketleft glyphshow +44.2295 0 m /s glyphshow +51.5234 0 m /bracketright glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 52.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +74.0938 46.8797 translate +0 rotate +0 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 88.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +74.0938 82.8797 translate +0 rotate +0 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 124.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 118.88 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 160.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 154.88 translate +0 rotate +0 0 m /one glyphshow +8.90723 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 196.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 190.88 translate +0 rotate +0 0 m /two glyphshow +8.90723 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 232.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 226.88 translate +0 rotate +0 0 m /two glyphshow +8.90723 0 m /five glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 268.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 262.88 translate +0 rotate +0 0 m /three glyphshow +8.90723 0 m /zero glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0.8 setlinewidth +1 setlinejoin + +0 setlinecap + +-0 0 m +-3.5 0 l + +gsave +0.000 setgray +fill +grestore +stroke +grestore +} bind def +90 304.2 o +grestore +/DejaVuSans 14.000 selectfont +gsave + +65.1875 298.88 translate +0 rotate +0 0 m /three glyphshow +8.90723 0 m /five glyphshow +grestore +gsave +58.1875 153.7 translate +90 rotate +/DejaVuSans-Oblique 14.0 selectfont +0 0.359375 moveto +/J glyphshow +/DejaVuSans-Oblique 9.799999999999999 selectfont +4.12891 -1.9375 moveto +/x glyphshow +/DejaVuSans 14.0 selectfont +10.3113 0.359375 moveto +/space glyphshow +14.7615 0.359375 moveto +/bracketleft glyphshow +/DejaVuSans-Oblique 14.0 selectfont +20.2234 0.359375 moveto +/uni03BC glyphshow +29.1307 0.359375 moveto +/m glyphshow +/DejaVuSans 14.0 selectfont +42.7684 0.359375 moveto +/bracketright glyphshow +grestore +1.500 setlinewidth +2 setlinecap +0.122 0.467 0.706 setrgbcolor +gsave +558 277.2 90 39.6 clipbox +115.363636 304.2 m +128.19892 282.953815 l +140.476148 262.203378 l +152.19532 241.960619 l +163.305703 222.328754 l +173.858031 203.234661 l +183.852303 184.692588 l +193.237787 166.815494 l +202.065216 149.526966 l +210.334588 132.844894 l +218.045905 116.789572 l +225.199165 101.386868 l +231.946567 86.33336 l +239.099828 69.807137 l +244.223795 58.109595 l +245.796498 55.039426 l +246.760412 53.595772 l +247.521398 52.841191 l +248.23165 52.459399 l +249.0941 52.274124 l +250.717535 52.206007 l +263.654284 52.2 l +622.636364 52.2 l +622.636364 52.2 l +stroke +grestore +1.000 0.498 0.055 setrgbcolor +gsave +558 277.2 90 39.6 clipbox +115.363636 304.2 m +129.264299 282.181834 l +142.606906 260.633354 l +155.340725 239.648192 l +167.465756 219.241264 l +179.032731 199.340256 l +189.990917 180.046561 l +200.340316 161.378909 l +210.131659 143.263826 l +219.415678 125.622639 l +228.293838 108.275338 l +237.121267 90.533276 l +251.935112 60.613384 l +253.964406 57.125944 l +255.384911 55.100981 l +256.501023 53.882375 l +257.464937 53.146373 l +258.428852 52.68718 l +259.544964 52.408703 l +261.168399 52.256318 l +264.770395 52.202828 l +314.082235 52.2 l +622.636364 52.2 l +622.636364 52.2 l +stroke +grestore +0.173 0.627 0.173 setrgbcolor +gsave +558 277.2 90 39.6 clipbox +115.363636 304.2 m +178.576139 239.759996 l +220.683987 196.98048 l +244.629654 172.960549 l +262.791834 155.046086 l +277.605679 140.736911 l +290.187301 128.885072 l +301.094755 118.907901 l +310.733901 110.384329 l +319.409132 103.003973 l +327.272645 96.600638 l +334.476639 91.015429 l +341.173308 86.100973 l +347.413387 81.79302 l +353.298339 77.995757 l +358.929629 74.624266 l +364.35799 71.632916 l +369.583422 69.004232 l +374.758121 66.649782 l +379.882088 64.563526 l +385.006055 62.717264 l +390.231487 61.072225 l +395.609115 59.614692 l +401.189674 58.333124 l +407.125358 57.19949 l +413.568366 56.199417 l +420.670894 55.327537 l +428.635873 54.578467 l +437.86916 53.9391 l +448.928811 53.403982 l +462.677277 52.970689 l +480.788724 52.635005 l +506.560756 52.396931 l +548.770068 52.255282 l +622.636364 52.206139 l +622.636364 52.206139 l +stroke +grestore +0.839 0.153 0.157 setrgbcolor +gsave +558 277.2 90 39.6 clipbox +115.363636 304.2 m +143.976679 287.668916 l +170.966288 272.330134 l +196.484658 258.080752 l +220.734719 244.7922 l +243.817936 232.394671 l +265.835774 220.819433 l +286.94043 209.97353 l +307.182636 199.818777 l +326.663857 190.292449 l +345.485558 181.334665 l +363.647738 172.93501 l +381.251862 165.036213 l +398.399394 157.584768 l +415.090336 150.573161 l +431.375419 143.972068 l +447.305376 137.753619 l +462.930939 131.891536 l +478.302839 126.361248 l +493.471811 121.139985 l +508.437853 116.223117 l +523.251698 111.589269 l +537.964078 107.219001 l +552.625726 103.094818 l +567.287374 99.201157 l +581.999755 95.524335 l +596.762867 92.063981 l +611.678177 88.79687 l +622.636364 86.539992 l +622.636364 86.539992 l +stroke +grestore +0.800 setlinewidth +0 setlinejoin +0.000 setgray +gsave +90 39.6 m +90 316.8 l +stroke +grestore +gsave +648 39.6 m +648 316.8 l +stroke +grestore +gsave +90 39.6 m +648 39.6 l +stroke +grestore +gsave +90 316.8 m +648 316.8 l +stroke +grestore +1.000 setlinewidth +0 setlinecap +0.800 setgray +gsave +490.4 213.6 m +638.2 213.6 l +640.066667 213.6 641 214.533333 641 216.4 c +641 307 l +641 308.866667 640.066667 309.8 638.2 309.8 c +490.4 309.8 l +488.533333 309.8 487.6 308.866667 487.6 307 c +487.6 216.4 l +487.6 214.533333 488.533333 213.6 490.4 213.6 c +cl +gsave +1.000 setgray +fill +grestore +stroke +grestore +1.500 setlinewidth +1 setlinejoin +2 setlinecap +0.122 0.467 0.706 setrgbcolor +gsave +493.2 298.1 m +507.2 298.1 l +521.2 298.1 l +stroke +grestore +0.000 setgray +gsave +532.4 293.2 translate +0 rotate +/DejaVuSans-Oblique 14.0 selectfont +0 0.609375 moveto +/B glyphshow +/STIXGeneral-Regular 9.799999999999999 selectfont +11.5138 -1.6875 moveto +/uni27C2 glyphshow +/DejaVuSans 14.0 selectfont +20.5973 0.609375 moveto +/slash glyphshow +/DejaVuSans-Oblique 14.0 selectfont +25.3141 0.609375 moveto +/B glyphshow +/DejaVuSans 9.799999999999999 selectfont +36.8278 -1.6875 moveto +/uni2225 glyphshow +/DejaVuSans 14.0 selectfont +44.0199 0.609375 moveto +/equal glyphshow +55.7504 0.609375 moveto +/zero glyphshow +64.6576 0.609375 moveto +/e glyphshow +73.2709 0.609375 moveto +/plus glyphshow +85.0014 0.609375 moveto +/zero glyphshow +93.9086 0.609375 moveto +/zero glyphshow +grestore +1.000 0.498 0.055 setrgbcolor +gsave +493.2 275.1 m +507.2 275.1 l +521.2 275.1 l +stroke +grestore +0.000 setgray +gsave +532.4 270.2 translate +0 rotate +/DejaVuSans-Oblique 14.0 selectfont +0 0.609375 moveto +/B glyphshow +/STIXGeneral-Regular 9.799999999999999 selectfont +11.5138 -1.6875 moveto +/uni27C2 glyphshow +/DejaVuSans 14.0 selectfont +20.5973 0.609375 moveto +/slash glyphshow +/DejaVuSans-Oblique 14.0 selectfont +25.3141 0.609375 moveto +/B glyphshow +/DejaVuSans 9.799999999999999 selectfont +36.8278 -1.6875 moveto +/uni2225 glyphshow +/DejaVuSans 14.0 selectfont +44.0199 0.609375 moveto +/equal glyphshow +55.7504 0.609375 moveto +/one glyphshow +64.6576 0.609375 moveto +/e glyphshow +73.2709 0.609375 moveto +/hyphen glyphshow +78.3226 0.609375 moveto +/zero glyphshow +87.2299 0.609375 moveto +/four glyphshow +grestore +0.173 0.627 0.173 setrgbcolor +gsave +493.2 252.1 m +507.2 252.1 l +521.2 252.1 l +stroke +grestore +0.000 setgray +gsave +532.4 247.2 translate +0 rotate +/DejaVuSans-Oblique 14.0 selectfont +0 0.609375 moveto +/B glyphshow +/STIXGeneral-Regular 9.799999999999999 selectfont +11.5138 -1.6875 moveto +/uni27C2 glyphshow +/DejaVuSans 14.0 selectfont +20.5973 0.609375 moveto +/slash glyphshow +/DejaVuSans-Oblique 14.0 selectfont +25.3141 0.609375 moveto +/B glyphshow +/DejaVuSans 9.799999999999999 selectfont +36.8278 -1.6875 moveto +/uni2225 glyphshow +/DejaVuSans 14.0 selectfont +44.0199 0.609375 moveto +/equal glyphshow +55.7504 0.609375 moveto +/five glyphshow +64.6576 0.609375 moveto +/e glyphshow +73.2709 0.609375 moveto +/hyphen glyphshow +78.3226 0.609375 moveto +/zero glyphshow +87.2299 0.609375 moveto +/four glyphshow +grestore +0.839 0.153 0.157 setrgbcolor +gsave +493.2 229.1 m +507.2 229.1 l +521.2 229.1 l +stroke +grestore +0.000 setgray +gsave +532.4 224.2 translate +0 rotate +/DejaVuSans-Oblique 14.0 selectfont +0 0.609375 moveto +/B glyphshow +/STIXGeneral-Regular 9.799999999999999 selectfont +11.5138 -1.6875 moveto +/uni27C2 glyphshow +/DejaVuSans 14.0 selectfont +20.5973 0.609375 moveto +/slash glyphshow +/DejaVuSans-Oblique 14.0 selectfont +25.3141 0.609375 moveto +/B glyphshow +/DejaVuSans 9.799999999999999 selectfont +36.8278 -1.6875 moveto +/uni2225 glyphshow +/DejaVuSans 14.0 selectfont +44.0199 0.609375 moveto +/equal glyphshow +55.7504 0.609375 moveto +/one glyphshow +64.6576 0.609375 moveto +/e glyphshow +73.2709 0.609375 moveto +/hyphen glyphshow +78.3226 0.609375 moveto +/zero glyphshow +87.2299 0.609375 moveto +/three glyphshow +grestore + +end +showpage diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz new file mode 100644 index 0000000000000000000000000000000000000000..7da610665f8fedad87eeab434b1755941a6ba6c3 GIT binary patch literal 80270 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 NDfcg){NFBy{{szCRzUy& literal 0 HcmV?d00001 diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz new file mode 100644 index 0000000000000000000000000000000000000000..05eae09ea34e5f9a0de8dd2eef1c7437d0156b0e GIT binary patch literal 80270 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 literal 0 HcmV?d00001 diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz new file mode 100644 index 0000000000000000000000000000000000000000..e7e1e35b61f50e4c71377197ad0c35740a701e6f GIT binary patch literal 80270 zcmbSyi91!_7xy_gGA1DkiHs#lMIvj9BBUf4GRv6E@fDFILnKitLLy0p3TYrz6io<) zN|L0cbm#HizxVwQ-upb?XFcbfz1LcwVeNa}+t|XG zj_}=oC?q1>JAO@g1p7t?;ATc8mO#xrJ#h4!%=r!D2P*g*X)rq1?>tvF4no1g6N#7cW<01sOtDc*@rz8lrJ53 z;Hx7Abu^W1nAuH1omuXDx&sCMyj0gk;HV{3lqbH6f>iny-Q;#skmIs-YAW^=)J^|9 zrM-iKC@~uK26hy5WOz;YYM7cwma9)ih_p4 zmhU;Zje?G;rzym3rJ&g4l#!#B6coKit}M%ff(}_Dzk)3kWc88MEHS4b86l7FRfvL~ zzOlbv4;19$G<4vB83i4_%G7+2Tu<-U!7rOAs5BvL^-p68 z5@)9Wq;903{s+c2d?N}<8B7fp#WBe{KugAuf@BYjeO1~(L94{6mo?W@kh;@lPyKZi zM0k8#y2$|ZVEAOfVl4#)(>I;jp^x+4w%OslhJtz$=jQw9;q@UK+Cx@T(EQwmi7~pE zSN`!0NvkL*_05@?^pzCElG{|3r$a%0Uk`f~Y2!M(oa8IDC@A^h^H;YtDd@wl!L)lC zxKF8M({^ev`t)@ERlz#_TA0XL zMnS8;{$3-DV}xt)xRf%^<9p=X5+w?1U8K8xg(3wlJ$i_(yOe@nx47OkTtY!7$A>(T z0tHD>=A>-oah0^JftxqJmheH(qESc%3>aWguIE6!TMhF@z}SLbB5j0>@&z;(YOW zxc}~CQ#lF+?N})Ix{RbC`?bnB+5`o8SPZT=5RmBfKD`kWK8b#xQcK;+Bhj0`cXW1g zNn}<0<+TfkMEA;W9r9(9C{9j6F_cB3R4J9mhnOUCuISjG%plR)DIw8JI*Fp^CT^Ue zktlG;Z&xvuM2BuB&sF{-(VukVbG36MGCY#EvH35Fs>{$MNL0AIg!lI+iE>xkmT;y?w1j}*+bQ~v@t*8a61jEX@;^61qNB;Sh<^Gc3KI4U(vG<8}J$0TKnAsyp@m9f^ud zoi)b$Nwof0>4TqrBsyo8;Xv!feabGHUeiT1ra zZmjtV^E$Hr<(iiyk_b5AZQMg5(Tw=HE!`wK>ayU3-3t=E|7EGL_c@7NJ(aI}bzxl| zpEn8aB+)CKyFF3QNTgXG<&pT5L?1%?ex*Gjk$v>Qk=zavUH*_Dd7+&|f_ojsvg$%cK88_J{hJTnYfSf z(I-TIHKrym7(oMa*bGzy}R3&HIV51T$-KsUF^8X)}5m_h04p@>?11J4tTWY$=KQ zcoDtK5)wJ0s67-MrQMbcNL(V(a=!rQ#l=|nDAysCBD}x!uZzw_T$eC-Z*YM`{91We z(?ZNo+m)fM=SlQq$AI(Bb0lIPs2y-Qi~YN9jgxNyiOe53^&QA3(F(;C4u{TQenZZ` zO3EYA>(<-08K+5fXWgN$yj-l~=ts+3GY{7nvkVc9+xc&%pDuK(>4|okaiLzOOiW0^j!%Jv*C*^R5<1vX0|oxz?XVvK)0Mll^#ZlpNbF{jff*x@+uxNmRzE zFLL(5{Qdkg-^ZIo4OOktAzmbUxXt=gv?qy}V~I9LJV->G@n|^VP9n4LA1bH!ktpHJ zimVH6c&=nc|CPI9J|&7gZn$84XWu_-aK=7-_GC@#UJ@1Eb1&?2B2mck%YwIiuz$AX z2Ms%tC`Q8I&DY%+C+mpOj01kI9#=x&h54>f79w!0JQI09Y$u6UiA2AZu_w`xvYL_d z4iZKDOe)s2BhhqrCZTVOeWI`>z}SXFHC5MMY}t-=c6_8~XN}{Aqi39~NE8|Hhw8Zv zHvahsAkBqHhIim1ThQ zbchOHH^cL^qAcLfW)f|AIq~eFDX#b7gXS|65{daIpLo3qpJQo#6GO%%(svrP{IZcm z6Th;qOdFA?E@+0J8e;!{BD{GUus=hdKAMlCk-D*>^m-CaYIyv&bRCHlGS|LaVSxDv zY+So~EnfG2I>%6-MBkZjr(g}%aV%)-c0H_bO3^Vn72l}V)d zJv-%(63%naX^^Fe{p0jjcOH&!2l*+IOR;WlV*`tqkmwTa(5mGM_`35^vW`4nKXI?m zU@^vVFi^`>4xb~j&kt{vB~hF5rA?LhAhPA)P#wA zj1=~#=DVOH3rM70u6F-~Bt9>q)WuIr;Pd?UhkX~su@4ir-Y6Ht=hf7HPK_v@yT!(K z4I=pcO|iYGWj=|TWd%Pvg-L{z=8WG8VISHRWqg=NB5o^VV4OmtGkM|~zevo>a9BK4dtsU8;s$)=h)sRp9y61 z`Ba7FC;U8ncyh-_0tq#at#lqGkahg!gWe+q3jMRRE_j$gEMxn>Q6C6&E6ikl;(G#F z)OXwEx9o*27)` zQMV2nKYL3csM;O>`VE2n#4_&?<#syTf2npzjubI@;MRVRU*>}OOrJR{J1)_PB~rv&m~ z8eOz{LLlt``nz2nxDStLX}5MI=XMIf?q=TG&U*nf{dsOsIo{F55aMl}R7FVxFM*9jC>LVvuy z8uMjvl)C#Gfl?y6blj^5Bpdt2!~ZIQR(coag;iqT*e-t>SAltR3Su0+LZFo*fak!?!&hIba5GhjQ@ytRF)Emw{0=?Rte4*Jf?Z?681;zL6^2-0v*n}pZTJQ zKx;a>?)P29zSvwiJ#v9S{qj0W-wFw|AuPe}_j!!lGdGcO4$qsA{|y31Mha(G>@4PW z)=6Bp0OL3qxk)*nKpF}=gEi0K{w05(Uz0~5(-4Pe8&6|h?PC9#=i)rQ9%{Cy2=q`v zWY?Y?0tIe9bi^Z@KubI;uLqpOI0_2~!?Oq!EVgrAd?tay-*)LA%OKElabb^>>A0_V z!kGmp2=v;%`|hPQ0+|#ze!hB~Kp#3v#p_ZDbb?)L*nAAnlk0Jx_7npBWhrHMA0^O9 zUVLMJGJzzI6@4B}!gGBkMQrj2fvz0YT|b*hpdUuX9?S#+#ZSIDLE;#9^F^)rVLVq= znM1PiIPX76V%dKLa=GoSqZLP>o%{d?{aDN=(~#$m!d7M1nR2GeQ4`~=VCZ_bdNKh zw@g=_$6f+m{qS>Hpc8@QX0}7b9s>1!iSUYdB#_aNPx7(dIR7uD(vuDZ`f6U@Qm_l3 zi~s(NUfM|@Zw(3VReJ)ho|{#y+kwx&BW0VK?Fck7zSOndmOz)cddGF!;B%`z;%xtR z0%gbB-5IqeP;u7Wn{QTFN4bER-`fbZ*tkNRxs^Z{G?m13@Of6SeVvRpf!5zJ zwNcW-=UEcpTSJpTv8&I->1kkp5B!zbh1UkAydS|90fm(+z`kh&d@4uqP z6)hpqBP+G+3I(iR;PSGY@&xj(gc#&Bcb(cA%QCFi;Zbg*w0J&w)_Qn-Uiltis0yWb#sKYBtCzyFFCeU z0>2NNHf0)K(iu1SA0SMoT&v?%Hslf&D`&^ zW=sGh^1%t_p9El%p?KDDQ~;Fr z={^&Hdv@_NvnK**yfrtxt6cz-y4+dc#~7Dwv(TXy0faedFHL_a0QNB(y$kmRK-XBl zrRJUhM2}WGJ!%v{%fPpw*LMZ*Gkhpv?6v^zxoW{03LkS88E39z~v`ylRK&e@V?)i;Z=#Roj-|0T@ipo{<dY0tnrgV12(x02P~VI`>?_IM$sH_;?=ochdOK>{$VnW)-B81p=^*yOt+=MgTMC z50z@3#=5QJ+}LgE`Ybm zA&iP+0%$|x^O}wdz_c+?>Uoj?#8ZLn7_Ws}l2eA)soQ*niKmb>KZYJ;-C-q+12jLQ(gjCBJ$!I+XLs(%dC}j$9?#U zHmbM@;Q3FRhihE~V7b`7-D0l*nzdxQoc0KyHTdGoz}>h%jjz4&yD*N5*};?c0ywGn zc;u2D)9tkwqOK3P4{W{vro?U?G@CIGDy<-aB@u@BE~{X^d(fbGFI|B0FlplACB zx*`ZbHKm8OdNaOuInD(W?AxWJz`+>%bm2B~zY+FF>aKaQ8?YZ+RfRLwVV_9cpMP;J z_Wj)@qBquH-%`xQT2|x!%=N|Jtin9spA`S1BY^q$0ww-w3E;r-ItgJ-0SpGWODL!d z!065;iIr;D*EL%tOqUB_Uva&-{W1aUdHX}mTM6q|Fe4hZ6#H)NBa!0@80XyH`R5i3 zKwSNy&^1}SPU;us{vrYJ`BOyCLIEV3-{Frgz`k3yo%>q?&((Mhix3yUsSm?+8Bqc3 z-TD5X#(V*E{HtCw}X5>WbYjNlFa2p&$g z9};bpvr0em;ZOB~)cO%V#QF3mbbR20`J=FycSC&e68{)FIlzbGg=+rHem>CaO+Cc> z_`s{sby9wd*R}q&Tk{&%x6idSf60gFQqt71n-5k3yLJB0@%@&tm2sVXxT_VUn)#Fu z5?RIyMIC&IT{phqW*Z;!BmIS1Tlr9W<}v%tBV6z6zdv6d;JzBj@Bfi%^1-LT+Hvb)K3Go7S~~xS_nkgs7#xfJ@qI=sA%+jq zrdyZfMDf9J^r%>A1Rpw-%Gq^cd^liR{j)t3=e>V!v_FIo{r5v&eG9^UmuR#y0{EcS z&{-?y&xd3OhcYEU?6W8Br}cdJu)s?x1$kkfqCF#bd+=e+o=l(p`>6K^4M(iYs|C_64t(&_X%M{L$%lZPZL?!LFdudupXO{af6c32 z3)$fP8b@2?tudajk8kR1<3p#_OtFb29~#R=vUhC3x>_wv@In}Wrcg+v8P@Oqcb8OC zK0I7~-|FlpK2#VUHmusn2X$>7jb=kWs5*7Zbg$>br-e@Br~%gJR`2YLKE|JdJ_+=& z4@XO0E?SNKE;sW)eHHe>5xwh%I(*0s@-DR2!hEefe!@+I56|Q;#)PiGJf)WVCaLm) z*>-8yX%)=3X0}1$&@ZswTNs%FWKA64frcTN6L3bi)oGpW| zmukJ0T!hy>dD5b?5Z5tsxv_Qu_F3211q%txYmZO5lNk1A;ZRJV2p`&xZu5;7#`FE5 zX6MOye7MXK*?ft_J~8xMSu5ay`*@9f8;=L-d;iYs)O9xSv=?*5BWr6@Zd!C zr5+JF57JM*XkJR?0rTUZtGaVMn8%VSF#E%U#Rh9rcKzl7jBXF}{l$Yp2hV*m(>y4i z2(vyh#e-Wj2^$J0d7#sgrgnXT2MNvDQV+-Re(gNY%P}4(`sYu5`osgf&isKtqdYLK zJkvoL;lTl?({*wmcu=jEb4hE62Oa5|S;hlAC~ZoMv+d`>cDZBwJ$iZ2LQirCf5U@S zjfrL{uXu2yDq&TA4-fKJBq~(C;DJR-l2B6@4=fc@|8_m&fiueb^x+8)%y$*^{A}kz zVAyQQ> z%&&^wka&lO{c&CGR6P$q?)xfLR?CA%84YgzOGs2G%J6>MtwH7`JUBV{*2%G$2c9`W7XBBp z4$nl_#uZ}zMjDo7p5uYA&OwQy0v^N)>9cN};X!yeZ?fey5BmGxzk73v2UZDf9bdAs z9tw^1|FU>sHve9!a3&8%Cbz#59!$`>D1r_9;9#-*$GJcQOx_ zac0&>9l`waomU)Bz`AI?l|C1b`RH*IRK?-vcGQ{XLpUG5Y_vO?2UF&rJ)@C4@C#f0 z;CDC=#6K^%PK5Db{a^BeOehb&@kKKTyOvJdjV^9k4xs2XU7Roc8U<_4TJM z5Bl;T>G7t@nE3w!{28vJczNn^JQo+4}6}M z_x{+!gYN9=cFt}dOfx%gFL1!R2J_07@8rQcqaFDMJ8-_ocT+8GabLb0V)kz50VnSD z{va!i$1Bz8@K%g3)?r(=1;!!2$*9Df2VUiywd(-;GRl2P`)177#5u8k6YMXSU+f8E zjDMx~FS-%tr}6hkQA51nz4(pddLAVI7tp@i0Q)1@{x0bAfRerEs)HWJ3-N`1x;%*d z{4nd#O3cSgl_TleJb3P39)3ZS2bYDn`qrppUoQ}GdZdPR8J@O!y_^SCJ+qs}mSJBa zdA&I$+}AlTRUt*}AKe$S@=Nf1c{_{f$n!upe?DiE91q&mhJV}1V7T-Z*&^E6~}p{BQGk2Qk}zl+}5xY4)}-Xdup z`i~187o&}m{&FEKkD_;amJ4Q-7WMKOE_Cm@qImZw7w8}EEPD2X3$5g==+JjAi0Zfy zKfZBc`qobd`zsfws5fUN$GPy+v-rEp7_M)7@AKMET$ra!zPA|Vg7AjJZ=Hs5e(LfU zf$zDH-AZeZALN1`mHpu4J1)pF^&2kralu*l+^yQTT+sZp>RQ`tF1)V(d%5o=7jE49 zQ8dxb1zNJ~Ir?)h==nyR7VYA~i8fxA;xjHt6OYqYKjDH^>fNKz&IR?Fkpzdwxc>0Q zIKLJy?2mmOb?6}%)_gt{mVTcLiV2w^7w&Q4)%E6pnno@>>{ao5bQkmD^w8_|ZTu0m zFxP#o4&&lnaGkrwg~7?;y+Sv+Q2Wqnk9-Xm@;}Yrty9ef-krZYO{%!yTC&)FM!@78B8abbM5zI9a*uK(_~Rr3WdjO~iF>ORkf zCBmUrqi4BL?0UuOcRuE!PTrb0!-b^q=hiZ(xp0MjZ@b1RT<88b8>4K@`$9*%?OC|L z{k$FfGBDqYQ#%iy!2Mm6*`16(Lcg*~+LL#T3k4ZE&R33N{o3W+8j`p`cvyIJCUPP5 z;cf5thw*-^{rji?!`J>ULEKm_I40zVN*%)Ye~U({Mq@lWU5D01av=d5YHK(bn$x9^ zIv?c1w)jhF!3Ve?-W_%_A(#tu<7s(0ftdGIX#5;m+2O;5tI8EO z-g$AsRCC$gNe|4Y&*ulseO#C^n(h#HwRAJib09WU*97zbDlgv5m&`*$c| zzeRnB^;(Mcvp$j;setud9#@>Y80)dWtM;rc7gCZVJE|6O;m=6aVDm!U_xGOZ?gbd1 z#8JVh1kT@>EjKHM^X!^iNs4m8e%oCnJD&@I^WN;$6vF+{wjJC^!M@5^a@>Z%bEs)u zl?%bA??&$FZ$Kwu#CCTJ}7>=W`s0-q&F@ z{D%W~E{^&9`ptp2O3F*`5)lLLNmbRZ$d5`pkh?VZO)dj~v*p{X3z2gahZoEiT^uzyWz1&b?#{Zu>|OIU^mZ%0K5UcsN=cmaezHNH63_^gZ~~nBYXHd2c~9AKvW z-qjm|dD!Tc`89|Gu7x|=X#u#t%mcQFKL_?NzqUcq5A$Il7qQxh14Ij1176ra8za9t zcwqe(`>5^T$AP?_Ue8!pjQh>Aq6}va44&Kk{-P7cbJj@yrXvTgpa!Q_2i)I+rh>OS zIq*JabN~1bT<5#BEX|e!`JdnK5wXF1znwk1)S3g;2B!vfw_$(8-(CWi7^kAAyTcX^ z{LIZO^+O!c+p%N(kQoQsp66+0m~!A*f>-FpO&lot&{%(CBM1833+XL}99R`U&+P4b z4wzK2kB=K*ydFtCRDC=jvN^IMYcMZcv^|!t=D=OAT~~Ei;dSFevt~LR7_;2I$w3R} z=PXV0)8N4CV+n5#t-$;24=81*V*cL$2)d|(`MkhtxS@>u6)mE)Dso`SxDV}#-&8rAN9-kt$a27vZgqO;BJ7L6y<@ryIbhV!Fn|SkPMX%FIY?k0GTDQE zVjNiW)O}T~2%f8P$K(uQ>;sRnzKiql`ddOeH%Sh(*taFM3fNH4Ec@;)j}5~?f>mER zZ2Z04@l+a%4Y5bcheeodcsA&|UXjj*ZQeCGtEp_bl6QU*=Gf5jZP}LHf7sCd!Ti$x z-}w1=0VDPo8wRr6oieA{khIz9cF`0Yo+nI8-I`>>`ZkrY#}jNY%lzBZJI;nzJNN5O zjN$uvhqCFP*zmSX^OxvHd_U?xd!-RJ6p0_G)BAw)O7Rz&53#|AwLaEyfDP{3B|rH0 zvq3#R!|cCaHfRc0UCDaGhQx!xqL*Ib=elpgYkSz>&^kQO_5!b~$TsWmVne6%_|crtDHdsmpgl9Lf!SS=h$C5j282j;kM}0jTqHnHh>8NFcUe(ey12@_5ac^VU z_Zl{on(!B~tJ(0NpPD9ljSZfcFEUlGvSGjK%t3<+HoWhf{bE_phTx4?T%60;u>G~r z>);ZMOJT{j#A3|LnbAk5F5)_^j)s>D*&wQtSc`wN1^KnkI?oE&&>TB)W#|kWbR)D> zrcdMNCCWwIQ#gN0m;AyUHnE^axCW;MB=Z79>MBx6e$yja-!+u#H@zN#~^K0L}*CPbyn>HK^4`So@ z|B%pQ0l5A)4@SX$oL_ulT9q%xZIZg^zBkVA(p1*tiFuy9vF4LI8|H=XZ~fzj{TcFc z=R8+7EC^H_TkMQ|GNBl)AAk4^MCXUAUbMF)MDKsIkJn@)}vzvXu=9FZ!C^Sl~QA@*T#_@jeUXpH#rQdPJm) zn6cr>!<-e0rfe|%e(3S)P59bh#}jSDet&R{v)d5+HsW8A|9UonxTNWS23UXTxsfb= zHdKgLC0){EgG#cFYMm|{&d(iw(!LVwJzEs?P8-+fWJ`Y6WW&Bv`#UUkHhlFSbCq1d zhCN+diRG$n=vlFINux zEKub}xeWH%3U#*zY3zete333GJQs2G_dZBs9#l<&e~IJy7%W~Y5M{$HwZWc6B5e4X z{UcdJ7|(U-;JS_TFs`p9-)%@Xe40Qd9s(9DUfr@Mg2#dwOL>V@4hw!a*gZMRVgVuH zb>td@1v}r`8$F=0z~Z#h-k(JVh!HlehacKw!UJ)vZs>LESPfB{L6MU{%VECLZ9r-yhh>HnX6jBUnwV zi3OC_`E26`7W@o8*Kc=+1s5C_*Lu~nKvp~>E20zVZmToj#^DM z3siM`h?XiAJaOcYy{Tk@@incE@hdC{Yu;K(yUc=NdAAJFG8UNb@efrh!TEWC4r_|> z{cFBPTQ0I-_KVXpr$QElm~9abI>!PnJMG_x3s_KjN#uRb85RgS#yiSRvp~<`e(jx8 zEFcH*4>{Q^V1L_}^*)OQfil|hKQmZhJ@Y4se**I&df#;M{PAyu|7Mj%r>U5 z;MWC71KVU4C`9#ZdLCiH+Mr^k$OIPLl?sqK9?ybe_FD1taag}r0ps)H=6qIOE}*5)b9`VAPedOxBnIiWkILQh8e{W7MQKpp3w_pK|;LRZ}R}m zXRrF7J^NXZ-@WEvpf3yT*cOb#-dGQ+4>!k?1x>rMD3{$?pn3U`*j+ak#3gbTb-J*i zJI+e!!(JAo>Xd5!+JmFkJOjaQ7TC^@Gm~*(!3i&ht>#V^z_ScD;~gyEzSRz~v&DKZ zd4JezI}27DT+EKLV!@%ip`~eCaeYIFJB1cl@153NHRc%S`Q0B|fCX}u5!APvS-_II zA~|8gg30h7nhawWWVla5-=SDzaX#U;x0Vx3I5(iN%w?Pj@$nB192jHb&-2IbCw*eV^7;g^ zGowt{nOe24a+nDh%7t&;d(VUyw=NJpgG{)#&1dhYcTA`e^}O-757$3`nj+lGgkQPL zeM{aj;m?^14Z5$GV1gnSq8=uQZA=Mue8GgKr7xZbbTJ_z!%q9~GbZS%iDu+HVM0-c z;Cop+6CSv)v%UM631LuvtFr|^@7*CY{E!KZ2E+K7`*?r0$7iCM3E%1M)^bfu@VXFq zTf2b?ax!+xrgxaY5{}H=S&#F`57K;VnQ&?{$v^fc69fvu?=owc@Xh|*woBDan6Ep( zxvmP=b$qD%q>>4rf*LOmUSY!I0-F5vWhU58CFJr-nZPcx7Fkq+d41u2Orsd%S7_#L zyvT$#t2__e6*8f{(vIPEjtLg4)8e8FaDIOg#)&hy{=b3vi>H~8ne>Nq^Ar=*uDPVN zWivruUUL4sEL=B2>eTlP%&(jGV$KOBRK*KQrP7#iGiG+>id2m2kA9P33eJDF-O?tR z2}tB>pT`lb`|n}D$OI-B{@G7G9?yh@4dxkzaZI3&MJe4l#039k%=*@7Cd4dyXWbXc zgk}Eo$G(L#Vf@kQ!>of$h<*|&w;&Yjw7jNXH3aWZ*t~N?5Y{_EXT~~!38~M+Pr2`B z!t({v`VqcN=$Mo2OZ8^L0@c8{^PWt&1Io%Z?$}QZ{U%ssfyiVb0sj!aN|qp76oz=T86hr8GBWP>ROO2PkIzscX%XyqhTgQgFcbb` zh4yZohv%q9>wz7~#GjYED!l~^h#r;8i{UXqrp+cPgTsJ%3jEMw76ZHs)_K%17+^8^ z-Tn!U0a@)TTZaBIAaZEP@aJC!{QDrgS}@CizQlfY+20I+2!&@O7?6nUVkb|z*Zf$0OF86r9YZC+fav7|H4GfsP zCA8w$9R}3P+_XDa&wvMqe#c#}Wk6ug%Ziqp3|J~--Pc>g0Jl~z%49VIYHj2;u&Wqg z9TprUb(I0eHNd^?IE7pTd24qy5COW3$ewSu+2c|KAv`AJ;Ol83AN44TIG zF9RepMrVF_Gaz|H#hdTRfX|PW`eZy9u!`DmrM(aLW4yh^)Rh4W_J<7}oEeZi7gXo( zgmL|l(>?6SfOm5#)u$YAd~;L#%1#D^Y`Iw7w1WZqV%EAnwha8cb5q^t?KqbIFr->B z@Za&DTST`pAho*4dYL8WJ3+DEU<(6m^?iJ-5Cc534$kf~V?e2$c}j#S1DM96GHII_ zz?R!`?ZQSJuSA&LGQ{<&f(P2yGk`L&I%3d(0i7x>;y?8n(5R$XEzo1Y>C&y%a;q6| z;Go%*&MF4nvk}fV)4_h{T+(;cVt~7~@L-?@1I*_jIdKI8UbfrnvoD&mnp`8Z7B_dc)@qWWQ!VFMR%Hed*V?c9< z`jZio0cX35a{dVDaESBQMVL>AGb*bz6}fcyk7r3;!=^*7ulX}eCLQj|sa|lU(_wn- z>%lN89pv+JEK}#`Q1weux$qAitlCf0Z~Uf1^825CZNKQy!qdM!FinRG9FH^8Q*@Xq ziHQ+R(xJHSkc-?mI&^V;%vOG-1MJ?U318?SewZ({=QAB*%x|-UKGI>uA;+mBBXnpV z8y`CJfevze_P?kaqC?b$caI(p&|xxZehR$bg-UR+Vk=e9oSx{hrc|)^{yxVq&MUG4IzAqdvtiX(@9pXkq(_Uu*&Ez z9h~EIEbVU7A>^v8mrorX9IA=L*jseSarkrb|6{Tj(vOcM?L{&OGPxAtG5PhNEBYgIV>&jb5K)_+#ioeoKY!5|ekI_&j|8ei{1hdbgM zylwW?Ce7#I^ z)p9!A-}uqw(K5_W{xqvs3G1hB`tbWw%+u>P$vg!*95{4+tE~M0=HR*HN;x`oY|V5d>pwL5=lP^DQ|{Ct)Mi(XEi`7}cVd+F0BsXuA({6pRe z@o5@FEu2YJouUErLS?GaBn>RQn$vbn&_LOGWtQJK4Qfo8r{l+HP^+PJG4~SiqrsyKMikk88dTQGE3fROL70%I zF?vITf;4fLy{~BSYN={`Xb%k}>q?7{y`Vv=enxv?7haz}{NvU$8pvF}DEIUU4T6H6 zZ5eK-f%FTns6UTsU~)UKVty+P5+pwjDLmT5}Z&bG1G}B;k(e!ceCK}vH z)ai(Apus!#FeT>>4Ynmwtgh74!18Zdc5^Ka)VDSCzrIO>@E~)QZ#6VnW4$euQ;qBQ zKY6g|8V%T-N0K^MX;4~c;0qNri21al*{PfcPjKRLP^^@5_{~ZOFyA zPgE|o%b~&IiH2O?lQdXO?wlW=NrS&{B2#kHX%K0t!mCW9LHRD1BM(z);5Vhr?@ggW zHW`^Zm5lW`y<1Fh1nZsAk-s?cfAycJtUgQw{dDJB7XQ&;`oBbQi>1N)YwPP&_@N>F9&;bF~J8y=ZV07G)jvpn>*|VmQB#2E!_y^qa0Un5@gc z{lppPVUiKUPS`JVa{7NAY2b0;;C+h+whSN|r0+3U{>zMpzwb5^ zP&Q+pHnP4fHNkxh26nAArop+%^g3%J8fg0OEArYv0~h=8jM#NF*n4?-e9l@LTyd8T ztyqI&QmfB{)igLPyuz(_6%AD8z-dZ{2Foqw9R*q#KeO6VUXup@q?vp5)G@A8LLOVy zXh08tB~!LK>SUvxTin^!y)MhuNTwc;>w`@ zZ?f1Y)2XxEMR*>S0;J@mX~1ifTB|EXgJYv9P8O0hI1}|K(M_BN6URHQMvBs4zQWnQ zjQN;<{6F`X31PpyE!ogSp+P-=DC8AEgNnyr$|v|#m{WK(%HdMsv1G8KEQbnrD<=1? zVo_n=xN+$g2L1;4wfBT8jS5o{9(s}gsLmeW70{32uF_d5*uC*u+B8E2{}YeG zUg2+y#bs$vCw@?2SBltj?sqCE46qYrC#mpaY4^yg2`ZSl#Dm2+6)euruXG!ug7jFd zWYi}rP|dpj%N(V`=zY$&vSBKm_mp$F_nr#j>t%Xg4^rXpHu{#ycT}h;Yk$b=qrx4# zSmVXLRPfp>)4ci(&iDMH$<|j?kgS(%bMK)7x%A-nm=}2e!u$OvyQuKBjOu&k85M$u zmjAo|gbL3)Of!1hsZbwbqw?c16$XFWG!v~$J@@sVsiDFV zfxM#dbt(k4_6#Xsqr!yzu?rinQo%*h*keZp6%GvlUEyC&1>=yqUx{Uy@Apyn3reW4 zce6>>jbbW@REc>!xkv@Qm0t`-3NcUb+r|H#qk{d5o0H;asrdVjif1eGsj%|l)oUhs zR7m*NnB$mBg|p@F4jss$;?E=Vd{R$RVUfDU&Z0~z#K;z)JLyzN{7GNmokj&pd${g+ zDiu!Ea5UK|RQS?bsxEVs3UB4yG*%^1A?}H;jzuCBZjCGG?>kHdZkEcX=>ISez2;UY zW2unYd(`<#4A$++Xvl*ojK|A0r7r^GSw_7$9ftd3);CcOQsI?&-k{?aP~lAD;Lr^(%&Xqh1y4Qj{f1Gi(S207 z9jJDk>WY2iQ_vylLIr-ydST7IRB$YrXJ@vD3Rjhc&hFh!g=%M`v9MiK*nO~AKi!@R zzY{j3mfBH4uAK6|$%YC=y!i%itf_Fa&f?VfZB$4aZ2Bdz#D32A-?hYo3QZLI#!OB=gd`eJl0<1x zDMhV9gCc2?O3{EKG$5ivB%+8?6s18aBtt4uDk>rUaLw*KUw5h` z6MQGcs{0gwVw2~_-rx~A9Q4P$x-u+BeEsYjxr1`Ny7w&P-GH2&|Gc@Uywl zD@UIsr~egOj)J=l!#|jE_$KXEyql|C>NJb zIVKsN^gG%v$AO*Q@zE4Hrce6#G_yqx&1v=td)3JCO>f_sb03MlKW%C=ze^BqiNQf{Ww$Wx+Y( zU&+!mhX^?a(pwH5JVWCB-@K&}p>k+FUODbYh#b~C$FK^6a&w95wiMpK+Yn z|M&IMZ~%$Vol7Ss`;++XAG3dvpB%TN*Eu^Lm1C{*20JewIrfjzus-ia{O6`Gy>*Dh z13b&(19BueDlM<~AiQm7g0oK!*UaRNitZ%8j;Oln?;-pvZ1!F1CP)4gkH{^qa#TOD z%{aP4j^qtLUtZWI$Lz16?RQ+{s15!8@1?UGYMDc(Kb(kPq5pOWH_4H>hY~wxqa4kb zF1?ioiE`_8auoK3F5GD^$C_8K0|Ra4;Qwkbj$bXuCNX93{wg`{iAy(B+Q{+S zHaNX)g&cK@CJSU%a`Jxvj-AFbIkrqu%`&x=!#;QSucuJZeQIYVHgs0nL1mJlS<3S49=3{@i}3Pt})?#MXHL0ksO>0 z^RH|&BzgX$V5Jjk*MP%J{MTiE^;h zPd^={P3)F+Z#C2+Jg>1ITA?Y&y!a=1JJjW9WlY!?s7B)R;OxW%RT7`+ef1B<$Z;k2 zaAMUcIjU0W&K*i}q%1$G`%6KN2*E(__z@XAm2MQw9hTwce~4N)C?n@*f9>)dkYT~d zo5kV%GJID_op9rq44X|Oem86phX7B9C}#9e=<;p`X8k?$#5ZW zMca!;86KoO)@Z1gA$r344ZJ!ToZ=_Oj`~X0yJ^=NewN_{)n3D4yq})19H#`&x#YD_H@5%Vk&|m)@%TQU;eN zjdqJlW$1TvD0V8AK|Y{lcBDv#`BH^@7Yb$gnPWdaJ70!L!QZl9Kb1lB?Y2ql6JkfJ ztWcUO!>C77q47vY_U}G_H+w*MKKRLJZH^2VcWEhm-X-g8p5}yS$&hh6eSP|E8I(@7 z_PxlEfq&y@X2VSx-a2h_;@^;A=D!rhG1p~SsXOXE*WN1^L^SC#N#PM<1 zv%!-xbnRPNI{AbQW3x_HFA0<(p<`O}7Jm}I*wuVLKN-YY?V~OomEpBmVEn*`%j=B(W8E`#NSh2cl{5WJK% zm9cIzD66%P&T%FB4F|SX?vUZem7JW8Z6q%nTKj*y$Z%p;`qqhCWT4$;6)xN?L!|Ks zZ6`+=WV;rfIkHiP{Vx}>V>ZYT_~w)Ay>&8}_w?1hwU=S|R>8UsTcYpin2*0#%b@VN zfBi(rkZ%#wuy7^u(=dOJlQqFRAxLm!xeTe%9g(riWPpUGmt#rtk#hM}un0 zz*q)t&2fhBjbv~e?J4XwBzgABr}FPK@=uM&tm~5vNM6_6IBuyYLrB3pm#tHXzFYT~ z227G6N8Q%&vW^VKmoqdTYmDkNW&rcXXKT85t7E9S|{B;O`{S(~p&c&ceQ_;o~zZkKzpoM9>1|Fz2> zH6%r}YH_>KUnwqb{H3<~j}-l}YPRmbrD%2d86Ngi3e#yNZ*It>IDExXp+q9ZJ+q39 zO?^@fpH{iqCzN95*oA^|0x8ZMwX~nZlOksJ)Vu3BQrI{2C>~}>$+_T*N1_-~cuk(z zoJEsj3?*i5MXwZLZ@XW$cT178$I!CBQ%ZgjIu`46NMSd4&}wm;6dFcH-fd|m^0w~I z{>@Ub#A|2?Kcq-|J2~v}cPZwAu3OU}McJsFmyB;x2p_oZSFDrbMzM;T;TI{Me|-LW zWvvvI{yUHF`6R_x`~JD1AEZ$1PUl~LFD3gH%L|LEq}cMJGqmZg6rl#u8^mu24-e<- zYrK{MtX}!taw*J%GMXI9qzDx3FYzuR{4f^Wj(H)){r++BInSlI`mX=Xy8V_LqOr7WZ%_~g`o1b#E zm}^Ae=10ys$x4` zFWD=u&O9o`zfr2|ZGA{Q`LmQfy`*p-PWf=|kQ9R)mxMb9q&U6nkZXm96nTHXns)A! zqA4`~-@sle-o)PRn6gKT$Mq8`tlXqnI?|Kl>MDi*m$6racSy0KD>X80o0Ob$K6kp< zh4`QG?bHuvDXu*}7c6y>V#)g(5n7H?yu2|fe&I$E_s)?F=M7SDY47& zdns1gt&={rmEx&AYf9Z}DfTbxU&mi1MM`5t=-8DcZ$6%WZe}gTp*o&u!*YTnquIh| znG|Bqim;28#v{C@8~#atjow*TuU<@r)DhwdyjHkYDc- zIRy8nUm6EZ$#Ze`Sag($6zu2zLwAjd-Ftt--x*1;_#?2R(Pd;f%Ery}9a zaA@J+hy*(`mgwpKlOVEfs+!G^1b*4iNA~=cz@&8G@0mXmeCYi>nDJWz1NIZ8H$Np9 zcU6b{ERf(;&T^wci3CFK@|GnC?UV`QO zc@9x^61YC6HQ)OpfsWQ2@9J6!xLZ#DqkodX)_%%u<&P57yv<%ct6Bm|>UiGTcM@b~ z9KGpPDM9_C!p#>eB=EYzP|bZUL58Wy*V=Lk7H>32;g(6T`RlCxV@oCIjGnn@Zm|T0 zj+50Ki-`Y&qj-LW5-bc5)hFgl@I3rSdHz!ge*PyZR3 z%F(-v9!NlYzx&Cy90}BqZ7n}_m*6PgR-cw7A?NZuxTUuxNWT^~mXbmI<>XlWxhVmA zTlc=H>4dkkxhdAyC3qr9{JJ+)f<(q>wX-S2USRr`tg8~_oVL%bN|NAj*EkXNvIGyK zWowlZ2%k;^ImVX=zXmf^)?Fmy?ExpeVl`jU9+Hl^%8BEgLF9v+e25>z`aUXpWIf-%P& zHOSE~jH`PlVtGn%&CRV@#e?vv?DBrjJ_%M-TrY9lOX6_Syug3Agq(+&Sa5Zh1Ya_o zONw?%U@qx>_uqC2R*wDh->kcHQ{srZHItWBhzW(41{Ujgc-5_GNfHdtsP!4fmi?^}&YoEESW zf{e&Imwv}|L&9_N&55t45xad~XK=6TkLuwJp#h&)d)9RZW`Yd1`#Q=BGNzd+Gj7lgCM5dHCrb>#-7OFUUTz zPep=RZY!@wjwa8mAg1`fvIOTPXL@QBi5=FO8OkWy~ykOM$1AoN$FDE7= z_oo=Q{DPMBNyJ!qpVDqA663((7fInf($=YNsb+~`^s8suSh^UmMwb8G(j&%CHGSrd z4lzcS#dmhM61j(Q)LH+DaW7O)?$;=Wa?84j#dTsB^lI4ttrcV3+mHy`k7BI95%cNN zJ28w?Z4ACwh{5d2j-32TjN4hIvi+rEY*daq`KU;Y)yu~y^yQ1;;kPk!X`UFZb*Ed0wTSEyi???zJ76WL~iOpvvym{<@aA+Cf(|c~^x+P+axw**f>OwKu*NeN`W-dnmQw!6XW@P=!MHPOt z#N_{nB#+V=VpPuAG-1Sm@MPoHa7Y-@H9?FJtDQ$?Yl`8mW_j?q z8o`Go-`8Wr2wdtFHA-2G_U-Q;Igj)K|8hER4)$Se=7edC{yx~JXa&sw*+4WovCYx#@=|9OVSLgL%yP4|RU93KGj7Puc9<2`_SZx=D-F+}sUJt7dB2V=m72Vp0 z_2Sj--+uJL_CZU<F|8sbrU)zTi>xJ+BeCWezBW92NyFNTqJf?oN zq7O@4>l`}D`*1#EOqxk)AIzO*_8l+k!z13zT^0F#7$sM4RLSdu4v)EW`=dT`?y69b zmD7h?4~{4Ev-&Xg!Y6a*+CVVyx zS`!{t``mJ{B0N|!`mZnPgW~62FUG&zTW_m?|3IX7xe;;nG)A zjYxZVFvw?GALKvwttp+_2j2Yy`pT2~&>25&%vS9_h*x+jWNY?ep zB0M!8)NE}O;a+0IY?E&yxKB}b4*D#@`8%nxA3lokLAbbH`#q7Pux1^6D?;|dqQs(C zBJy|t)+og?5uzg=B)Ys1Az@nUth)swe2-aDFU}+V#P_kQb4B>88S8xYKGDaGHto$8 z;q31!t%bKm7(K;S?fgv<*32KL)0ieg++^bghAASvc$MT9m?Q$Xe@kjrya-=k2K0=- zNOm8oeJebpMX24~^6>dN5gIj2XDWt^@Po}Q*m_!omL@}|oKqsGRD2(h1&UCTrciEw zOayDEl8b3aM3~;>(+Oo*V!y)1r`oX$p!RQ*hOs9G+> zUF!8x_YxsQ7xgL6pA%e$W@@AJg-Bq&bKd<#h&$s25Aq)hQPKTWT`5P1QHiP-U9*Jv zyL-%prx`-*i_6O&xgo@B*S~vrqzd6RZczWpRUy{!i$uehh4{E)R@1giLcF!zRg)Vd zgo>j}{ZOP3FYfBFx1JS3_39I?+%O@IAJW-86fDHhu|1hvPYU5P6gl`PfY?2hk6CPap1_cgNPi=ctp=p9>y zuyFqnlebxj!Z*z~6*dXc7^+z1x?YIGzn%M^*$JU=v)Wd9HNo}aK-O*>A7Hb)3gS+~Oh6N2aDI+JoEAy#!O>x`c+ zB>U~tb-ne3Sh_0H?Cm6?XWDsZoryxkzG=MZH(rRilxt1Z_wE(}m$}5K|1vowW{ezuv$UOJ;or0GF zyfA+DM5RQ4x2_qVJ)aA(eCFl9ubv6;$t-5|#3ur5*1Vj4>>;re`cSFno&YYI?U9CA z0#t>XYlmeBFzR4V*^e7UKG;5BUaA1259+MAcvXOTEqarwmj$>K>8@&hNq`L9UiGvX z0g@da&+3a5;BLd)Ee>Y|=-qE}B_~XPmqpCppV2Vpy z1rU8T^=51)JiPjN51Rxyvv-vA)_O92PPqM-odBUfqrbYW7C_-j{f=ig0=zc-AyZi{ zz}Is(9vre1ATfG|ZAY=mdX4~goQy^PnF#PvIb{99nF45QSq5I7 zE`XV+<0(f^fb(aM57|!^pzy(8&$|-|9~;lN4~-XqwRM#DZgqku_v)B3RRJQFn!eE< zEkH2m`-MP70g|3x^ZYi<$FJijx6b*?N55H!>&4%st+^k_kny3hTJg>rF(1isX+3uY zd|2K*WI4#;W1DYKmK&3gl>^@l%BXxivprQfv73)AcK)s>+WD9<_-;aD3!nU652DTc z!ADS5(x-$5KJKPyS8~7dvBr69-TGQSYP(JgAAI2B&W6J?mEZ9Zn9+RfKm{M#jE1_Z zaz370>|Q;+l#lUgVYLxOe9WA&>~Lp3!NX0{wa(+?h4Ssrn~(T79>2A$KZg(MwKor4 zv-$XAO?^_D$;bDsPt`g%`AF|NAvu-Cho_EU@qfvDWE`%eJg zEFbhUP8wUI$#}`k^5^IHXsqX-)(Yn%RF>y-{4^hWE=QMrKgGw(N%NLk9Oq-t=>do2 zV|?s-NI4-nLfV#Zg)UxvJYLnSRCIv&HA&ZR!hSy4hX~@H*uy911V@GcaOH!U@@3|d z?F3hJU2p1^|F6?}@zaryr73rA?R4OyYT20^WowDP&CecBw&kPT!1{aWD&l9~9F2|@ ze9YI3_OMyT$AixfwYL`&zmLVN{kMQm?wQz7Jk0qpd3oymds99tlr2{o&*DQjE?O&g z28q`#uK~6Jv6IT^cbLjY+IJ=Or@DM{&+*Gr4Q)OW6A&DzN$l15d~H%A?MKI@mMZ_} zTT*&Mnc%s(&uL(UhkBcvfA$XXV6Zaxb>$x(j*m*YX7r1P4n_CK7%2~i_cdcUA|9sf zF1)je&qMR|we|UI9<&>pwI?umFg@)Z5Y)?q(pUv5rIQD*;ane^HXhzK9v+?D%)`*o z%2!HFJS-k%b-}xytoPo1=<63A9zM+5y`Y8%oehh;uT}GK=ezvU?@Aurzy5i@=M4{& zE7wn`ddWk-6*I)Rga_466j|JJ9+H2W#tNU2@m-zsw?5(FSo9xZ=|diJR4-QR~SI@EPJy>6ZtcAv}0$d*8J^#e>@O#uvGPJgi@> z(WP;WhsP&P41$jE;P7wysgA=uth=c|TXTSi7k|EcA}0%{@FM{&p(~awYmT zrl0HF#>1o@;eNXI&Gm^R57%E*duciFpud`O`Se;InAf$w^sM3G@A=?q>sRq` zow*H4aoeuJ4bg+<)QBQ{mKem9!FmEmAIS z)?1!I9~VcSv-r7uF5Fi5oSMMlV$Fef6T=x?e3|*Dj@ipa*%{s2&RtwEd<z`hg4Uz1Je{R&n9? zba>Xd3NC`W(pbUeT+kIfDyb!0yq$Nb(6NZv4|!Z(me0lDucaMEd0be0($-0O#KlX6 z_1=GSxG1b?{eCE$i_~S`wl`)H`IGa-);GC$m#ujJQ5vz!*b=Cn!iABS;f`}jL~hIJ zt^9Z{svGwExL)MKOso5Pbu<@FYX`a(oG0tga<0Tg zLOsq!`|S@eHv5xxw7FMaALU}z-GkAl-drr!J9#zjAeY?F@hnyJ;9~y9r9T7qa`E4# ze#fp|TnN$&DmL!mqUqg%^)FqxaNRP6H)}H&yRNlAxVDjtJMGWH6xI`5r*HWL*l{6! z_b8wXTnvosy0XcJi}6KkK9^gOb!uIDrj}f63@*KR-GWQ@8=J?Cn$HFE@9Mmhb4VQ8 zMh?(SxQKVwU*a;83tIK9X;ss?2+oQ&TAi?5gxi4kqkuj2Qcd1Ksy4cZ9#>kn>)B>qNyIRKFB$^?1&~>sc{#?9S4hLZa0aG)xIB=?I|Dch{K}Ao^rO0#+mJhBvB2OiH zTGt=+P9``P@Iu-XIZ%H;?~zkHhtxHjDyfR);Nsn~9ZRA)unkdfesqq5*jqCL^ujr? zY*sM7a+-r;8Tpz^5C_p8EW3k`b8vf72Ay||1EVUo(*C0yxTeg+4=)ZL9^RR@{vh#3 zJ8txw{Tv8_s!|s2<)G4c%!&uQI9UJRp}{FTIPgmDZA)_DK;>dolhS4m-e+uOo!-bn zZ`m##(K-%Bf6Cl{(2n^1!sH_b98B{cUc1?b#DO!HR&B+BvrgH~<(3>g<~{N&upn{s z7`e>_lZwR zat7HbShdVf?++U-Aw`0epKRn!H7*(}Wg}*N>a{2lo7AUKOCI2{G3(3KCnwl!Ec2b$ z%cHX)H|JU$>}6x}in^?hPBt!8b(?K(V`HJ%w6U(4ji!O3l(kK4tkH=%{!^V zT`FQ@H>KBJsep~)$_=X{^4M6BxNX<(M{HcXqMCU8J{uFJob2Xjv$6DSx}(=^Hd1w> zT6=F2yjE7{_FQLU-mJ~M5Ce5AYa)pi3bD=Zq64QfC@g72VtM8Y;U`kg=c zs%#;C&20~fab$xQ9eh{OfenAwUCz0+Y+Pj=avEC0#$m16hOkv^lq>!h(7%F>cUzL@ z1utVGH%&!VzL<@h{T(|r50 zxYJ173_=`z^w==#lk2i4v0;!L_V4gSHdd94AI%)k#=7xUa}KGqalkG47+sa*i9=%j zfzfQ(-+tpnQzU**Fy(vxW8w4>%0ud37J3f1ocHW!K~y&f|clC3*`d-@AC5g^rJIugBhE!JvpLOT5m4+PU&gTGv=GSnCf`(!~2Ls(esyNFwS zlK8V$KYV#03#YVR&424h?ERjoV0VOtCZnaYn!|*jwU4zMs`uy1M8KEi_q`1&+uZSlH4sdqUVc7OsgE>_==_ zSYI>ddMpUe99tE28x}MgUf;TA#R5G&+-a&M;cZKj;av;j=f(kT)A=lfwtb#mFo%VY zJ4f$bI-B6rFE6Z^N%Y3?XRS44VYvU{>pFcF3L53dw@+aKr@A+E>ag&6l|ML!g_dz`hhvmk*uG(bf`$SM+Pe-`Tpwb>q2%nX=>tsU zb;PIV{$k>}Lvopgj0uzT8NXlkF;S}cVwb&ui7T$u_HP^}yvHm&>&j#z=60?vmC8iV zqwS`?-Asr}S1$P3&ct{3W3J~~nZP1pw(5UOu|%<-!q}{^X8y+=%Zb?Z9xD2EC4!PJL~vzaJJST?pQlZk;Z^;aBk zGEsf@(6Y8PCME|cDtM(Z!9H9hkR~zVy7274xdbMLZU@X!k0bJtSHo{zVB$tTPdq!4 ziGM>EFP20wk>zk=wOts&s39% z#Jq1ue9{jyF|#6i!t4V~_;)PtDcQ$F(A4Yo_IsF^7I3fkhbt3Xzx(JMBxeV0tz~}F zEyUjAP3%Y~vfd#4g4RYRrlcp?-(APV=;?{GE$o=kdlfnF9hlHO6};2Mh6$Nl&^@XZ z6XV05GJxeSPPCofN7F(7gHJv58XKx`G4Ro=tEhwp!6PMr+owOY)gQ5f)8 zkQo--%)nGDJNeiq2KH{ZNXe>aAebAteaTk_6!wp^{#?Vr#pxRB_I+TWH~oB&tcn2} zYyZ!26%2%jQrAp-#X#m~M)!+S1|084WjnlJKqcm5Y)=6LU$|w-K~EX@z3tFDwZ{xh zSl_I3?*RkjH|kumy2rpc*8F)5cNlPeWG+6O!N4AaDU`t*4Ai#`Gp?mF5O|!UJ2#nu z;xoO+-X}7^N|A8g;u$!y-6TO0%fM2POD>n98BlkdwQ|OJf`g&FxjdZc$y;>6C6s}T zUFAL8AO_Ce%JGOg!GONe;Ap)72CQafG+bqow-zi;Q*5m zpiBBQB!Pa~q;)v6T6H{w)SJj(`fwbH+x+X>>{J=38??F6JBsAZ{(GO?Fgx^2uQ zIwG`8PCtpEBLm|;Iz`cO^Wmu#lCwn5=cAO=Gjx>B8@OY2nvSn~=O=ZZqGKg(!o%~& z$-L7Gma#t_DGT(rd_GDC(_kmprdxdv8283bllnF^Fd)Z z9ZMev&V00!jt7;=d5+uY*tel|uhf~2D`LlG>5g=)_8DHW%7G5g1HZi)Yw2L5+P#gp zr9+`yw9biADodq31FOJVSHJ^@4u1-06 zbLp7k(!REOHXYH&jVJgT(@}7FnTqxdI<|*RH+^kDNApC^@q<(82wr}hsWyq|sofY| ztWErTIJnV$Jc-B4w>G2I>3Gb|+*P1TN93%WJG(~H;kLI+Ls5yWKkxcD?;j16I0OG3 zgEWjkX6^p3p9ZE`MeyUFG;DgC|7x3*1~YSgvtbbp(WkZE=kjUzmv<{>8;6GM@6{)V z88kHfPQUz^O2f*9CXL&>X>h+1vTCHAhE(&Lt$D39JTb16yln}0&lehg{?vCyEPtL2UFbO#zn=^9^cT1({C#!+Kz zX}B=%*Z$?8p?qSPn$ViWM{Ncp+lugY_cwRDC6T){) zz&~XE$;6a~p0tsF*)Sa`w;= z75)Xeuk;3}5PL-%|M*44c7voh@iHn3KQ>3%ipls6?~nlj6=!RlZxwN=km+XfkFu!X z*}3`7q*JlNC3Q+?4;2yiyMLv2QsF!MrNZVmDh`Z(Z9S%i3I$2P{i-G^sRK>74r`!7 zf0?o3k~%86zqj(Yu$GGY(v^C-AE{VoY2kn1Jryau?o^g?ikS&QX+%8bD^zFVklOn0OXR+dEa|9I)RA^iD(XSk%;@C~YRnAALxS;#0R>PZ$^|L-l*B_)JZ|$CdBoAVDAR=M2 zJHhjH6-8q=6$z{Jb~NlH{;?aCu5KeZTqv!5wanZGN>g3f_NSc$Tx7$#G1Kv9_ms7Fz;mJ4qmXi26zuP`zG4VrV-!#So z!rOJ%DUZylP|A9}_NW<&Bke}cJQFI?4F(oTjHsyA63dFGQ&AChk#$<1ig(NE$F7`0 zc>Vj`LqV5{)?3+}j}r)f_WFDAnpD)5G$%Tbqav%*HE*IS6|AM518t+ILvyk4yC-_0GM_rfUX^7^>0UQ)jyd#rA2 zFX~*17u|2{1?>i{a?zJww7ywi^sc%WIv@V2x>WSydYMU0Z)q>0A5pl0g}o3xu{fdd zq!)j?ojg)I$9UeOfy;AokbM}31^dS80cD7Mt z4?g+&X1x2{gR-6T$~~%kaQ$N0>XA1+I6H3kqU_QhI1Z#It}g5$=kn%kqdxAzq1gVY zs2n2aZ)jkAy9dELDrbDU-b3E=ORxG|?ZL8vmZNI%J&-MpFUXH3_5;lJZ;j|df%JRm zuizdWm~{8wt-u~=t|%7cXb;rinmREL_TbDoeVqjN9z03Q+hF0^gN8;qyLC$s;#TO$ z&Tb_0JLeoVvG2j*0vD(Hl|5M8oSPZEtOp18JMEfoLG1JQp0AzLgS2TsC!R3w!Nq%v zb@iw9Aj@>=g-?@+KA)-kk8Abdui@}ReYGA;(fzllR=EeOwXM&d8t#S}uR(oAe>VzG zbd0T+bfYujOwbvAH@c_RJDD-NVXr2+*4o{T4bF-iVkzAi-!uKFWm7k-UU?5NzIH>G z^}9dyV>eU-M2FW_c9Z%-N7np$*$sV8Y{H|WZhRhp*xv0a86RWhr}nTLN&Ov)Z?n2V z(S5FR{AM@k8I=*n*T^1l&8!2I%iW~zltSs{*lsv1IuW|&d^c>g(w_bb?Z&^BIOnG) zyK#%|d*HyaZoIp_mpR$H8~aa$QW`wEG4Nln^~K%YAeEyuvAr99i&eM(CVR_RI!3i{ zeK)4Ge4c+~O*cXx27ENK?#9zKlfHE>>Biv=J!@~w??#CyYr$4ig4=pig1S*RGULp5 zeb(znr1InIF*@BS4(M5DtJ#g6$s(VBD&5$$?C0Pc#crfnPEa~C*oAFght4ej)dk*@ zv0nXsUD(8%SzX5M!qEv0DIxSO?4C5Yd07|f%XY^1w{)TV(ea}4#xA_IzU6f03+cb< z+q3dR7jlu@^{=7}2Hm%t-j{VDs(guc?DH-(_Me)xF|P~K&k^1l54!Nh!+-9NJ6&l0 zefVH{dKVrxL~HI#>4Mh+_5$O}U3hV*-~%tF3pUk%zdb+K1w7zy3JvXov+tc%Yfg4y zdidgps>iyZx%Nv`lUEniRz&@m;n9UF|Al27-rWVQv>&Ytws%3I@buDvQx~a2H}m<& z^<5aJw|jH)nl7x8`+K@ucfs*TB+tx}*xy&g{WZS}5w?c=KbUsmnFW7iicuFXGZ#Jc z&?kNvOp0Bg+Xcg{vgTn;;)msu%zD)>WEDScyQ9>Fc-iWtfT2zVd>{X6_3uuEEw*u= zAnC-oQS=Z7uM_8&%^F+A=mhh<(Zu-fPN+Zlo90gG#06Tz6^o`$)W%dQjIQg%xhx*P z{bMKU*OAXqS9W6F&68%a<(-)PN-JXTi%#hN@O4=HtP?Eldr4y-bwc&Ue~z^5PUH(_ zUU+qjtXC>raxJwJCAhiIFR2sX#Qzl5#dU)3t32H>is%_vQ!;R-6aI^QJ~an*!f?Hc z%kuzYzpQ3Q;t|sC|McIHgPnLEWm3P+y%RRAqiu~{JF!1JZlR(}C-x10z1h356U)Ss zh)VlTc=D!p-C5NMd4hM@Su27gw13?GMV)xNPt*l-A}2U9XNE~9L~RLDMZ-?qW1L#b zoYD!+#cpQ@M!cjko#^}#Fzuv5C#hFr+Ti-P10{05L7Sf)IDdZM zL!&;@7a4q0;dUTuaa~{^tpj-*;*(oCJJ3Hbbivz}4kU2PH$H6az}$<+=t*BXuwY8b zpO6n7P%3+#==rt-^s^VTHofe?jnvHxmKJqD)5v1wjHeyYc6ItZ?qLTuANla3KdS?8 zQp@%-Z+2j0>V`v2*E--}cY{}%*n#{#pZcC%?0{X_ualXP9e7&c5R!0)$ldS#6Bg6~ zm4VK`M*}**(DR7cbEE^4&m^36JlKKor1Sq)x_6N83wewzaP2_nXQxObmktaL`b6n$ z>LA~H`Jtq`wgZQE6pk8NMeyZLkCRw+;O;fM1lFPsw7*`d*=gPZ{cj5P(eF-Yw!?K3Q~AvG|F`PjBCfW>EGT=EQ$6UAMIGyS3kgm*rZ#1PHI(-<;8Zij5I zLOYx+HaGeGZG%mY*7As-ZQ#v+KRcDzTXKQC2?|U1*34aTRzqaA6gZzf}r#3vH%D4?V+Hk!*scw5Q(K~W1 z!#BST7Aak_sN6P8Jv-8T>s}jvwf$N1BC`!2sszjGuD6kTA%kVit8MUkvFZK4_%`s> zhj&hmX@gSo(qPMTZ72wwZ0Hi&20zxP?Z-~GL3QEbiSftU$akr9_doJ(16+oeeDrLC z{aak8?`gxPIm1zkJKL~Bu=nqbEp7Pdaqi!mjcuepZrqgv_HC%+X68k&YQyS=?rjgO z+Q|K+6LB?*h<>#&2cCHwu5FomLw$A|`5h2^++s!>US>b1?9gk&-m<>BFr79moxOc? zwq_gLq7>afskXsj|Fk~>r8e~L`f4O|G|WreL=D)+3$`6fD2E?^@z#3c@COI=-r=;M={3 zRCWag>`@e7otG5QbW)q_iYPc(&|G`sDFtU=RBgWZkOC`}&_hkx6mq`NXsl8O1(#i@ zSdvD8t!djRuPYSHnK*xM`Xve+w3O|>MpF=Ic<$A31O->tRli?!nu44}`5x~R6dY1o z7MtluLCmZCHBDX=1bjZ1q~b||*QR$15d60w4zJ0 zsXJWOir*{ha^4DCp`MsEG{SC0%5EOtj@Am-so(uCcDCZpy3?^=TUs&TuDp2s_f~Y% zZl2olwG|F~+&5)>Y(>7y$ueps8Q(VY()3j;DrKfy0*hNQx<)JFWqvDEy?dbWxE0>V zOVc;zw4x^V^~KcNt(fnqt=@Bk;5b4vos-gv=*vzWL6=+6a4^*PeQYcC=fo>(Mv_+X z;hDW>TJhaleCbJ0E0i^o7W@flg`@R-zYRxQp?Ar3P5Pl$jCxo1jI*y5F$JbY%iUU` zH0$c-1ac{N%Fo%+T~4i-`+MS+g&SJYJ}SH<+O`!I{~}+s+7Q1#ZrW(RjL6#zheleo zBE#{mZR^}tY^N38pJ&nvcfml`1;bYS+52uu=hRj>o0%P4qC;?Rbe)^1*^0Flfr%{D zRv4YXb!oLS;WO>e^o-#aoKSwTZ1VPrM?mb3tF(|Gj-EvS7td~4B@7Ob}P;#|Mqf>`CSroVSukhgEYo99hp_ndVE z`6L)PIg3}#Pii6iEyps`;##od-?;Rls1_Wnw6gGuXhG?99iN7f7OZKkwOM|Gta}ww zkmJ{aBM;VBX?VB5li?l^=Gj8-N%p*9?P)>4OKI-5oh{HBdA<1EmKG!^c)Bmx)PivR zF(&_G=(^*n`ol0%*^v+`iHejF3grorijsa*va%`C(4bJ#u=n13@4fe4_gwfOLzvqv8&pGe=K2MA)QGWr&o8{C1Bt*UjJ(V9I?!O%r=A{QfdpYEpkvMVA z_jfHxA_KVhRboy>XaH5eesYxV9>DWk({Dw04q&2Q6tUX}&}uuW%E>wao|zMKZ?+Dg zAxBqcgLVM?C$8>(_>YQB+bq-Oe^c=zGmT=gNQG3Oa@>cnRBS!3$9ip=iUz$MyD8&T zd_5oDt2s=?n{=jq?E_RqZus-4lBh5ryOdYoNrmr_{j6dO72lmXTdV4*_+VzDrcg;m z>Rwl?ief6vGy@OI=TTAmtUkCRgNh@167dSjR21K%*Q$=C;*_mL0wSo`JpCxFA&82d zZYEM{zEnK=q;B8whKiEBOWGG-P_f4+;cdS&6}Cb*=&nDe;@+-8^7uU}R`%7XS=$l% zPpL-Vt*8XfQ^+nyQ!4n*=D5-sQo*6g^~U=u6;*9ZvOJfmV84CKBT&YfQ=vIC{_Hq66-+fXs~zlArB@GphRyOzeR{QZz zJWe|QS3kz$7o*R7?}zvESGl8K`VklM!ur8fKk^dUx>(2i5q$f?VCwsR%+^_WDh>1_ zz|i^g`@ViyZL6Gr(Af{)808p_mVP*qGi>smgIiy3in>Ii0g-pLDkem}{^j$2{a}p@|1G zQ~l8WPvu^hd_TPQJe6^j>4)OnzT|@v{U~%dXc!djhj!jY?^nV^{n7%Pj|=ppWRRH5 z;Oz(PjU}4M9sSrItmLk_tsl+D=}R{liSx6Wg%;8GV{+JSzx4(MohBY;yH_a4Hi^E} z|C0iZ=!rRx1qy*z?INfAg@QYE5z>DrDJT@a_Mu>m0@~U!xm)ik5LUl(dj9|gR!$RZ zV|^6VbEH{EbyDEb(*5FU3k3of9&7EWr{J|wUl+NOg0S2_%YG#kWPRs;doiB^p0}4R z*|G?~?c~(n6heQwEZi@i0xmVNliE=f_=H{#;0&c;Z1HmVpg#pSX)bF=dQre|^Fg)I zD+)HKAKwW*r=Vx5E@Soy1stc29?pMA_`4aKJi1H4zYBKfPT5kxs`Pwvs})i2&-$Ze z6AEfKU6zS5prC2X^;wIn6buBeYfD|G;Oz;E+iRM{d4r13sZIf}=(eUX6$ zQXr<{J|iPXoa_CJ2fZ}mKlFW!dW3?$#)dB`A{65J@OkDVAqw)1bOg@tp`ch{+JkP)~mL`-0XjKv7ei+_HS z;mcujkhDO?k=bo!8DEI+FD%zyOp&okIdH{joQyn|@?3>sGWLY6^YRRmVLst;@+XN5 z?m|~?N*5W@*Egr=8tUiJ`N_9bYoGsq@EN^&rD& z?Xd4DcQOtozLgVkCFACQN--QxWO#~sSFJjbL8Ck#G;L4Di&T>Xl$&IP-ITpwYeB~C z@Mlh0H^>Cuwe`seeKIu8a#Xy&LdM?i`0o$3$;hrg@ySw?40rae0aw+@_+D{v<*W)B zJJTBXoKPg=eZ#-?BXVTaEUZKdN|O=C@o|YuoD4nsw_BJ+$>5D&AEXf`<8HaL*`GaR z1n+Xp{>DoNa~N0Q^bRuq%s+A%+eXI0kIg@Zn8-LSDJa>$nT%Aw0?}R?;+#d1;~lFc z+&@RF+xnY?FDs0%n-)n(z4h*4!yF0T3c26YGaa zXc_Z9*Vs=Y`kmWfx;&y3QGYQ8g)2@-~NH~|mRXI>eg4@XO`{5E2 zT)yq8`j}5bp28;mFIgn$^W{`7rIKJaq4a(=frQD?j}@C^NH}t>OpiUBgv`K?75qU& zo{l%~5Bicomg%jM@gQMt(_2FocM^V>wAEj7B_Z&B)1Jq&a*ot zge+JN1>7Rxa^nhZvLy*?i5KTfO-QKme-+tjKmtK5&p39KgjM^aCw^Wg!SB>Jai)ue zd}#O7-g6`*@0>D}Qzap7$SUH}DH0lIJHl)fNCZB-gx(8TqHe*e(HKb*!LJmsze0@o zY#5XrI6#74RnEquAPIL36#}>ICgI)L_?aU+Nd%6~rcD<(NwCv@HDSv}PROo>kQcW6S?8|10Q2lg`@fi|Kt(?QlJp7~6-7T!LYLg8Q)R$-%o9 zz4|aI_U>)!^FEwD_q2=VaUbZWu4o$E?!)Rv?)3`uK6HC_{^rr|gP+C1-pAT~5V>LY z?wxucq~&e*Dxwdfv0A?qWctu|_&V@O` zGt&bNy|8#W%cWJ`3yED4Lmj!j_@rWRdNJH)epcJI7b#_?8AGOoU&+ll6TMy}R@EPx)9S_JymXDnXL`YD zW=Xe2u@~wgidrGky^#BU_vnE`z4*eUo?X7T7i24%8cm*Fj5fz0CBnI5RRcl%F&=)pY|fsU60J;dItedK}e9@Ku?pzmnx z!4(xwM!Sk0xQNfCZqM(*Vac8k6{$U#s$9-Djp+f8Six@A;2r`eUv7VeXAi8J$!(U; zdqA&HyP5lO59-C0##(Rpz&ap8$I+q($qFo%M+|!KaPA%Fr^`Kfa9PzT@>~z}XnoZF zQ|bZVqhB4Y$9qu9SNFB!NDq#m6w7)o+=ItEo-nBM_YnLf3!50W_dx7QXG|wU4?a|D z4Ek<#L!iGnN9T7pm<-Mc@0#z%D4nvx)TeGVU!PjYd*6*MWB1jblDm&E;$0fw(7-BADgZmcG|8yctTt_3D_V=`#lee1|>JZ)u?PzvZqhWB@G-Z$M? zd_m*$)1@1w5>6822i>^8677&@+l?lfbOS##B0ksf=R4QC!C2+Mt)txy7Lno^xwGAP zcxK2*;8ZtSrvx0g9_xm1Rmbtg!`(12*%37&MAUf=NgaIMxUu!srE-pLSeJ_?r89Ix zG}1aZ9I|$r?80*e#lQE4yO5zMAZ17CBKrAk>^2=; zSlxU!)Uv({c>#>g7G+&vk@t_V%q5Nr2vtUUleot4YFn_X*9tok;M1 zDHX}niBHFC-_5cS{+2m1C$@CL<)){K?^*|z?|5(e^s@uH?q43s&voFL_i$Xmrw*iQ zg+BTEz60ZTw3*c@9k_J&v{rIQ2j+4U)i*VC;G=oUPqXq4lw>`>(wf(S_mA!D4yAQq zBqmngKehug9p|h5gmfVKb=uMmpAI;m`ZCt#-a+&s&c2X)+JVM5zeiHecJbav}=gV!& zs}db3{3vmB;6Ml1b2UqK_H+=q6U$2jTpgGtS|~ zK?eKO)9rAnWzEw$(T+;9ciHsP?GV}?WnFrRsAvB9N1J`^2>({iC&1TE@EtmF405zX z^ZA!nU&eNL$t#>VN866)mf^QI|7|0F7o<&^zPBMQRgUw;OdCW)2HjQ1+i)RIp>*p| z8w#BQ)4KcG;Cz``FQ}~zg4UEy{kk@=Htty4U)F|&lN$?*xotS=S({Xs+6D(H*PVW` zZLsvSyLcnCjhHJfQIqy%zC7*0V`L>dUGMP3gSJ~0W zA8tdgao&iBFyY^s^!UN9Hav`U7&6__1{qb2f7&c*FCA7ldXt9)bX8Tq!n|KDi2txt$4G4YaLT}D^^m_%h=qCFYW9} zOx3Np&zhphTHK15=6$go*{zsjFKFgTZbk0&!vcZmRtz#nnTrOu;vcu_2N~~H)Z7W* zqvGBQqsz7XwV$>^yLI@7i9;)R(z!hxY+LapDR}CQc`IJZK4FYAXoYRo!p~BjR*dcA zNhfKxLe-O7Xil{isd3va85N2AixPK5WLshSAyD<)5yC&%c>LD>R;+SVs`~FH&L!M> zx0I_D@-}H!A6Q$_r}_KfFOqwkyt?j&LqS}I) zh4uD|lP$>m68n`?wgqf)?eFc6v|v|9L}<_c7R)V52prkdf+4$f2Vd?MoHyJXw#e3k zpzPvTSGKl5Vu#!5nvG`E@}%_aUv5U?7KQ!(-a}<8 zn(_CygtrEz8Ml|>W@YiU74H2 zQ%^R-{pYzdMcHN?-yFgI_DD0doVP06JJ5{XZCTRW1e#&U6}^_j(~KKt-@-1kH{;-g za=Jx^W_%djh7j6jNQ^R`Ke5t;%_&s}J}os7{ICjC@2^eRGZ1lEZn6odj29B7Mw(Fd z?P6o_Kod^9=`K?1ZNk?-PaZC}Hldq*hbgD73ES`1+MAU(p?vvKDt|!}>M!T#4rDaJ zThi%GKw=XDnP#N5qMC4hFG~Sia1%TpFK_gDHxc{swR;J~1?0}%;k@S3gyug2Lwg=I z!BS}S_GkMhgkPN5-GHJb2!i04>? zY7>E1OYak^*o2zUXQg(>h&>wAgwJeCR@;cdb|`jrpW z+nexUr|EJma}#>qOs3rEo3LSJnqs}yhym7na+iKL;+G5Yhqlm&<6etzg=ZS^y3J{l zW1qMl78d zyV&m12pbo^deWmtI7iNG9=_9vMa5Ww&o+&i?mW%<%d`=vttNWu4I1I_&&8Zuw-LI> zg?mLWHbUji5c4VZMr;yF+I>ZdsC(UWlf8T+_78;CcpPnnpm2{ys#qh&#AI@tg&VQH zK%Si3-H4K7*$Z2E8WBZIn;v2(^2i)^yTsUtm+B*okLenr88m8T_NG)=?TDsVye_yQ=}ecBl)9w=}>t zf%@C3wgL7x24j=T8ergjk$)n;0mLeZ?cU4=P|sxqm?SlzoX^iIIl2Kf-ivy(Ar0sZ zB>$7}YrvLi35UmT8t{CbrM~fb12nj8#@U`U;DxB_fPq5;41dMMX4^G@_V0s}>y{00 zap=m`zR`fUHZi|a^$2pT~`&vEx{}$vw|6PwKQvVcxF4UvY+B?pAwjT0F4F^7atcT5n_1Kk> zdenGk)Q|@15ktp&N3*XUtE2h9JKF2<=-y53bB*;NUe!PAtg6TO=z$j(N{D!Z{MRYD z^*Hf|bF*GL5$_?R`$R%Lo<8_7cq^(NzTO>ce}e0=wEe~MOW%5k?B!|WdQ*=vuctO? z&+9>%&lpp9Qjc#jA)+LQdh{2`s$1Qzht<|+ax~WU5SF~T7HLA%`*JqqxPCp{1%A*D z>eOSI`b7ERMIx`_W1XF6>!F`FqEM|&$dzM$nw+RddRNYKM%j7-C!O|Vp?E#Mj(Bq! zi4gfo%Db5N)gvu{^LGV*JzkdnOuWfekJCYK_wC+B)PFMf0hys5$}ew5y{4;2*`|L7 zU6<>S%UE2y^tBF)%3~`wV|BQ3$#`UvQb*vvaG9C4)LmFi)0aD$&u1p%$QGE=VsO- z%j3pr_t;uI=D%5I7+4GY-Gd_vuWDh+@i>a#sTNGj`&KvXYEf`0WA(F1Eo^v4qx*Gh zaiZ7nL*uzxSl7B-Cv8$?@;OmuXOo( zG`9v)9Y4l&5^FHxx_H+qv<7d_Dkmg))KHI^D*u zw)!(p036wPIKSd_thvVQ*aRMt45dm!ym7ks-f}j zE%Q=YHPV9i)EH-1LwY;YR&snb9!cxXs)bY|Pq)*o)}tB{SNR_*xKyJtlyPt6y=vGm zX`3ioRpU%YzI?NOH9o9Nq+h&L4aMpB+!57kyttKq{JV3HOD0Q>!4cY18mXWEH~Q0)>+Os*uP&uy)(M z3Uva`Hj0kKXYxtQZMUny&fW53(zFV3wrw1>SF2F4?`K`4W)&{VuC6&LS0Pi#yUXZU z6^a*hMb3y3^4(i^NbRjcN6`ge0j?_G3?G`4cj#B*zsR^b zl}nXSX^E+JP^&~xf!U5sg-X0X7V_hxL?sRu4(JK&uLSFs_A|zOl?aPqt4!QhiRkMZ zMYHsk_);ZsRA!|DT&0JPxh+&cy?uLK|6~P@|GC>O^1cEly|aeT`zkPP#Cw0VxdI22 zP{pf*R*;4!LI_wd*5Yhy{y2@jHXtzQw4$+ zj2%wisesm&9Nuz^3e>&o#c}-#?7M9Asp3)vswuy=D4nUm*Oem~9VaTFq!!n4MXCZa zB@Dy8{(Pxak7Cci9 zNt5jciXX~hR=wr@Y=1d4o^GQ=bP#&_`qLNc%3-LSB~D*b4wY=Pz}n1mY^XoE{WQKD zeu*y{6+_E$Y=G65&bu7%+%rj?&&%;-V%8({Q8`vp^(!pw$}zCp&q&U!98tWSj%<46 zxV`d#Vdi2vj^?Pbw5XQDC2N~|ib6S}S8v#RNS0$%vbE>VfpWCp>WbChRgRt4|4p3R zPRNf>hMr(3hj=e*jpTY69yn~$5&c;PCw49U{a?y(h}(%GJYI&+uURV&4wk|EPXL>E zcNyNe`%#WJmcez*hhD9`4DZkENY>3QgRVzLzD;r&?rf%tK94NJnGD`-(f(y9__1MJ z`Kk<2KbUuoJT1fM*+v!G`(?-%O6wQ3DZ>Xf^y(UyL6MI6=u6!)TvGI3FViT)nC&I$ zZ^~uZAJNlyP_7KT1|I$9;$^t_ksc|+WoZ0T&o;|f2CFtjHA#*#uo$k6J8dmPypZEW z`&ud14jenf_p=m|TMF3hzm!7rrS7gLI*_u^V~!KEk zf7tmGvZbgKQn}kNRtmQtIp1&ZBkJP5)XvIVisihRKY80q(c!}EqPwLOf8Vj{um3AS zUg1vP%pWB<6dcEW{YwdfqsR4=WugRD^TmjAb^ z1guAx#A^ym@J##B+KY@5JV^ew`(k_vctys2`NK*u?Np^T=Tm}|p#|f5_Yw^7&eeuJ zDM5Mh9@~5ON)T1^%kq*<37n=sse%?#N=WwNGsN8&HgFiu|C6M=@g9 zC#LnE6(ct8glyoWV*F9bsqea73}*9)Hw>1=pmLabpEWE7C!JlFmrgPA{dv_W8pWut z?_B0TU5vDoAE&GpiotiKfw@Ae7}vLS*szEeW6y%#hUwm7+`dljs^%f;R0!|o-ByfM zvCUhZwiILLo|D7qS`kdvu5hdVDuS~4->*4yMTjBDd-x`cVC=*o=`~yg(Ok)xbxILJ z+d@t}=qw`kYJ-^;8j5g~&6Cl#q6pvlD97jWiwK^x_F((;A`H}Z2>gyKf~B(LkZV{G zbkAL_Veup4IY;zHzbe9lq&BmpOA%@6``=9s_vh85%_dFlcEiZ zaPTy1{wbXzNG^|jn$jTh`v<`9bP<8G?N)c9g2mUun;jfQi0(hy^oFqrVip$^HE4@a^Y`iy``R znJL7d4r^QLU4xnF#K#QMELLIM}2jL;I(6+%PlKJcGi_N zzq~?Z?i{pqNGpU4Y2=haTp>=UR78LbN8dPMF5lW`%8yp`rzuNLA~^{==cT7}?lN;Ti3UI_jh zi3(z;3K771T=2y4La@;k@m!QBg!e)7-R1`iF(Mu=i3()`jFU`zQ z0d`r}y9$sCpj2~l^YxAb6uK?=hcy&{cJsX8P(=ZDTnZ@TFDyW&`(xOu^HV> zb_H;M(zIl5LBv-w^X@Pt;%IN%Cv}B@xQ<{ein>^U@#Zuzsuw^&U9j2lQ~`LeHK@!V zFTljlo(eO`0&q@vi;RjC;CsqxUp>JBya_t~Wr()`)cTwg`r8X2&hqv7I8y<3^UG9Q zZz_O{e$VWW)qFgpTV-_nnU6I#+FhLU`Jg>3B#<_h4;!Rx$A^40YIOd3JD89C!2@j$ zefb1lCexc8?fEFZmML3SPx!I_?K7yz$8~49E1L`RvAaC8Ek84#n4b+0GET~e*1EV2 zdvrebo@fqh4$cQ>W?=3UpL_!MayVP|RX+Ay8Vgu*$w$tzDKkI`#`AE~H zCMekCqw3&!zD=h2h-|KY(0e_fz@fiY6#ZX5%*4VdcAEL<_~cAcR?Ei?RpY{)$jA1J zPIs4%<^D?Hi7BEcuZC zk7e-K=6q->Km2_0UmiU6r1Z;v%Y#Fifc?JlJa`_tQNDwc2eAv|IV{b2#2z2-MW)g` zw6VSnV@=OPZA{b~?#MixE*lWo@0|zN=UMvlE_sL}2P^z{ClAJAj8*qc^N7B!>u{J( z9vB|mM>d|xL+AL#-%E0Na8VAP7ZJ-N@FPlG%y;ME)I*W*^n6jQy29u8|)2vHjNY6IK}Y8;Y{={1zG!2b4Qk4fbDg@`Shfs(EqN{*_aitMqEBXHhLxd%MKT*+b|2f_ zga|)*#x3jIMBbiB7Z;{%ELL#rN!&J{T8#Z&#~o{z*H8@%iP0?hqCZbgGNZJ zI}82AapT|WvS6aw*&9@pg}oY|zbd9>fxg4=*nDIbPE`kIC-@R^R+lvO-LfE{IL5{I zFbhSz^_xG~WTAoSA77eb7AkH3{`WvT3#VQ7`Bu>$ktf%Pte{MnaB;B3x5nEpViv=`lFc$-pE^K zIhct`KkIlS{!HY^dnuJ{%fy!LPv5fBXQEIr&g|}T21pjyJ`K)gfR@axt2~i`gBrWb z@&_^?QuuxA{>}^py`NQ!t<50tt!(Xg6=gsnV#F;jEd!HzF)jzAGqC2#X;SQ;0gm?x zB4=J^fbUFp|A=D-%I}BXczip9;B#y4*=d%6X5Vn$+N&90%YUR|t(gJ!f6ZrjlruoH zWm33HHUou5a>FkUW#D?~ersic3}~F(*12g%2Exa#ZFDkZz=Yj$OW0aE1dJm`t(MXe zVx;#%@pC%3leYZk8A-=<(`K1Jq;y#5SDqMdNrx=M8|LQ9badNN5(@Itp(VBUFDW@4 zjC8jAQ4#6*8tAqf>YI*TG09P3FVczU7TJ~P$LYusiR4PNOUKdEvU4S->F{8>^|a$^ zIxd*RHBV@!gI4BP)4Fmx+8l!(?meCkvNZqbnZxM_x0m{LS1_HJ-&d$f;7$i+G(vii zIUQH5i?3{>O-IdvZ^9RTr@_%OE86dC8p_=-RS%A*!DC+8ZQo!TMt4ol-Rnw2Ky1`X zTYVZP*?KYrOVcpJKf3Iim4;P!$?1>rX&C1}eCK><8Vp)wLQ1{TAm^C(-@)f;=un}} zjDDDgV=8{3+_q`3$*$!IF-e1c*H5vXSJS|=5lW8JOv9@hrmcrn(!d*B(ph~x4eSTk z_%0twgXvNA-(UBoLDK8*bdXJdYLMnE) zxF4LJOhwrOLsH!PRDv(LA=;3XicfW%oO@eSkx8|p|6G-dONWK+3ky==+Lov7mX->i zmb;l(Vp73tPJSd2lnN)BW92L!si1Oiz4^_BkgH~UQ5}eQYCimRH&bzSg=1Z`0f z(KX>pDokTiFGXmkf@|rOM~F%)eA}`_LgiASneKczN<0!l_WX*`;5|mx@qs zUiW79R1BDxF%54?1$+3mZ@>Pf;OkDW!(2a7F#9m5S#CB3xz>TjH^x%%qHMKJT`3S3b8=s5NWoavqh_&k!Y<22$0j!g^VGjbvyxMA=HGuti;*c<*}F_V5s-o+ zJM9q9*C~*Z>xvn5PJt{Pc}~V51>2o^pZVWRL8_C)weL4lh&kpPcXh6&;D$waXZ3{? zJf9sm6;(}vff$oqq(Ta@Z(MwKn^X#f_goBmb1(%~<0{-+_7HWs(~w^8NWq-f&stXI z6!2ttPlVB?;ClVBV+WR#5&8K>Rr$AMELb|)YfUACqvG48FT=^$>n&mAK}kkRLuSa~ zj${bg_x?4OszF3C9fS>Q*~gJdvteRR5Gn~e1*1^mip$=GVK*3WgF@E4U!{B|iBT`B$U zUFym3Tu^q(Ml$YQ`SmP7HW|+5H^Q6_Cxh?9uPQ5{WVken%wOY6hPP8Y4LiTW+`JIHxT+y2v^GTT6>Cvh)nFL*@0%6nPB&e40ytq$E!px%N z_?wO-M0?#+NUTo+tMFz2y0RoxM5>LC=O)37tx04{Y7$yTm8>OVl8~7$8)Fch1Yxb6 ztv+5!*tKLl(dd>0y`L}UR~?g}y|OwZcQ*+ZUrtdRt&@;F-&qDBqpmRL4s$E_wUIhP}t@lXv-u)KlD#=j#v`R3ql82g_6*et~z*^FA23w zPfOl$Bq1oP?5-MP5)P-_V=SRbLf$ozCnC#h;-?5D;J6r;p>n?{*;x7joA77&Pj=Q zDe-2EFDemBbF15{0}~NA)5c=rnFx26TV0H9iI~;3yin?x2rm=40L#0H$QUyT;j>9Z z?RB$jlpBfImQge0b1f0#-xhaVxReO)$mh)LXA{A8^IPTMsYJZBt`tl-o(R?jE7(gA zbtO7(Q$CmoF~@sB+yaRxC>dy9;7%mwDh}j!vn3*Yc~&`ROCpYQB)J8wC*WK0;BCj> z31BK_+-&hJ0g@68r*)f(s{SDX3iGo-WM@nZzbwKYdQBLudm2{Az6Q@+I{3MfX!* zC15?5p{m&>0X-%fq0&U6C~uqmqr74 z6L9aANZABO0{Dc&*=3m$aDVB@j2B%3q=z1#oL-5?`XL4u)gSS=7ja8BvST`nGn0yho1NX6sZw4JBiA;NCQ&*>m-ih{IxhV6Oh4|7vew?nw(o1k3)8=JSl?`hhip2 zW#i^JC`}D3@|VWpA5%=@Xj&Y0eE-v(8WD%R?IPD7dc~pgm93Sga~y2PX_iFn5m=kT#Oxbv#U4vEB}g7^1_VZJzcwbgh`vBVL4 zBp;%Ft;eEmIc7V{Vk~qul)j35iiOMyG?%h($Lo^V&J9SWI2#pK#|JUE>-qP)s&x!}@>9-p>&GBfxVmKiLJR^;BPF_&Vo+KTTaqgs z1DX9IYT*ZBFc=*={F*lg;?3tDIRlXM&F8&S9>8)o_NM-;)QwI2FoItts&b9^4Yj{@7_ zoo6?CqHwvaxXGs>3Z5_jt_hYz!S%D@&#Lq&h;Ha5>qkc+q~4O5);|jTi)#n6UqnGx zB=V=hqbQ8_mfq#O6$S0Rq^Le4BHkghI{}xYu)TYJ?%J6sIF^57JD?B+8;7a>CK3y8FY0ClL}J?k%6iAk zNXWAvJn-Ey5+?t>Z|A=q3FqgIlbWWH(4`4__~J?=?3hZQ)}4>UTJF7{G^Zj_NY)!x zmyX0$u{H7FgGByw3v*Nak(lsl+OEh>#FJ!;ji8SN^`yD?>T(1SqCadpAAyexo^Sdl zBG5VH5uiL60osD^Kgv5JpqzItN472kI%E1(WknHa*cZZoDm?;mlJQ+#(Gidc;q5RC zh`@SbEXS{x5r}N)Nepm`z|USaCu#c#*wvRV=k>XL%|0A90=4`P&BM_t zL86B1g@erVIIR9+I8Hm=GMPUej`yS+k^=JKxOrAhnzWoI}R zo~GZ~$rcV<+K0!?HihHrbj**!G z&i@gLv3Fi!F0-Myxk|rBdn^>6>T?W520~#!p{GON6$+Qx(T&OaP~!dMHlxncP*gHC z+ZJbsqS>NfG$}C@En-|jq2Zx;&taPC>l=#rgdh_ycS0}k-stTVik+<6+5+!{B2tLm zF2*txd-Ti;vkgKaY&08Of0@Wr=Dhvg*-%K-(un>>C`95e5Aw){;;@0vPKbqKJ3;bc zEf@-uzy0U}X{mLyhGJs*OEW!vDDJSN_bRW1;E}oQjThfT2pq>fk2|JAAp9wn zbH`{1X!z$P&H6*Isp5T4X-5c@2K8px>O;V1r0a64Gz1H56+YeBA&_>uyW?n52;}H( z*`p&u;QlGpmB~K@_XQ`6onM8ZG(sWo=hF~kUODL2o%ByGany#T?m0d!#$bZsv(f4l>Jwv5CY!U>EsJiAxPeJGJEb|2=*u3obcNd zf=@pV+aKo&!Pl0j|9xT(!CbhGcMx3&oa^#<&i)NXwSngkn(x6lU@@_~b~+emV+w;^ zM}tui@lRKc8VtJnTH|e9!DvX4J3_r;n)%@~cMC*?5zs?JW_;n9y)6`(76_t4? z#{|PL<<_qK!NJ(3nmNnj6^y)ljtk4rgYo3knAq&&U;?vxDtgpD81}{iN`scc1fSge zj()>nknYp(r0N8tXLd~eoklRewRk0dR0&4VjU5NR%Ll_@{1u5-Dj3W1i*Y<6!O)d3 z4U`ff@?4rt(c&iR`x`oRmo*rpSDuQ5(+3lLt64#ft3eojdu-?8QV`BxK3XjFC5V_i zEVQ^j5rj)YU57%3f?)A9n3mcX1lMe#8Sb_qNEi8!7}f?sXYR*HdPxw0`)>L9Pj(O< zo6xPCPY%MO*2nFMQH1?~pyXO$5Zcs7wG2FiaI;P7PTlh$w4YM+JKz`uDXTqM0e6Dn zU;DFx#ySWG0>;Vrje{WclkVM@D?#9Ea~`m`7)12d@3%~<1!2<>hBPb1Ak^6#KmH~Y z1QoZ~`?W>YIq(CUeGq4r{I;sVh#zSE2n8VI-Gowrkc1M#!%jf%^w zK%5zi{h;R(hzR-sCHaSeP&pWCx$AZyZm&*V++-Pus+ICT^M-*4GdpWMq8o_K^1Uy5 zF9bqV<)vA(S|CVF8UJb&13~%t;6jybAi76IbgGX8f}wwdtzmy4(hTLFcI*zsyWt&? z16+aNu%}o~u?E6;wQziSb0EY-mN&Dn2jH90B=ykm0Fb*XHO_qtK#oD3^{wdu9B4dt zDBwc?m~LD8Rt^TBHYhmgb8i4ni!jLTYzsi?1cQ@iT>!L?k6m>yBkWA5eRX*OxP0~K z_e!24J~w^XNlWqHZJJ zfX^q1UKf*Ev%YKqepP&M=syxb%q1%(Ts#m!%n6sN_v{Hk>+cjxEuH|#JDdEYZVSNk z$kSVm7y@u1A@$`KngHyMpL*c**B|Fh3E_+`M_lfiK{qRZT##=~)w|&j7n+Y@QuB z?GGRQ7O9$(g#H*?Lz=8VUY*hk2@&_l>Ye56R|ox3V$Lo)0CVh|X zw)=y0@U`zPW`8^kpBS^H_s6lpl);ZHe#qd7H(HwW1Gj994#SuqHV=4|2$TK5uvy1N zy~z)+$GbaM~CB;@-FqG@HG*JN5g(MJhM^b*m3#>xDR@Dtz#YZ@X)8whwqt#l7o~ z^TF7&C4s+zgrB>NmhdaWPQ}k$*U<+gdT~Q?Kw=3pjo7hp(`Od#evZ4D^{y@XR8|P08$k6I}~h!ma-J180)Fkiq|D zSSQR2M@s3KY`nZsq^ zq#-i6Hv4N?8s_5pKARS#p;lLA*YgW$SpD1l8!3d{w@M8Sk!jd{I!WQQe;Rnp#WR~- z(r~tsrc});4b>-W!-ovh&@=Oe(N#SSM?0Ne{>i3+;^T+Ve6cjhJMLDN5lkcMPHuKi za-`vBw;ypdlm?3guDR2+X^1uqPF(nxin__8ePyeuSY4rg>M);*QO6z!-pN$N@|~!h zf0K%jij-F#zDUKdcmMd4+fwnG>$|CWT`HoSa|OhzQ!!1`eu<$p6KOz-o31t}-eyNbT=N4M*l8RP(EEHL#;%e5~!ZlJVM%3&= z%QaF7{(6Jddq_o9d+xzD@l>oV(u=(jPQ|MO$U#>pf0Ua{%%oudgLlUdyidVw)%$Sr>l9GrWgW|YmV#yF zVf~So6ez@IyyJeDf&_uQZojG&xO0!PJ-wa+V;hNn)?8xUK;}$P2B8=A%4{ep1xb!$ z0#cDF=*TWGDE3c5GSAO`I=2*z3yqgY+oXW2TcUr(Ck(6GX4vn6R37bCU{xDux6VlV=AwTKh_`_wvs4LPGD$=G#i&wVmaGOFD8B~96qkrJ-+%w}&gnA0+yJa#6-N_&eo zVk-&RzPBHpUr$0y&P}(ng(PC1zvEEbrz9jF9T}P&OG0&t#96ArBs}6gA%CPN3G-A_ zi>7T!;JIO&n_8cQR)zM{jdznEz`!%GQl12Q@j@%nt4WCH&=~d3NkUtPipITjNq8?< zePc5*2?m4L7L+3iy&RdtmjaT&bhKD*);$Tg)fW}y?33Ubqb`(dmIPbVm#gdgNjRWd ze%)L>2^Y(L93`sYQQ1CrMfg+_O8b*OJs6SLbOufNdyzS(4nOAMBHATn-;s8 z2<3zaPBS@)h+}UhBPAw_{oZ=@8BZ3lOuWGcn)++&4Hf-7pP6@C!9s46`djnQwg9e%P#pQnt&ro`+SrI5@4L`dZUOl0YfZ5 zlz$%}?9wr5TQMeJRYSD?$<73H2NtIbQYL_%;$`!tpYd=z#zx+@5)bjcU(|!<<3XKp zE&t0@JSs&>H66y{p_XJp9v_T{`O71Ztb60Z!jj-O*%1#OnWu3s&GF!UZ$9(=VLYyS z)D%YDiN`iBu`;@fc#Ljo{k?XLSU2oidMY;_X|n4%{TJeqn&C9)ogR-%tA{Q2B*bIE z`l?`UL_E^twdBkLR+ znM)z+V>-2;J<1l`g%TmoN4mI@^LC(%`(AhqgmueG-hiaP7 zZ=1&9+)6y<8-qA}6lGGR(29ff*rgOvpf-*%60k1&K>4Td_Ek z+wf^>ITm{TEL^FdVllZdRq4cVET)!EYkqtl3pGc#6IYsIakoutlXN#0*Iuv{{8ti- z(vtlL-e<=W`)GgnTdA=a5em$ViijofhfGt9y<WfG$7-+iReL55iEwaq%*}bt)Eo(Mfpo+zgj6A_#8!<$`)xlc2 zuQ5bE`qCorcnl)j^~RJ2VxacmTCht;46^m!JoHvu1?ePv+Zqb)s?0BV9a3AsTHa zE(b{B(b#oOh$JEyjV4!vDO&buG%%TWE-*x+UhnDV+wIY?*<^_5+=zmrRGV7E*C>bv zSXk9gMB$i*U46}96e9D@%pP<{AtJfwbaP`AjyS;L#oZ`WcgWR^mqx)bnyj~RB?`}T zc5^VDi-J7q2bWY_6mA{MGqnpM>`k9*Iqw#Qa~8JbCst8-`nY8Ora=^5*v$VCSB=7d zBRzDXr=u|OeMF(y`tCc!+Zl;Mq13Ib4UrJOb(ZJQok*;u9M&%> zA@pe%V@0k+;>nFG_Z!YeV(-t+&pL6D_%d*qZ6+uZM*PMa3GR`wW7+M;YZHlEKfY(Y zAVos%=)ICq^+@b;{CiVSHWIp)N!P}YM`CsRMq(acB$EAUjLg|0;XUC-e~5vwcjs00 z=k1XYby*gBv>Acgnxy>ng$P($D^A%@MS#P0l16?w0=s(;(jM-O0QLJj(==@nAj(^F zemso8Ywwo_KUGFx2hDKM$h8Qx`5wDEm>q%6#N3?M=@Iak8!~$v69LADWi#V}5nw$$ zaQd5D1SH-ZB>%IHfS#hxF(z^Zajq)Vdt4&|IT_IchH??08)cLa5sQH0y*rG>0uj*O z&6EF!Y`rrzq8?ZOL5gp<9#?@ zeammXG7ye!zH9YgyTak7n`ola6pncNgO{)03x`8qPVn}MaM-Q&thg73<8E5c?l)QC z$O-FjR!I%V;%`%$hNy4?_nvn4L_j$7=G#s0x`uccugrK`c!;pirJGG`8qw+U-|J7b;kaeqcRq6~ z416E$JFymq)y1ZemH9C6#`IjPoD4(s#Zb7u4TFhPt$|=~7(^1?hZfq1`Hb`3b#-Ax zUV}j}r8*4X{XYIMD-FZ3tLuWt^TN<6uH3mhGYphoO|3=LI#mh1h( za7KKXsoW(DU#zOGT(Js+fM;^hc~Tg1%k3&tHNv22dRj6Cg#Ru&)^zbO$jXlBUJwpL zI>pt&0^${uTNunQgne7x3`N4I=ohB%p~&A{5SEz< z#RJZ!yG~=F5REGizBmvHX4TS&j_y#rxYXD5t2q=pXN9CC9)zM^xqT_HG882*OUEA- zhhj^7jPl>*P*8@2m}#C5MMq}RWNu<8+&!6czlDcFcj2Ny;+{ z>rhPf4hcJxL-C7=>VBVQD9Xl#Y^4=KA=GVkwCYqS@*Ex<X9)D&((OkZiR(@;RFi5$PJVa!Dk5$WBT90a7tr3xoagDY9X~tyS@a2IrPXmhRI-5 zPd9C684iZaT9GmD%V50h+!ZI@8H^`-^6?r?!QgQZGqt-PjQ{$6P()P*W5?d5$b##^ zICtxIS4(a%UeCEt%w!Vt|J*tlQ-e{r_BBvGCKv;C65srTgWnPsbKuQ|DEmpv0$(yrx<gL)=K|~*LP8RLdAV{0X3U)6A;!TNA;@syzr0&xA^lTy!HlpiIw}%69WANJU>{o%v zPr3IpraO?}waTUPZViM#@6#%qx}^x^$kRoc=d_1u7Pk1{jFbO z8wks7E4@vofv6kYSuv^~2+hj+_rKMNF;%1&mqH-=xO$8Pi6mn&b~>%m=_V=11V@Q~>VW6{Hs)3&2et$FEU?0ho6cpdWk@0H3G7{El=4K>3s- zQ+iVXQ9t{6bM8R^%D48g=~M^c-?DvZZCL=0i@7tfUkyN*`JKtM%K>;&*Z5^KBLLsY z>_T3t0XX>8vS=zc06I%MRIS1SuyMBX(1>3EY72%0&D{eaR=eNfy?p>!nKzy}SOj3Q zeUH^QQUDfRzOsgE2jG^|Axc`60Q~Ad%~&WKfT+NJRWXSGn0Eyizc?BI+qLFHZu|lG z@05R^Au{U50!28u%+n+lFFeJ?zSwk1Qpmt6vGJ&>s}RoKKJB_+y$^eBtw{^KVmqz{u#n#v#Upbu4nCkgsN9fK9lDa<_8)X^|6bL=Jo1KQI{UN)#*a0Zk z@mFfS(1n*6FZ>P&HOo4gZ$I;E%g2y63Bi$|c*nPSy@ef4JSdaAD$? z9~`dRF8%%Chs*QRlAH^EFu(Z9S$WnEEedbKJSO}=#!cVscYaU^`J>S`;78!MrfgsC z@dJzF?;@TKKk)9|d%(Qe4*~Ph-dT_Qkn?-svkfTTJbo}4taVF{m{)~z^rw`4>nqzzRkjZI9xb-<|MBlm=cX#Zgcoynr@Rq@PHp^CeE0b zGx~u?a?nR$mmhY`Uy-lcPQ=x%kmLBvmpB)2=LlKw#qd>Wri@8nJo-;PqH53=N^;y< zFS`i&$}VBO!52=qbGdk{eUUY3$8B2di-uyuNVz_c6SN=wd6uvPUHS4@ADHaXdSx2ugJO!^ zX?t9KFm+kQwa3B-nclZO&g%K#mh{g|LnR*=_Dv13pYnk!J-6h7kPn=G`8{ao@PS3u z8LgtdK2XsU*@&X{fw%x;z5P#bqEBe!jP`;z9&QwSOMmpn&Z%B&(Kp_hosl&ccl4XGS*wM)D=(O=HrkPz&R zw|)LCrS9JFIl1-txwSV~{0nZc8hXR`?fxuYHE*I0;*^WIv^U;d9u&GH>W%1u$0GyW z-iTak4rDsu4W;q{#YX&3iBK?hNSJ zJK%+T|H3muJH3egw!X+zgBOyzd#@Va@j|)U%h}EnFX&btr&nRbnvi1V)4rPxBk{8AcpVKm_6Mk+rc|4Hu0+Zmj zvu4M=V1FRqjgrp`o&Yp1A#RJe=pPC)fko*Oz-dp+=ry?`-wNdpVYGg%3Qjo4LV0{FW!C>K{Z}T=m4* z-+z({mpt+E;kj(#G*6UNk~3MOJ#q1>7C(J}Cwz3=O{rZyA?&&_CKlQ-by;rAx z)O+B-M+T15cZm5vb$tn?9%v9KUg^*EKqvEHI!}fNv^}h{A`(52U!y_uHp~NsPGw&t zd^|wC7l?Nu|ReeK#xuc`qpnunrJ8U#wC6&&&BZq$M zjKY{Zc1UDSe(ZOLTNh1IYL`0m%j4S<_uO&6@`UKc3U?^b&8}$_xue`> zlalI^J8o{J8$3-T>>O*JNQoirGCr)<3v$Q4vYdK04|n(vB>tPXb;o1#vglT0cXWN^ z63^9k2ipP%SFoZx_{TfsO(fm%Vhvd`N8KSqezcE|#~o8E#_ju9-H~}m^C}gCJN#r@ zZv3Jm{2u!_xcbYD=+mDR`myAOqaVKASetc2)(#2fKkwb}BVc|T&7d3cd1H#{xf`fV zoF@cZ-SCAjYg7KA8|+fnMJ%h_;70KxG~&7&K3-56ExO`{gM9gho#)+<8o&MhQlcAd z6dOXhBHVD{%__H%pBv66FO8jbal@kb=i+WFH>}4p`O%Qw5FTHruC3`tJfC;-Uy^sj z%}hPo2?;ldXt#YAJ>rHTQt5C4w;NublV}}faRb-Ah8w3C+(54tkaC&Y4c@gS4!?f8 zVwx#a(qY9Fd45sbU(UHgBBQ25Zo(CFv;pDw-VoRIc5(^zy23rD@zITTSES7h$?!I~ z!s@@P)fIPLiE{+|UB}8@(dz7J@VL+wWO14p%}cI$C6$o%KHU|@>cZ)Pajtl`rR%sS z)D;4KvWKd@UD5bStzO^B6`xd_kF8q}vSB%)*w7VOgQsfrG+g1iIPs7|-W4xJ6)!%L zaD`a>U1h%`u4u`Ndv=t^6<({mIKQ*H;^APK>H|hsR4Ck%j;3)%!!Dmcn*Ur7(yg1$ zw&nu%fs%>EuP*3NfA+U)$^``sY*Qs8E>Ij;J(JMy0-m1_*PXjvaJsIMN4LcVq5qs1 zr5?HoPVEhY56uPZa;yMUke$06D*7clgO-P@7of|C!w{-lX@LCdz9 zb-EB29IO>CXYzKzx45<)+)ggY`#Q=jX6b_dqvJ!WBo{nWJSlIj=>qo&C8IC}7i>m_ z?7JfA0wrCkum(|LUg1aL1fL56sP>D~a<~xqt5m6{{&Rtj)yYWL-7fgCwuhl`n+qn~ zsTGHQI>UWW3IpS^GmKX$!u98zVLLk;d2zxS-EOy-N8UOkw&Afl&r4?ry*f|t-|37E zv&$~+P0pZi(J(ylz!}XPY`wl!&M4K3d-I~i8ENCoo+A0q__ufVd`6ZtYNm%yucbL7 zm`c*eHqIHmW645&q0UfFl<|PCGe-Jei{5u}2A@KAu!xN_n)c_&RTw)Hd}j?w{JPF) zQNO2oOT`)Ii+-OuChH6b98hmK>5S9UiBW1I&S>0d6B_1rhE^U)*OQHqm+NM>?Q_Pw zPvCM9tuqqIw7#;G&Zy@7Yc;;<1f{^ihQuW&+>YIwbY#v6Z%@lTemCKSc!duZX~Rz7 z_!#CS^U8_fY0Z7J+~tJ3=bqlKYH@;PZql6FBPWQ+JEscWae|-NQtCpP6B=LD%snV_ zLhs>|H)C_0;4{9xQ}?_REL>~kIFp@l=6M(6YLpY6HocMU4RS(usn?SVFDH=B9L!H~ za>6Bnz-Mk&POu%L($X_>!iPH!9FjUt;4$J<xj}n&u^D@IHH+; zQ?I+p5fiUe1Q#DTVq9KdlBL=a`~Ng+7RQ*%EPdwjOIRb;Q-3 z)aJAXj@ZX+RBol=2+6xf%=Z->iSzio6?CT^@wS-G-2H?jRxU6LJr{Dsq)aID5pG9N zgp6=rWOIa3&7AV@eU6~sG>CWI?TERxmbY)WJ0g8?LP_(F1H#(uJ6cv9aO=y8x#WTa zw4#)@-Jfy5h9E`LiE#%6oPM8t|E&X5vr=uOUO7Oc`o7AOZU@Ad?vvDh;(!otQ}K~{ z2hawH%Xr*#K$X9Z*1ua0*p`=Wms8>Z;|-6fV+9V7Jy~Dad&vQwX9S*jopV6KfbR@L zvIEouHFiIWb^x8f`*GV42h`c0CGYliAnG+-10TCOV8pR5!^_SA`!ghN95#1A#rwkA z5km)@d3CcsTgw3)kxUOs$_@mN+_m!kvJS{TPIYcr+yOeOlulQVI^dyz@liK^2VCuK znHA?GlGu%ZGpJY`AVvS0cbL%udES4@Z__$JnHB#fZ*zd&xS6NjZ+oJTfT0Sj_Lykn zdCj?Ck9P(Z6WeF)p)e9MFh6b&tKV`JL&Nqk{~To7)^CqKtB;#C&+TDdsTok(Zjbrf zK|Q&R_6Y75qR4t+k3$S6_MNM?$M6zqE4|zvif7Hb&RnyHWBhKHj9h!PZa?)QJIfx% zuS$fkp0P*oQ4Zb8M0+T&`6)L<*`q1dgYHGJJuC*_mQVQDgUT>*?}n>A?odN}uf09! z;@^-&E$kusfki-%Y)|y-4|niA_$ajC6-=zew8Shx7{9ffM$y zlQz4lE^LqebKI*DJoa#?8m$QG2%ilXkeUJ2>5G#12PGHt*EG zwj=r+y3!eX?Qq$xp2fY>4hea;EIM24&~qYKkGI|qmVeh*lJD6OecZd%=PT{t^dm#l z@CLC?%l7BvB0GE$u`m|6Vh8#SYpcr_?7(wglYZwJJ5ZDUxI`t|LHvk`+m9$auqH_| zdWYD-MJ3+)i?1E1M*h=xbGJk3v7zZN4tDtb=sKH^l^y(T>{eEd?GSnShkJ~^9cuLD z<92D`?!aBmn}NO;w_&y*y704F9%fHLYX}@roPw~d+rZZNoL#P zu+ZnZ##CDz+{iwu8flAjXB*N7eQcqlCH}?5!4~r8X7sm=Z82MPr?F7e7QRpXh2`al zvB19k+2gkO^*eCqC0<)>8b<}Hu-KwXaqq~l-L^Q;#47n{%LcFSN1qM(VFS9I{6jLI zZNQuMXU~o?8+={)diu>v8v<8yf^@6h1|7#bO%op3AX+$G&92f0&9-bD%2#dReadY_ z_@WIswmF6$NU_1;?SFpljIbg0HGEcE-Zn&i-|PHe_BOauu>Rneu?-q+Q*Ul*+JM_N zB9Im~co^8VpGC|DGAA5UMfh!?Ca&45%w_|ZpZ=3}du%X0Gu)Q2%?7vBLVRwmTO&zd z^V870HEa*+9j2bJhEY`lkMy85=w@f;0=uojmK*9@+h~pU0I7#-cdhYhw{X4O4QnFL zqZe`}*BaSsl?!9%tnn&Efn6-#8fop!6z7AjQAKg`$~Sjw6blwk7}!`tn%ZKxfn<%H ziosC=>ek?P+vv@cvBt^S`7Xxe)=;OhbUVjujp}vsT{>2447W_>WziFUHJJDhZnFlH zsFvFxPDOfs}%~)9E=~Fu)>b?@HpQgD^w5k9bkNJ1@F&v7EA(VHO09+ycI+Co8horUuq$jj!O;rY zCi^H2&8)EdL+N!MT`PDnXg>X=XoXA(PN%o0tZ>suCE<~X6&~LmK3KqI1?i4W(Ih4- z80$Q1@ZV(xg%;Pxj$4)}ar!B0v1$npn_?#8FP2~~it{oWC*)kq39~^Xw0mX= z+0k!XUd@(B7ZIk8skOw-_jdl5DlC!tszIr`&=Nv*HlZ)FEHTO)LBE({i4G;n?MzXY zXt!xMQSi4!jE%+)KNm~TQ*AKZu(X8U$3On>4J zahG0J^9vslM@_G$ky)RvIp)Mb+SZGpxeEQ z1>OjJa(5oHz`02y$ANweY;1p8q}XMFUz%|iM3s^SvH$RWEfZyx%Czb&g1fH_v>awc^d|qEOJ!fqJ_4SxJ zVX_5mOO?y|Gzfn)$Ik`90%y*hDc}^hfa;N)ftNyrACAjM5;!ezF=DXtG?N8lxwEy_ zc3D8<5$CRl6c)(IYxx|uZjSlohK~y0%u!ozxlT7_jxF0oo)5$3a7t}LM3?25lXu*M`AUHZ#wIr00whVzxa9g3bi?I)-Rhr`E7=u zYgQ}Ymd(&JekGb?&J1m-TN{SsX878?YW^h+!u1vUKhD+zCl}A&|(D}HcNg~<|eD&S?astf& zzFR7r?q+ypTx(!!N7ymclISrpL;JwHB`IAqJXY^6AHjAdn zn&K{B|6~e_q2Zqw$4sHLx`XlLYf~)VI{f+VGgDx9esoN$DcIjn4G29lg=dEE)VtfJ zNK|}KeYVsT-EDkgO8KT3O*`%L=YlDmo1E<)r<&rD=wX_u7*jm9p0-mAHU&i>uh%Xw zQzR%`3k*A$;)Fg;R)sln{Yha(q=6~;J#*d3>ZTyQ3VtIBQ}q9L?+d+zDK5}=-&hhc zC3x2)sE4^t@#JP2Gu zHxr~ZU6N0qHbGfnUG}+A6Re6pj=wZug1;-A)K{OGV8Pv+<94eF_Du^sZ+>KgdD5F5 zgViPk-`=00uQyE4%*89Vv(N}Wj;bOCUBqn zLGLF<_?NI0dMsoD+BnZvn!_gOi+%XgjKu`UFZ38!GnjzAT9!;rV}c&PtDScLjIsP* zVpZ#!G2H!QwsS8SL*)-|Z|Wyw6hGfhwLE4FrL)g&Sq~b6<-&4fUym`gIyg=%wi~0j z<`ZXqgE1%~$9=@^86)XaDR0e9W6)~9ls{2y49kj*mWNk}amM3fxlChpi`Gs*OEJa< zIU>b0#u$_icT>Lv8zbCoaVEyw7`yt1t{reThRbh?2luUv5m&zVFxki$DW}S3*0hZw zd&`ERP}vyLIb*)6GR9aFY!O=#GsZ!Yo9ZRP#$f&>Q*F#`jOMfK4s>kBsP$TK>e_3J z^(UkUiL}P(S6bFnp)|&zlF!MVKaJ2_;cNG5$p|MF3x@LMjId2GKf`s>h`9f~=cV2e zvZCrGUB3|?{A3_~>NX0VAY+(KVQPeo4Ul*08$mn$HTJ6;VLi0P_^>GxwrUKW0Sy zPhZZm5ir8ao;i(hP9x~s9pJlizzEV?BfRwtM)+(stM;D82!&xk(zjC>L1Uu++tE!j zWU3auEtkkJOVXt~H%CU&wT!OTNit$vJPX#}k#XeMwe;fyWSI0$XL>&;WB;Gk+tqDk zT&u~LSZW|+hnqLQWGxx9!g_IWm1Ja{U;NrzLdM-YbZ+bgWVlMY{_wd(#xcw0a~)^N z_%i%bj3bGR+*Qj@VNqm!i{~pI4kCkh^qbRZZ(=+Vc;c!v8CSNVsCL+p!F=?^dp{F0 z7-tSQjO&phcSJQ;U!9DP89&3G$`g`{%0gO-jMQjh=?BM&^<82tCxpmgFP~niIZVc| z7S;2UY-CJ(SmibBBSS&yfrHX+GA>*k;(58947bvhF{?i$WGQB+Ev}Mqsij*eae)NA z<*&_bvm|g!^eR6bC*h*I_+!#A30GH^IDfn%fwlf+;N@o|DDo9NkZmL3lOXTMnFbQH zB&0U8YDqXEU%shOMZ$*`xsNNQB+%Y@SyNF+f^E8xi){`e^*JfnGDzT!i;o^oAra?M z+#jyQlF(5#$YB{q!V4moc-WtaL+Fv*ygLcgr5S9G97q`E=^jk7B*FZyxSNR)39Y@i z-wNxJ@HU?M&^9#^#EqEb2)1xs(zq|yAW0&g2ao>d9w*}A-7Jh0BH?$2K7&0s2{zo9 z$(jdAcxqYZCjK7@_NPpBx#>wbCXzz2e+LOo$LZsDY#HLti@ zdiU}dLtNJA@?V-V#7)7k)5~LqXyeFcUmr5W&*W=tfBOu7(iA=LLXszw$WVuSULYVKu2a3<$a)@K^x zMD(rD(KJI`y3tp@6>o?F=GpTCk%k2C{ICcq$Pk8QDY3EMhF~%tNxkc02;Sg_%2T$6 z*d9e$d%)ZftEM*yMnyyP`y^jKqiqP*tLM0$sTiVNx1|7QrLeRK>2I=Z1}1Hnkn9Y9$7Ge*(g)G>}Lbe$|*m;K52j#_T&oMQ3E8dNpJ@Z z8sI(4nAFE!15n$YoHyt)K>h1u5>HzVaOP_pi&TRFv40=Cbhp+3&!v3Jgl-$aq1aca zyo|83zdx1lngOb{l1wUc4KUyxS0{4O01_+>w`$KCK){6Oh-|U}xXT{MJ&Q2_1Qa^ioVSp}Qiq;@01H2u6Ex{>ffOmzSqP-#p2siJlh~zWC7V|{$ zQBDH{>eRAKu^51JLUvEyJ_9rzj*27E8DQ@lZ=XFoh|fir>rUR5J^~${1|0mMkN%(S zf+e&1xcrCX<8~D4&-1$pFY7_6 zzMt#Bj2`${X`#?-%FJ$#Xp{`~Wa9x5hXZ~uIthmi9#$Nt^agFsWaFHMmi zlIwXqn6mURTgbp6n5+j$a!HDOxE`)v{Bgt5TaU;u91MxF*TZ<0_~vzEJ^bo073$U0 z!%x>@n%{DIC>9sa5*5?Kbj{ul7k)jMhz4CPWz&O9kME(GJ$m5q=1~&at_SAlcW6R3 zbTMZs=H2;K7c$Z_@XW*|I^gP8vnBAMd)JE>hX~9NnMmbJlN7LpbP41Wqx;dUAQFJ?`GIb_?0U2 zY@jCMx+Jga_DcuPI2g@G4sCAcI~^QPT~jgW(*dW3qytmC4nE6K zEsj6Z!L{&L7h~ zRq=zH4wR=>DSNDSz;`vCtC6IG)T!Zu8g(56h)V=i%Icux?eO)RCv>3y?4Mv2KM_~Q z7wX!BIxtfnIn~Ul1HaHck9(*`tkboHcXuRD?Z^C#nrU zwXl>_`|Q+rEnGJn^R54+h0R}?r!lI9T4R3RXRowSNws#=q*Dt8#$@BU$6Byb&&!Re z(E|M$&UKb@Ehxpxd({zNHM?)VLP^4<%V|ANhRg@O?{u^Yq2+$(VWi?mm z+_b+eKBM$-0Z*6C#Ol+O(hRg$ZMf4O#Vx^xE9D~pHp5E)*|r!$ea#b zS~#~)UO|Fc3t|tyJJ8W-;lZ0{$)72;u=BBKMc0NV9*|QyZ!KsdKwe_v!n7u~cU@nJ z9MOdDsMtS`SDLV8GoY~P)FjT+?Kg}XHQ_ST|55**CN%%;Xwj?C#F~}Q8N(t?IDYq6 zHM^vV8SUr=hjdNE)&7a|kJZH4UDp2+gEgTyz1u0@QxgM$p*0WeH8GmMXX>@7CN6wX z*jUxogoRtoBAbdP(SIe?r6R3~Rkewzfa64mgV-$N4Sr4R&1sDrVb{d@cjG<#_G=Qn zLiG#!w3?9q*!uax7D4V&>sj|^O#`lxCoB(r)4O zfo}0Gb=2ql=wEG8hj&hARQ-K*h<$$jJhoCDJ=ztIw63cYIP0$zS##A9LK=4enxPJ% zFx{hV$?CAKYdw=6r4HtSrnt~Rbrf+8(VKaw<6UmfaantH-0#f#%wwhw))(d{81&V# z+c}o*pX&eZXNNAys$)|2sQ>Iqbr{c$ZA=IgaS*H{9}cU7MYgZ}1B*I(M^E>DWKbvg zH5tRd>`=$L{#@1SUo}u&H+9^;riNAR^&+NkYEVkFvJjb8gX6>RJUuK%}7_p;3iYRv3OOuPTjaZ7^aGb|H@b*{Zygr z)BT3eO%;@8&BKGX#C(SoN3y9Zo*nykLl#FRQ7d2^stW6N#jPbiRa~;5`B~4QiUrb|ND`AOa=qFwljv1(e2Gtrms%Cqs)zUd{G$Se zKbfopt18&@n8x(>Hx+nlZ+4#fq=MfC2c5m%t00*D$VtN?6=-yP5`Na(AzCI;r4P%d`2DRw}sJVE0GM zNQJ1AxGdnTqk_kmL_HH!RM7ACt+PZ{1u0wEr@F*d;C*GG@!JsJe)##=3@hWw*vPqCuase5!dtV^txUXMatv!cA;xl96h-yQu%giw zS*=k9L;fKXy<5si6&{MMx~`0RPuYsy`O1ho&;P>bqB3sE5`7P6l<}#gbvqK32^>)d z=E_KAP*ieru?8u_lI{i9SubUbSBx@KI4cADc`3uJm9f(ny)i1%8R%-%R9 z^s+U)EDBdba_@r={sBsOd6~6Q!&8aidFXNGc2dGT%dPkStdt<4mVap6SP5Do@xo8^ zlyGi`^41M?C5S(JT5wK*h-Yi=U&v`C)DnHiPGU+Z=BxkDNJI&;0ZuCA2>;vpvS3go4b(eMfgHA%s&Q@hGJdo^^H99RH<=c9q|Gr+z4+;d!5& z{5M6=Z1NXq%_!pG)N+m4xFVGHu*J9!DJBzSj!^WSb)L_fuw zuI@%fq~}zz%sx=Wo>uRJGYP`xL?S?ZAo*og!{@9GKlr48sBW=F{&5Ag|E#Df7*@a$ z!Q0~d2NXa(C!==0M*+){MxSUq6u=m_LZ9BOfY7Y}+IQ6{;6Zu)Rz?l6&f!BRQ>6m& zJc-|btyBT8UCKTS7ZGwxU9sV^0)9=pb81~sK*yuq@gLF^z;apCIWUn}|7);kceDbS zp8c&U4^bfS@b56I_$i?I*xavacLlu9zGIc*Na$};$%t4hAVdCp_G=RbqAuUxJ<31< zl>cSb32G@|r#C5PSXlwZij7Taatg%vZ@^zxQUOLj0EYK1&%W$l6$ z3*?cusIN+qDG!Q#hViEf@{qpySngbiJlNE|9n3ul`>rZlA~y1P+G_oSk|Yn~XTz2s zROQj$JP_Y}S{|y`JRM7p%40;d>)+YK@(5hoMv7pPhpDiNr8liSUQOR-asCUe&Df>c zF9Us#lWsc906n+mLfu9H%I-iz49J zMPuoOEa0zCaKZi*p!$w)AtC^CBR?4*AAp+cMhH=UK=eOJ>5Q2Wa>Vj6i#EWvDcfrC zzm~oP8mj+)AC;sqGsZI3+3ed4#xlcW$&!>5kxE4Hu{Qom&&imZgeZQ7F=ghrxU-$hyj}>q>bD>wZ5fH|kJTjyKY#lbT zvrr=J*M6p*AOW-DK062J5-{c+l^qUKmbmswyP;s%66bA)t)%)aVL;+p?|Ws53n$F} z8*H|OaIO9`?;1;da9iQ=>b50z-fiFDR$z(ca-*L*GA*I#{CQw)nkDqU4*B*UvBXE> zr@MQfB}_cz9?cK7gh*dm_NC31m{{#TCRk&M(Kkkw@0Jn!olkx{Xk!U`i<`+hCYJCR zZ$AG<+Y&3o)XB-JmbklR&WJ7564ho`O#g{l5_qCzA0Pa+z=>px9vroR?S@+4rJpUZ z@4Bp!+&c@1u8H^g(rN)cVXvVF|5;$kXnWh)dlpdDvLx-jX#uK7@6|O|EU@xPd@I(D;izD3v{%VKJd}WAwrqg?4#Vyc~v8N$- zR)9^#;a{4^1h{(Whuy@W0AFMb->SVApoe@q&#Oa#j3+?_X^#cCZYSIGtXhCnt&jGS zWdcmK>GiC-Cctj%6<0H|1ZZbupZ{`7fR1O;cg+(8cxrDwC-r~;&Bk_nzJv*2^`l?H zAy5F(utQJsHwf@9AiPMzU4Tv+>t?u<0LKr1YU_spZx$;`uQ3)tE=MEext0K8$G3f5 zqAGw%hJAD+RX{xFQq){3F2KX8<%6xWd}vzO)T|rl!=cKn;OkdD&Pe^qiSFg2zU=r7 z>MK4Zp6+hA`Gk)bit%k4h>y7NEqgNk_(;DcTDN&EA78&rEHrTCV{J;F z%RhTQe%*>oY!eXqgoUdLxO_rC{Md)X8hm__J2T^}%*V3LY4aVV`B*ymV~*YeKB}VG zKjdc3@$^(qqv*If6s>xWO?@?oKX)1bXRkRn-1lkw`pO(vTGCexJ~c=4)VkZ>9+^XX zi~h_=r8!#q4y*ksHb+rM2S@y>IdKXKE{F?u&J(K+56YQ0+*1V$6_ z?=|=)g_$FJ{p_imfrMW~YR2o0=9pbO7Cz6z9QanKVY18|Zbin|w%HQneTkVIGjnWv zaYymJzB%UD-&&xmW{&TF_tp6-nnUl%Imhc{b97B7rH{`yhbrx5f!#kd$Qex^Iy+{D zG~)w|?_bSep3{G5$p0y(8TJ;Z32SGW!EMbyyPR}0EO|tR$}ux!dwG1jc+d>03{Pi9gc+WeTv}fc zWQI2L`^rZCW@w2rKmKr?8KFyY<(k_nGqAOiLk5=+^Mwz5JY;2tj9m-fT);pauU)i!2|vFhht z$G(}uGr%F&sm~O$Ov!l*-xL!|g=;TSlvyzNVnR$UPridHdR;9Qsz>ra!)=J8BX znU)_Tu4@XbDecD;mMPek<*6zPrr7uWOPe0ql+fD>NU;_(#l&n&oyV*Rp1p3`wQIrz z4_ITTjt`q);e&CV;!h@o-bAQrdzT63&y_5nYBzxlGdP#sY(n(61;TC*P0$fVdlpw| z0+Y*yiBI7 z_nY8&>56$Np(gOu3<~QBG$DAmEo}{bOz@{@+pfelCP?At{Q0=T1S_l4`fVId2;RZZ zTDdSm+>Mn@^G!_P_AsU3KzZJLKA2c#Zf8R22~4Zf$wAP+@`frdAFd9c~M!pr0}58||(=0`0&kV|Ec ztZL-pC24bfe>D#d8J4a4@9+>S@ZKO(%tOV7NKWZh9{ngnVI(X*V?3P)tJbgF z%w!(+AJ&`i5XZy%#03h!_VduP(L69WjEB>r5x+dP6LrkSR!D5-Vg7PbS>swBF7NL9 z9Jh)`=)sq*v|q}@?=OpgirMloS?BVo#hiy%>8Bdbb9w06+%^-S#e?=3jE&lUF-BwO zn*!ZlWBAK0JxqITjP&FM2N$#&6a0qVm;W>xBP~AZ!)T2$6k|GVhAND)G&QOA%S~gj zuWwubCEpm~u%dpuWQ-!y)`6dAjnVP9zkMpz81HsFbW{TC z-oJXw)i5_kSL@)2JJ%Qmb+4+9XcMyUqv`iJFZU+>Fq^GWQl^8Bt%b#KA&4BUleFHZ`*}!ZK%e zdn3;X7E#HrYxRvFJg~Ophq@8me1m?)s~RESGEasjZ-f}rKG}yPBQzWonebU)gw+o} zm&_9}!p}uvPDRs(I5B*rYV|KeoZKKXUu4J-kx!eoOFkLmp3Eb)&E1AjOL{UP_sS6c zUz;;qo*SY&@QQ3wqand#Zn4?1)({od5eMhrH6(c7u&cSm5Hp`c^-o+k#PZdD@2$x- zgpE@@m7Qq_h~4CmrW<0u!&RNSTNq?48e@=Eq918#GZW$P0SEO zY#$rCB)rWKEw;86AAJp>#GIGexXutw_vzKe?uIZdjLkl`+z?s6NcKk@3^BW)I)As7 zAzrrZZVE6ngity&ZylGYpHgn+rfmqfFopExEJN^?+vF@&BI4!92QHN%j=MMY^D;?8 z)O|dov}(Q~(N9#KzgEZ)2Wn;V{HD05-X1&|GRno^0j0kOzj5*Mhve<_Ph0|jXimG{ z%|*wX1PHQFz2f;oTDsmQ`G^?}$|TmT_^ZeocGQ z4K60mC#09>agper@VD<07YCwT7D=DyLT*lbjr~b3#%#sq_8;S-VfH)eb{rSV0TD&R z(OfKCc*}}d;=*$mp`{YY1;hV<$EYtCTEefz`RlpF{qD`RajUsFE+uT= z=E4PUyrGG{gp1s*e?NuVaPjo&<#UaEF7B+j(Whd}#i3pFM-h5lyovbDd#TQahBe31 zn9jxLIgekRrg4eqLAAou6ymt{$~@S#h>M}D#`(?jxCH*`RWEOrgP3Vs$19T@Y+NA0 zml@@tWRO>x@QnjE(VE(SpEz(bxV|d9hl4-orgn^Wav;-vQ*u`u2h^z+lb_8T47zxK z3a#hh-IaB+lMgtcsI@$aso>zK_x(BIB^=zg(tL2{I)~sXlmD%Dg@aXh({5E< zj4#e-IneLpXZ4-nAf-LLb$=2EetfS3a&a6K)(+&AM{}?tNYlw9oCE2b>V8wZI8b-} zI+3-F1FeHmLXLhMY<)2hGvdv`b#tTLS)LpSi|u%~d?g3LV;L2*OF77wc}}#^I0Rp= zMBO%U5Mr`rgk?t5?KqI~p36Z^$=M4RbvO_NB}i{jSlP4Inxb^jf*g04g^7 zzde6$03-3$^>L33z_L*FvASbG=$!nm`FG6#vMlQRM;8qc=az8)SegN@_QiO39WlVc z&5S~wNCSLjr&o&XG{6#$P;}2G1FTq@GEwbr0NN;_2C~EeyiFCtDHaB}7oVRR#W8@5 zjNg-BwgDW2Xt%e>8{lNgn4RAu19aVC#rO*uAXVb!#_ePJ82oG6zvqiSaeauAIPy*( zTYO%;I@hWX@9CXZCG~_o{DA%QN`1JOn|}ULq>q04XH3~_eL}Y?Y{L39G0$}4rd^5p z=vdmY;YzeV+^Fw=ybIAMaK*i3g#dj>{}!oRw^kpcfd_0xEh5q|3yJ(%Cq*uQ(d9%9xPGnH5BA<)p* zpxIsz6CTNz_Ve|?IJq~3YoLcvukE?tSbF&Jyxi!zydGL=v*|k}^bl};|5jrWJsd4P zu|VjzE_N5{i?n{zMYQx4*DJlc_$O`sE9#{#+GAIJ@oLt^$ZH*aL5(gp*(=x4%XA4G zO2k$1Yr0Tbb>hY3MO_%3sc`;wQWqgS+eLlxy67l~lkSevg*&BVZV&pV#Ta(Pn4+FIQdArd^qH9dse3GhQq&&?R^XOZRd)#L4}`$8Z-lU7U;RyA`aU zi;AiR^wUzhxaCw{S3Or3PT@8ehNg6o%3qkH@YGcvL+9yx%Ys3BDOkrfHHqLAx zJ*HitjXU?K+umQ)#?9*;cIQrMW6jws3dE9HoQwQDC=;U%;{ofEx4X4bB{?3HyGIK zrYdOK@`V<0J_~oTf2;-NkADxi)@Tv#`4(TRlYay@hUrp{= zE!4c*r}^l(7VOqX_u>m>RH=zu(eWSCiZ$U;8@RQqb;?M(|wcP~xM`y*O5yh0P# z9(n#va?r%Vu=+1LmYPtO__({(NE6+POD{)gYvTC56M<}oCO)LOw7ihh#NOA6tw$v_ z5wI$4o8>%B6uU0D_p4(5rz5aKtt_R0CCu;w@qVH8A|kxnj>I4MatRmjruiAQ(5a zcDiU_X=s{Cki7;99yg_gT4=!K&}76uBMlh&Hgp})*1$l;>+*Dl21LDH&C8e9fNE|) z^L;4|LZ6B&@=8<#$5*^B9Q~^fbuz7iGOmsVf`k<&L+ao?d*$H$Q5|Pj+`JzDRvoF& z??;xmsiU;}dg(xuI&Pj;b62cY$5i^8^==jF@ShEPl2WXWlIWbQXIIs6+EV(Z)J4K? zWcSY1>FQYBx;G%}m^xHXH&uTbSmAIpKJSI_%sIO?=#{j%6-0)s~yo zvE&55_kyQ7atBA(%($rI>y1v0jSlK~Tbk+IV5yEq*NI0Qo;s?0&nIW;szcgdkT1nn zhr_Eha-5<%uIzPdo}sAY>U`7Iz2fTV`Sy!3F02lf`L@-2r_?~Jev>=%Qw@#dVQq)M zsNt4$v%OTW8tVU^p1s(qh7#JzzXmO8a9vJtDK)4e;IHUI?`k!4N&Y@ORjvll{&`2w z-B3f+=AZxZud0FlEzGtzQ;k^X;xe6(u7(I%3>hb@A$43>?$cp4Tz2=0JhPw3vuG}5 zS(qALhCO;ece@&9yjOpy^;Lts(gB&+wQA6c`nS(^l^Rw(K1UK;s)onSQZHL=)KFKi z-k52wMqID6`?qt|a7@+C09tAg+w&qvnnC0#q*@Khs}VTiXCh4`HB^q*4dscc!RJl& zOoEUahH*qcXp)VlhdqZqezMUYernq03mZ`*+tWC`Z1Bvvj?C9=n7t@ckZWb*&4U7Q zsU|i~?fM}jUdzV6cg}>|I2)}y5+fJfVk2kH?iPsxHiZ9m3S=&`v7B@0f$BLndOlmZ z>78I>>DQha%LF!L_UPSN8OuhJ<#g=U2sVE0qOLo%i;ab4&WkT?Wut((%dBP-8&fM* znfI+>L(8GgPHZI`pO2(_ah=#G6g{`s+lCEulgk&9&DqGFjH$2YvN4e_{_B?(8wyma znl6)#)I+S3H(-mBJ?U==anQh_hk1=kcWW95#-%{HGl{!$MJjjo1BOEaIP` z^x*|VEU=$b^1VK>P$ME=U-XWJWQ&>CA}?9+T5TqoQ*K?d)hw`z zb?PJTu&{3r^HO&)3!?uh+wJpN@NIdme(Ms8z@4sWQ$ELnL7sbH$_W-SChCTT6Ir;V zw%7AiO{HhuD@HQ3_cE*|nZ)QP>pQksrj)ee)QfWM!c+%OZn-5xD! z?q|Z$_uaXe9wyd|oS!i5WTNd^ANyAe6E%jHm?ce2SU#@!9`cZh6L~TTyn9S+aLE~- zDP`i^Ek~9A3YiGi{wbe!g^A=NN8fF{$VB(=@h#jlObFQ8_vWQCv5h9x{w|)0mn+kX z@5C~(wd|tHsYoU~PBBVCLz$2(5`XEwor&)nj(5%dm~hVcZ#~1Ci52tqR4?>kg4Sx+ zJ?X+kQ7gOhiz6}LVV+BuH4_qVUtMf9XTs}pQeKlG6MeFjEp<9fEK%FoQ_E&zK*?|6 zLuDpTR!R@o$ue-2xDJFbgSv9wbF^TJUZrwX!CRV2$-1&8yfs)(L8m50S2%X~S z=MuvVsK*^W%o~YU0!FvYA%cDj-UNf*y(X(K88v_xB{$i(_8Q7nZMXIbL{5H(g zbl+!y^fgRI^bP}URACbLCIf|vnZ+9l7`T&zpDEc4LLa>E#ls5>WIjB!=JzQE;<9Pc z2FDplPRp_0c9a2q9xW$7hJih&BQJlBU|&ObZ6`K5J~9;4$F&@!yA4 z1`L?LDjq7)WWfHjS-dop0lUjtx55<}1U~)4mL4htrR;e{j*<*e$Hk*=&nJ#MeBu>D zn1KehCsik>>7aHeYl)80vGtvmYSb_toBsQfF*ZO)Uq*6Pa4#M94IK61H*^Fn>f-Kv zLC471wAvp}=`b5x+qS!b4mU|`{!>Foq_ORuqj%}hmkkz`zD>vbx~DQZMRZ8s+?->S zM@P;zi^9fBbb{w}lfj1bbYh+S8@=Br>1b;&xq330j_k*yr#VOI2s@Ggw>5^2^Zc%^ zut+*|1m_KCVMJcP;or48=tvp-XtX_mj?T4-eR7-V7%TWH(&$CUdX`Ljgc}|55wfRs zm(!tI_Gj)#2Rbg>zUs@crXz2-M9-5?NB6s|PgG+%LeCV5zSJY){rh_ItOgx-J+>vR zXAs{51OqHZIej{qJs2%J+Vc3Dv&pP zXUxB#g5;v;(H$u&i2uIK>dGM%yoo(R>)oq@W0{*{=-X8=qRkHW->8D8|IPhe?4|Zg1XXWJclwn@b$i8+#8E;h$GLfo`$&Q$)*N2s{9dqmVMkwRdf%ze{oyy4ad3mtb zM;R#_?u~8tP)6zLIZcYr%J6RcH`QXL47nrI2?@r^@PB3>X0N4;N5Py5Q59uedMobs zl%fnXwz~b9`O5e#-f_(Dj}mmp1Jq1Mlpr(0B}on_;o9wlrGsyk(08t;y{SbB{#SJJ zi|UndDu&sRepdocAFmJlW%I zy)j$~?|+x^{dXwAqig)wG!I$txrGVDM4?4 z_rM2jC5$m9x6h+1!Ex{hQ%^<-uC;7&FL5P|nEh5woK?iSqfNdK#uU*MJ>5D!s0ghy zKeigaSA^bYajmcpMI>n5lB#^H2#<=zio!L-n54bbrA!geEt)S}x~7P?Vu=gKvlQ{V z>DdLBbVbNa%sLb$Dq_{OcuC0^MMPbA_9JY!B6?K?gWZ9Oh|%XyId4>ijTcX)+FcQ| zZD&1lXtrYS1i0zCnPZ3W|{rqlfE8+(0@>?EV5q8J@*4N4?qTZeU#bu!) zMkj2eJ_soyBH2PNVnPAskE1InLkejA7rw6Kg94VyT@-fjR6x}EjRn(B72ud}=yLUu z0=E1~9C52uz{MYLPKXvOpgQEN_Jdpnh)9?{2tTiYxBXm4lT-!h-kWKdj8i~a?;=6X zJ_RH?b!R8;Qoyn3{wdD@1zftAWuv`b0mYjSg$u1xfFxt#g}06hVAb5tue4Oav+Cbj z7mO5;VCHrpR!ad@UAA`HR28uK`{Ey-G77L;-VyDzPyy5(q2D2_0Dt$3R%X9x*n71j zm^VyAN&2~HlaDk!9SYncctb;wM6-@v3k@&6@gKYXN5fgN6@02_Sa{JZaZd>iz1EV~ zj_1=LWcMNC+C>_69Q54u_!JGd1183X5^2~tv3LzNmWJ{Ah6JmPQhvK zAQd7{Yr0Jhm4>@3EBd4t(m*+rWVJ(>n0GeQqv^Liv_9-t*ZeMzTgNJH9Q!1XM>g-j zj=q)0MvKGmyxZjQc(L)pr;YMhbMtT~s^y{SKc}axOdjoT>`&ya%0D6xhN7lc!+v>GT~mIuI#eD>g#&tnTjjA%SV28@qdYw2 zSJWza$m7UY<(bN5@|gQi<>lJN@+kBBwoHgGk3UsPKG!(%kkVUD^3ae6e}|lxsERzE zRLb)2QRPAJ9w-S}NbJ{V*XWAKV<>6+rf-vSSnItu{l*VDl%GrS3LB6Ee>@W;qDLV`gtWl*3TF@6jWba=3qT>6uM8^;^4d~w zIm~(D5P8d84*d6rDW%SGcvTt2uCSGZqtBZgHRf^<-)ei~2}h3LJKDtP(vX8vV2{{$ z6*<%?`}@w7l|z5-C0!K>IdIj?0|ayB5Wb>YV*LzpGvsc@j2)Fl)X+qB{-7*YyEYta z@0G<1xc3OXmW9l;%Q?dqS2S8i#Lg-(!z<>d#m=;Y_9y(^O?_$4%VDHh4XIQE$0 zhFn?XDeYIkazPf7dDl{h(`1Q0?c>$_M8euJ>gS zbW?fc$88zJzPaUhvXJmgdq^?Ml|iZ;X}b4<42Id>wBsjbuyQ0Y*dmGWGnkzIeozM6 zC7bVEiIl-x)0`XLAu zbrv{HSjk|?#@GY@nabcr1iSmJfebc=+~2%YLx#Y$N|7B@iM$R29~p8)y?e#FgrtbN zw5`VbL}k!j<;HFLM@8YZRLZRhDlTv!p81^$4b^K`k_M=FDWtSMs)vgG@xBHjuc+vI zw?sMcITZ(UGT43%R0ND@*!fmdQSMc>Z}S~0j`gt`w-i%}J~~G;IFE|V|B5psv#8LD z4Q9okp`uLDw(4vO74v^i_!b_e!uH7q+M@$hEE`$c-L;pB6^h4iOa@V57V$elehZb* zeP16W*hocQYwCI*Pby-={8lBcpyJBeVwXFPRAiLdy7pU9vF^_JYB@71n*U^OSjM5E zVx44QoF*0CiuBzzbSm6`7aaI2PsMSS*my#03agBwj~`kSJNzxW79kOHWIq zTmH$RO{3DNF?|_w>#H=Ozi7K=&PQp4I}RCpbxC9Siek~y7t(khx%sKYQ)w&<{v5ZX zUK;gIvIfuZOJh^|)5nJ8(m3Y)+3ms&BF?+TPv_~6(JDk59jT284+Ev4bK;u5gReANJC0R6 zTPqD-hAVT8n>2b--|p;pmWILeMd$a}Nn>trbB>s$G^QR*CT8)Z@%{O}<)-@5xc-?p z)UHnCbC&WCQI$s5wV^u{d1-hv%X;sSq_Nm~*$3|h(s=kMqhh{@G|1ISzGc%C&^?7d zZ2m>T;QW5B><|S?(G2$|pD1W($#OW{O#$bKgBV^>@GC{++{|+dtd>3)t7@cRU#yRE zOf3a50dGn6cPY4%Dg9icl!A8sDYrM*DcE`{JUc&^0u=2pkI1AzykRtD*=Y*qo@>@+ zrBDbSmXYIsj#3c2dUeU`7z+4x{iiD;DA+Wd#y=lI!Tc#~U}(DvO^gENEiOEDVG8nUc1`o9 z$#_}(c*l}oWLUVn9`ha|*^JWh+bS-g5(UlBnlr{uAk@31^BCx@hjNx>NOR5%R zoHL#D+s`BNbXDGaqff>&(N&lDnq+9@G?23xM4m|+d9ETE6Xh#1cTmarIJmvEQ-X|y zxnZm9=M&qVf&0sa$i%wz)w-I~Bm!3`@Voengq5jGrpz!2kyMg@>HrBFR2S+l>LtOy zNn!7?Hzb@$aIlqlK|-$inbfqWBz&Y&yyY86*jD!FT6PTyI+T*#dUr_#Ptw5ss!|ek zpYJ%htcZlpf6E`fze>W(wDkRZE|E~S!TF}dc@oAlqSqCiB;j?BNsN6m32sV?B9+AfevE>$^q(3AZIREM9FSp}nhr>ZlhH zKk-;Kz(F7)A#Wh8`-Zg`yUK!UsTK1*L~5|%vdP*UZSptUF_pvQ=aXPrd5tVh(@ zGN0$CLBgt|3o5l4B#ftKXa7?-PC&5~ z%6u;@;^s)9OT#Kx=!_JkJl70&Bue4t1a2564CdKU$LhsPUw5QcpEoRZ9xFL0`ToD@zf2Ws2=|vJ|Gz{#dIy zPYMP63kQv-B$3N=v$G$Tgnss_?6n^x@x!6*%!NpAkP1xH)P@@aM6e7ekVc#VkrgQ z>vl?@IY^;tuCD~lgx{u>dPpGqtI1tIX9>7E3yVG5VEv`6b?CjCADmE!qvDvsr6|0r1IBxo^IkQGi8$Ny3n6dx+db^QRW{(xV zK6}E*8DoXtSE^l0_*JcPwNgt<{Xc(cJR*dD^?K#|yUu_SjQ@8A%Pse&b(b{@==UpF zg|x5#v1x1Q>l@g&zK^m89Na?xe>;2Z?^CDo=$-WEcC+oek5O$G?xjD!pN(z){AjOj z2kGw}W{s!a?KAw$QTqGG+4}DN!jlbJ7KpUo*#6B^xR~>Pwf1V6MmC)-D0{Lrp%?Ww@BY@*7D(h z<;2OiN#`9lubsBnnv6T7_b$8Sy5es$Rj_36GpR?f=8lBp8;5l7~=WJ12M&rK4UeNV;!FJ!g z+h-rXrR)5b-LD_jX+raNbiLm(pWL&-m7l+(>;9g_zZkn9w$*#O z{_mM;LpkG>H}B~_d|+j|g`Sz#;RD@|53ITEWV2eIKG1#n$Oib0@Ja6ak?zk&HtTrF zNw>T{(tY~G{u>u4n%nym-LFsVT(u+n8vOc1_w6%#nKHOW)_~7+|30&T`$gV7@c&Hr z@e9jb_Gj?oVPEKeeqrXe`%{_)f1&&Ol~vRB-&ipEE8X9(to?U;spk=2={|pBBlrEd zyK>?;y5HZ}lA*i0wvPKo_uY$qGFP6ps-YL%e=p`cXG8PQ1zz+Vc(I7zk*YQiz36%H zVyR8q|2UoNMbE`|COUfdn7sLSdOp50gIF4%wl{Y;<-mLY1tM^B*_NM2^oApQv8QtlPH$6|@Y-sORH7_ZA=(+M? zlkT3#(RT2m=gWsJaEsqg+2}*hnGajLWWAC#LettdN*V6kZJ)b{W zNbS5*vv>cb=kzB_+&wtX=jTs)UVpOu%!l{tIe*b}`-^D?7g@b$z%P1!e=+CNh21g^ z{G#Xh7b{o#kGsGBFM6JTu{vuSh2Jaoo1W|6j79Fd?i%)+p6}nROQ+1m3y=M#=lnMt zc%@%^zo6gry!*28rn{D=Wqj$m_hoZt+XD}c_NC|Fm#zFY=R)3TUwRLG*|x?%<_wMS zrT5_vJAAku%r@5LW>p>U_RVEXz__4svrp70y`O*91$6^zv%cR%+=sogd**(8~8=dS&?~^}M+^KQsbsc|t zul$+SwRK$iIsWv1`LoiC<7=oi5#{+Hg(lzxF}&{s%Gp;p>{s6M|?R2x5o3j+oJO zV-T$eL99%n@mK7HAX*oK*oEuQnjZcbMC(Hkt2Ju+i7v50v`z%EyVjD*d~GnT7s0Ig zo3B%@R12ncBbdFOx6FHJ*I-&df?20ZH5wVF1=Bhb%)bBmd*tcXU|LUtS^v%dNvB^6 zrgbHl1vYCwv7}cptuMiBY(m`EZ%M(l&V;boV~6XlFo)236T)Wo>~gSHoe)}gLRhvW zuP~@r2(3RMZ29d=V|UCBp>-&PDaH-{)N*$Stw$m3Kc}{K%Iy$ZmqM8J!^6ENe}>Td z6v7TJnv~ZoBZSteP*$p1kx^1-D6Lna?A+fE?`|~=rFAQm)!4SM`j`Qsw0?!M+o-(D zwlI{|u~61D#W(Bqflyk{LfOkx8-~q&7)t9}DC^L-(d+X5p|rk*vTus0%D-|$X`KsW z{qFDEwyszht#@H8U}F392F=50-3w!*i)Idr92!RJUl@z|eD?XiWnr`qhOrsT`c>#~ zER5E}FqT@s~*ieM9{h$!M@Z@ zxf4Gjg4W*%)+hW#(W4t9XdRAVetUba>~=AN*5e2^vV%CX;9~@>%MmOp`+Apau@SUB zN3dy^M%)~(i==frlBEwZxlGj~X}ykQOAODKKJOYy>vklQJf9vqV_GDw-;r$N%#s~T zZ;PaLJdzp9e!KepS|qLKk!rNTFQS#(Y_GHdRZ=?yOR+``$IJQ^J=huoHLsCiD))_u6DMgQ8eur(JZ3E zBj2|JqG{iVW>b78wV1y!n)Z)qmb$UX>52!VX&;GZi<*8^`#y}O{Un-+;ulWe;2%x< zN;F%4wDQkJdC|1L#4tmTKTV>G#n3(z!*+`|9zW1LhW48nR`gaQMWwSKaZjPD2CNvn0Z(m97Fq340~MVoaC`MmiDJu z);gfygehfWX`hN^AO2H(E!H}g_N!RdgWawBWppg%C z6HEJ8EDP)XW=!ClSlZ8G*<|_Lk6R;RXmPY!*li>LiDo?S`n`D#}6c-kl9S-rF3%4NI7(|#Gx9`?Vn z)n{5f?VIterFvxA>TU6~f5x--4^4yWU5}@IG@f;v^88ttS3K>f@$6^u8RhpR$J4%= zzy^OSxw)++f%ew~7P8`7QhJ>P+Gi8k#5&9So$Z}K`)vYC46X6F-<$;6cN5sWJ%Oc_ zdlG2>OdHnca3A7(4FwMpIUargp+LsgAj=@Lnzjr3m{+!61 z`mQAwHcF&@I*}cHnzy?0z(m@w6Ir<#m!tnIOr(7~kzFc1r2D3WiL`$wvN}H6J53%X z(mtNZ?yq@NB-THX_VYx>8cbesC@+!r^&}QLTc3KykVN}?50fZydiPiRyzS_QG=d@v{?2R3{{{HL;5moi~%HUPxl?U-vFE z<7E=n4M|LUq-x*y-bqwHB(bk^r5j3xCQ%)c#CCM^f4CquiRy_Y*0-O@B(q~TnymX%FPZ9%WHxG(3VmJ0p zrurk9MK^s}B4lhb)gj63vh85cCi9Z19!X}?<7ckfxh|RNl4MrrZO3~tdy}a?NoE;G zOUJZ2mrQj^GJ7yTyV#+7$yBc-vn4&gcTatnOm#~#L*)yrI{PM5{gTY2l9hK(MI}=m zlg!@w4T#FkN~U@yg>AZ3t7so}3e`0!tm_t4x6AGns&7)5X>8C6S(Oy3b5huk=J#(6 zX_7+qP72%S*dB4aQwr5RDQr;Uc(;CV3e`U;ti*fPW$fe>s)JHk@NwtzCyP_49!g=S z7bf1YZ%LuLD1}Yv^)77c;S{QmQdrfh$DD63r%;`g!V;wOJC%5nLiJJ#yBW}J>AWu~ zR5zutxpyjD|N1wD>ZcUeXlp@8g@hEUqf%JjxL@|=1u0ZdrLt%2YKPy3RH~~|*(%q% z#WhQ&Qhk-m+9nUZy1r&A)mf=b{jq-VKbA`MRx0~^Qg3V2BbDl|RJLt#c)RT*QmOt* zWxe}6Sr|1VmFlom=BU2sGFGNiJ(kM;$fy3>zay3EvQ%~?u#F}8L@L#1scgi(Vr@I# zOr<(4m6hF|Hvh!SRI1lfS>%Mz7qh)nscuVU7h9hG+cPwk>bF!jwa60F#ne=)<5F4e z)ZVQnvNWpa(pcK3s`Ccf(x|RWWA{!=FWfAbM)h49TfEfYUsFGg>bx}8qTemU=(cH8 z@1-$u&CM+z^-ZI?FO9uXj-F#3mqztp8ru-m#5)7XGwv(A)zpGNg!8Y`CG(RYb&8r6+y z?BAEt+MiKrR6nM%lV`J=SI8wqO2~Cb2PN%vwohdWf)XdB2RG+4^kKdffyFW>% zIyIebJ)h`(?n^q=tLd!g%6D>6U^>;U>C86hSfc?6=~Ta_Gv7M%Ctoi}r#d!+9ny9` zsxoF!J)6OXg;n@IqGSfuwHd7RlLG03ni*8zX0Y%*zZ#g4L3M5hJ3sB}#ECsJsNT(B zliRO5{9;4~)x8<4W~pJ{+%q$%{>@-1S@k8eR%TEgoWbsV*Vq5JBZKPU47TuM`1mp> zGpH`kV9i!PIk@O%2Gz$ItZ?w2FWxURs7}scuj)+|RrSfBdO3rw)3>d=Iy8go<_y*` zqS!e9)C{VhGnoEa+Wxw-Osb>|SC5!6%EVkum_ONG7vZ%h#V%@KP-{I_>MRk4_v#h`Hdivljs`s^G zEb0rg*x5t((^ovnqW&O@O`5a4(w{F`)F))I>Rl%ct{s>~{X!N?Dvzxj6SAmp$YQq( zoG*e4vZ#N^X7hh1rZzTaQy-Ddnp}TZVQ0x~>L;>U{)S@%V`^qoUy;pTjGVuv6|$+n z$YyJrbbofRM>h2t*{r>_VoJ)0Z0a|%nKrJVT<4kD)OTdFudjdgKeaNO`j2e36i7c)uL#b8^_yW2Z~b8<#`<(SzBR!4)s4d>|Nz*_m}OwZIZ}hf1S&rekg}^_4hAc^L`HX zMLEoL`&N(j?{la>%3(jYY+n7(H;4M99JX)l=(`Q0bEsd+VS`#Ujoy}>Lw!>&E8(;j zi&E!O|CGyu6JxreNG|nJx$N}&mn-*I$)$cOmrXcv@ODy@TrT!|H zCG_f4a%j$&8lU(W>3zgek+&FmE|n&xg?kRu3XmW@AsP*w&YU(mCN$(TnHB* z$)!Flmp$9M(lzKxF7;!%Y}NRIoo_zLrM@hewL|S?nyf7>I?^D}5PB!LI|CYxbOC~INRWgtIxIE_92iJ<$%AO>g)2@2t|_ZbB{dg@A6pLfA89t8<|IaULK3QcWlv;nR(Rj<*|#~=U@4; zGLQPcJT`S=_n>M!^QiyJW3^jVw5~mwM}1%(ODj^?_V3L+>Id`Kz0_X|>c7gPzA%q1 z{(SY)e?EECALg+ZXVwLVhvreAn8(D+hM8NWdHdyJWF^Qo`QXM1)|ZPmSBKJ}ORY~bX! zbI*;-r#>^E6>C%ceBr!&>NoS*zhdcr{nzJH-F*=|6)O^-J6VT#C zc0Tp11uQ4z)=amifcn+~_TSGI7o2gATWttXHKU=_* z?X1lgbuOU3wt#&s5j)*`Z~^tV1#D~P%ac{66i}aAzAT8eUgs z7E+&G$kq*UNfoOKsoySS9qT96AGWiQ`tCxeH@u&4_hcdU--XO8;@Ba>twQR<3)!w` z^S_RJRY?7KA?v@tyZD(;A@${jtjNrY^_*da)Snl!za0z5O;0PNKE06j*b)1Av_u5% z!;5fpY5$0A8WDKkE`n{+tHMVX5qJ(O!rXo}-BCqE;C;LZzgr!uV=F5H_w7Y!TvOQv zRYl-^y$A=3&K^6Zt_VEG6CqFeZ`uB)BJe(6gkfo&_P=f|0{8hvcouZ`Mp9=Hc;7EV z=`UqI73(7c&-+DK{a|ZYhan~0V#0?#!>7%`yy)lrEea9=`%mu+^u+nOl?&qYNjS35uGVW9}zrx0Up@rgMRN-=m2 zB1WY8r`2i_gZma@bj(0?<`RSF>|$IDx!i7YDKWT@A%^aoYs9`vV({EVjA@V7EPPc< z4DM@)@$FpF&csGy@Elf*+PjBbF4|HI?sJH-YsLFF?K_IWa~3hurqug4yQdi3_YkAs zz~foR28zMC3o-7u)mc7|6odO9Vz}!psG2oV44%t~vA9H7n{uFXZ^;jeZ z&wa&ck@;x;l2u}GpG1t~p%r(W-y{alam0{#?Yj75rx@Hf5o7e@!dIe0VsNfNj5p^e z|E+dP4DO?dQE|`ji~*O#;JJ?&8&1AjYneeoLP)6gNnBP`$`P% zvxsq}-TEQw&tmYLNDO1$)VcM4h{1gqF=mz=zHMZH7@YGE!(035{C{C$a34mDdRYx# zK8O>8=SpJi4Lj){o+bwOWyHwzGNhaH#o)QN1OuNeGPICOzZzI97RZj=KEG_}(C?p7)R%K2?c?r0WBSFi-d;cp^Ljs;#NpPyYLvv24!`$@ok9|<;x z7q3uuxCETrks$v2M%I121l$Lbpxe{*0gI)d<^xGyAuW#5<0KFcNG zxxEClS2sRWxLyM86G`xM`kALyw@bitGzl6GG5hx4F9G+BB-r0!Y4Ymh5^!!rf}DEM zn(OB!;69QBLrV887jRtyp1Vo#ME|0>>VX8@SCXJ)PPP8^UP!<>0SQ({?4L2>g9O}X zk|4xewrR_E33yH?L7QhYPTl__0r#CGID0AJaagbfoa>Q5xxd3NQ;Y=Mhmv68n%jxZ zQY7HHo&=v}lu}R3k%0SB5>y+yrOY0Q6r4+tVr$2&rY|&7aGy$wr21p}##^M|IiM6h z%Xm$57nOqhR#MzDG~3X&tQ4G+k;0yP?!?ThQg9zjig}UNM@Q;P!E-|?e0`Sx_|Q}e z?rTZWxk%H%#QcQ{3D)&Dk1^3OQ`1&KKgz~HuoC}ho=8JKS z>Ry$C`)E?^xZ>S&_+2S@?kPp;ffkcDKb3;}YEtxBcX7?Vw^DGr>J)#T zDFx3}r4Z#GX%JT^1^4A-7#XeZ;Zn)Kxe^&({hT|ojY$UX)5%c&W$>yQE*W?ZE5o|0 zT@N2FB?I^EWQaQW;LiI>GH?z`hED6te@m++1NZS{xHNl5RH?=?@Z44g{fK;V*OoGH zUr&bVT_zS?*ii<~vB==n=x4n%J!RlNpA2=%x9s+PpbR|cm0`E}%J}?|GH~BdhV*>b z%F2^u;9Q>!{bSY~>^n;a?gPs3;8)VEm5XHHxv&gHUJdzjWt9xv7nEViwf7N!Hp#%b z85sf()e|Xp$-sR=8Q6y7?mCBL;5o7kC+6tt4m%|S_YGx`j$F`X(Y8)3_fpaGz0z zuCaw-I|F3kIkgN|e@`xW8YTnx9c3`R{_Tv7lYw)4GR(T(y0$Z22JS=3;B)v|r`Gv0 z@LXGt`WuUmnJ$-u`;v0(o4bDLA-x=&3z8#iWa{2`b~(6DDaW90!>^|nmxJfvay)MG z=|jm1a&X^Lj^Y&?hIXzY2j|@6SZ+O)H@|@#+{ct7xX|D@-9iqYo6FHEZc$CIc5-lE zQ;yTV5gqcn$-y}!IplA8jjGgN4(@ZxG5*HW#eIg$!E<&wJ{+mCXT^9qxbG=Pl}&rE zUY;%o=PKpcGEef}cfK6l2bCjX)U;sP3ORT#FGu(8emS)^$iaP4Ic_v*m9HRoakCm#D+f)JW<0|0TvZZy!HVSZVL4o-TvWE2Tq5$`G z75Fn|%)I4&6yO}00!@2*ZM!r?0q*lEaJYH13%|!Gz&Qs63M!v}DV?eS_k9%@;jjhN zoT~umbQO3ZS&=??sRG;wR-kNRtYO1i1vnR>z*_(Qm2Us10QZFzhy9eGePRVJ9zQgv(OCsJN1=fBKjqdjR~6vCu>w;U&OW#Ot^%CfRN&j#f6pI3 zRe<}*3e@V=*)Qs?0-U>0U}uYaskUzla9>%0v?^uwEq^P(IXMOTI=5Ar`cDDwGb?aU zn#&GED!@4n1zbtv2EIvDfcwr0EDG?Rm7J*n=W-PYc;8}6agh?-hgPEbor`BWs+8bd zhZ4t5IG)WlDZzbdCB$1-`JQko!MQvoMlDK6{!&T_?o%uAdfXswP9-Hc2ckrU-fzoQ zsI3I|t(92M>a^(9SP9OlDiK}vX#Zs`mEbX~k+C(u%)eDia35TW0gER#({5IRb16zZ9RIU#!(B>nUtEczeOgW*eMkw;9V)RD zS2k=rr3ClMmH1c9ee%&IB{;{T1l(&MMcz_^`{qiVlqdhNK30Nrxk|`Vh9t1pN^l=t ziLrt2l~X<|!MPVD-hHfBdjAh4xUa56<$K4Qybe%;bB;=EI;HEA6s83C*_DXfwqR

KBT#X7p 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%0A(_-2}Mm#C-kniNFTE0Sr(6@}d< z1>&$5e+xI5HSxK0XQm;90c%sqvD zCk4riHY$4U0reEl6ZI^(x%9(F3VTlqiqNfsgeMBSPt;QjtM>Jo!v2$j_TIxm$zCe# zKq(mHa5l{FntBQkO2MpLeVgTeqp%C5U_;i+t>t$L`%u&~L;jBWKPc=(DY&0zT(^>+ z6!xO1XYwb#DkV}+;YKOQ{HN@II$ss`qZAn5=MHQ7jd}`4ih3q~9@GAZ!k(0ZkoR>a z_xPo-D@8qDubDC6kHWr`g7ME%&L90xVP{Ik(ub{G0loxQOOQmX7usknSS z=Z4tSD*IC^USEpXw#83nhe}0?^Jn+$Pp7g+rNVJaKXfvK$}W|PqDP0HxSUC4pGrmT zgLlu}%c8PVrK0_w5?5YkQ`xIhF?jp*Tc2~N>{h9mwdw7HKe<%)t5j@UTm5<3yed0Z zDo(6i{w9Y*WzR~*gC&1Hd0Z;HRw|MfH2rRSRQ9b@WS+DAZ!t+_=Sqb+J#%U(DtlKd zDopO2p|+;7d!?f3xZ~NH7%KZ$Dk4XE^R~5AcCb{8A2QI>&8M=5rD9qC>sr73D!W+J zvv;96c=6R11|oFBNZ6v^+ShrOK`s_58d0 z*u>VOl9{=MOcD*e^DO-JymwX zsOR~rDSz}<*$Y#V_4LwosrstyhN-ZQ{mPQ1KlK!Tn2L&VO>#R1s_clVXtsB&OCL-< zg(pTmcVtux4OQ6{Q!#OKxLszr%Dx!&Tz52}+DPgtoG}&qW8Ed{k5<_mQ*m`^|FWTD zsi$zqRJ>hywNm(amHjalspb}}*=wT84jJ{FF`@2|$trtfDvC!xYdn66$}X9TI^!#Z z&YVU)g-@oUYJr1`(`Ta&|b5XmaFWX zQO}V0g~?-8_Rdr^Z(uFYxLRfROhvCcqt@hEOFe~ureac!2b+}jDm!Q@R#Yy%v%p4` zJv8cBe%Ag{n^ktvR9q|l;Yj7JD*I^EvskUu!P}{)aMDzyE);vA*-n+cG!^cA$*y!dcO&+y?5C*+mUlfKxL;*Qje5GWy&7{+Wlv4Tusq$~PdlWttEOUZ_ETRL z9-*GXS5vVilk#iTF_oP)6{phiO=e_|I`u@h<*woe~dJ z_S~rF8CuRiQrUG=;W^&7dC(J;eK!>)4qa{&@{D>4=S@Z3efh)Ny-?YEQxU#%T=(v; zsHbq>sOOd^z56Gq?7yj)x4zuKQEydt;Hc-SdBdl?r=G%tQ*mZl;@J5gRd(T2JdO#D zUiq1N3Lj3z&$(-7ZvLXO6Q?5k%v1~ZC8_MiQO_x@m!9~pvKyzO@`Qb>F8x&5k5kcN zbgqqee^XE4$f<}L7P^+xsb*#;%-(m3@rEzf)-J%V{_mIpU;WYK@&a z4cEKgJD=T8V{cBw`;H~Ay3=Xw&S^-~ZpLjZgU0@x22aa(4~u5f*rC%|N z*VwJoa3-)z#t}}9{W=X#il4|n*{!i-r{QNI$$zd_W6w@Qj{JkX%VmvSI}Q2F8~R37 zW8Y3gWuZ?A8e%gqs`{(| z^%M@ChPZU!YkvsP*u&FsBUQr&KMQN@;!)3k8=Iysrm>Hw!S7ev)>%tv?Br?iCbbW9 zmZF}*%hOQmQ(RXgP-8bwL%p~Dy$YA5p2E+go-d>Nmo2Zcqo-lSlZ!*ELt{^mdfxYq zX;6uJ3Rh3Vwp(K+wXCACuczVc)ko7iRimE5+0*d!LYaBJYiR84Y4~+!&f=l9G z=ZQ}%Cj@Ei?`gV2vF<4ORB9-nyh7^%NeThL*ch>{-`9W0y}upRFz9b~d7( z!snx&8}=MO+(cuiPs6I!InJGHspE=->2cjJng~T zR@75Cej3uw8usj48;w0b4bs#*2`SoZ?D|p9iN!x<3e(v4(@=lRv~PLCHFo|qbRPcZ zkJ_1f3hz(D$U)Uo1$5Qe{nN0Z@3QoP-8J_AsAtdLS*u29>;P&w*DWMZy`CC-fYdX5 zo4ZAC>M2}64ZquE(mM9h*ay^*vsEWw&wkWXIDyo&*|9={2WadCYN*=CQ*zuOjom=% zS$9CW8ACMo12y!mb*=KEVH!Jv8m3eYsI_JU^%S0{rHFgX&xHzf=ZlZ>++is;zjMLap)G%se(JX%t zYwRde&oxtWr8}mvr>J4air3DZCp2~yspsM@I33IB83n+7~tU7pdpi43(N(*4Sax(0WA28f~v?>@jNSH~2_! zx9ikXxQrU6^>a1ucT;1ZQNx;E{aTE?t+CTcJ-c6N8+}(}uTjJ8P6ay6yRWg^NIlz+ z@3G<`^%Q=ihV-qUMs0emvE!&gXR8g`a#v+UOgjr~Ur@g?`KPV-q~ z2an*oD-P+djX~{7yZE52+zQGmjMcsj(BOp}KeEsdB%m zr|=@Fr{jKnjlUYZksA8vDs`=4GM)WM9n-STywfU$&W@yxwHe+&>YPevPg2K`G&NsF zrP0}y)Nv>I%6G%k>iF*-w~o)h|0YgMud_3$BmMVgKWAsu*_+g%ChkbKEVIt;q>eK0 zv-oYus@F^y3U@Zjv9Nu2kEBHuBDDP+Z#44Wb5o(>KL$TQ?oMpbapOvOkbO>O|=3#dzaL6 zWrvRS19WyTbsSxCs9R`Zo&8JdxxmpoyeRb)4yKO8*?k7|Dz3AKsUySmOT&hgq@KdX zq@I)WjU8WFXCG5X*>Phh&n%;}lSw^CKAy3-oX%dRj_yOs&R<(WXE#&FnErE@?5IdR zg`cToaqrKuhbrsrXzJM2qt1r2Rdx0>sb}Xk+pbsF+11qXvO~(fk80}dYf{hFtq#4Z zO+AIPsUvTTy(g0D=J8Yp*lOAI_?&o{yn&r&R!?= zEco_svo<=rojNl5s;3TXr?cOwL(`XMi0nW;h2yECob)H#ppH6wo;n&ko8}$ciFyjx zlX~Xf?wQ_2XWvuD*ld~gm~J{dpVTvB=X|SsP*34~>e%gfyzsV2o!w6z7gKmk9qdIt zh5xDJ)t>?7PeDZYcGONCve^f`0&GyRvv#FM5L49UCG}C;4sB**n#7yo>rL`!=23Q|cKuG^J;U&i<*6uWfFpvv=w2pz6pJ zS}bd^J=9Zps5*?0sktlc)7eGUQNBTftJVSPDSTAwS*NPnI8J9LRYydPrFNUcI(w-{U&_sXF$Q-dc9VN$M#aRUMa$Wvo2;w9cNYj@JRU`Ht3IeqLu^RfofHH`#bWXJ=JM5xIZpo=enIc&j>UyRNo7c134*RY&_g1v_83 zMm>eUNz7YxwFALoqbp8dGq}KmLGI>UUlrfVjk`ENoVhs zdd81D-8+$b3ink`a;2U|-gNIbpDz zIjh0Wtbq!nZ<_wu4fbXYG#yr?pqA5Mch*4U!02KDxefMb4NU0sDljmw!49o~Ws#LD zR&^Nc(Hhv-b#e82E(8C$v<9wp{86Wc$6%kIYrxqw zecQpB!EUXAVhzK>#~B9uwFZKM4|kto8SK~^=up!cwa90%XKP?cmA(Vl zT~gF%wN@DHqw zy`>X78|?TR=(S;Bg}+@5_IwRYTz$Q2x*pV1xV{EfEH4z4Gtyw+*TDWolNxw?8SMO0 z&v`GJ`l1Z>ehs{xS+RBTz6QI$22xFp2}6JCDg0jp?up;J)*fiE18ku9mw>g9Br@{Y+!RY{~6I^ zsi$y*4V(^-nm2E}!G5rTN9`^yUNO;NN0@rH^u=zPY_KP6AX~FB>-SDE*cCQlH+r=7 z_%!M%d|?BX>XzAaafZRpuz}{a=EU8ZMLmT#Og*c9I{ti)f&biL1CtPR?&Caz{bA}^ zX7%M?3#g}Xhz%Slk>XaGMFxAs2Cfxu`5@a8>M2}e1Ml+hdFEPXuup6twUy(Ixx!$l zn0l%`J{5^I*ef})bsPNLd*6V>>nHOy=zi(!+wJuWa{~9Yq{MA4fc=?w0N4a%F#mx{&SHH^nMUt zEB*-e6h5+n$+wTzyLHT9C)vQtYwnPzCk*zIsprN1E#IFq*iANY{p{8DKh7BJCsWT8 z1-qm=Pd$aBY#_~%36WVY80;w<@Emy7*Kvt@3RjtW?yfLIzhbbjY@qJ81)~aGGuTgaqp`OBDHn4SZnnj`a40f0eoSENtMfd}Q zJ!a}T>%iJxj|_I14g8#%XUmW$2K&qgvQO%@Yy30nDV$~l`NqZ{nEAqBuh~H55!SKA zuc)VRo2lpEQD@dB80UzSLqvv-cwKEIU9)WKI`7uj|RKW1`c-m z@Z|bu>M49@12@{&dj05&!OpXR_pM?-yh$?Hd#0YvlO-j6H`skP;BDOEck*8b`_BeS z*4vdL(;w<79B2deYG+HA_n*NYw24mDx@A$5o9sfH7+&#Iu7W8|_MuJ8FRQppr#9J% zHnFwj5T%Nr$zHUHvqf%Mb<>&bMw@t2plCqz3?}>0CVpB|iic$~*^xGpLwj8&GK`COgz7Zu~yn;_1n?J1Uki*||3H>qx5o zL8Yjt@UBhdJlOh3NTA8?wTb+D_MK{1mU;^RntE=}b)kEClO1dmEjLA8>kpGXZ0fo8 z+?`RCsHbqTO-xy7Jf2d;WFOnaswE>{&aXy2g_CXK(1LsKR@N}t%QkUycF8ZBYnkk3 zQ_pELe(no0+0QnScJjMqCxcCPv`t9kYWQ8QM?Hn7ZKCwZ6`AfeFxk~MQGdwa94{MD zPvL7*&;HFEpPQKMY?~O_dx!L=smb0p_3V+wOxuEb3U}MY_Rd`j7={BAx7#oC+fa#PPHH>y<#Guh`hQJ{X|I<>-0cDhYe4Vv7r zacAl&ylxY%s=sX3rmM+rw~4-$Dz)j_-9(DR5lBYK+b zc~j4#4SP@SO+AI{ZQ@qJO#|lkG1>Pv@zG82%CIHpIlqdDU~D8ET?I?mqJ`3^UmQH_;{Ar6spVP*353n;4Zb->PS$Om@Ld zEc6?@;lmh{eQ@fT;_*|pAOuiQk} zb=CAE8%%b~sb}o6eCIb&PvMuFh*|o(@XakIJLV>KEDS02WE=Gqp1FzmIory=+hMY6 zZsPg$OjW<{GTAq$o|8M(PPx})=iEf@@yF_C-fyyZZld5QPgDPc)Kj?UCaMn|&`LXG zvVU%(^?+*~0*+8m;h^~o;i{YHR{7w%H8)N6)lG~ppLgr_+a^2f)U$N&-EntK_SQ}8 zEOz1GnfoTY>(n#AK7Q>X^%VZPi5I@nXCFQ`*ck212Th?aZsi*MWO=S3ZDtCvU zCOhvY)HjMd;y3ja-aGYtF+?5s*JStIM5D*I>@mqK_TMdZyH~W(v=kOQ@D|40oKj+8 zDvLdM3yZG2F1sp?#V)*sUGY^aZ%u2l4{zbZ=_NG}q_^0KxA5ZF&$_2FTI|JJ_!rl> z$(76&yYUwC?AsE0KdZ%lyoEwLGqit|-C{@HLX9mQJ16F}*ps)=X8nBT3oi+pSO@0 z{d6`|iye9k877pEsjXY=(Ob|)&tKlewAiJ$POx2iD!(EuY0sy@l?5 z*6r+9z+$hSdPb%`Ffzbmx8B0yu5FG+7q-~1r=A`6pPpBgdJ4zh!o{|^FRmzVv1f1L zWoXaqn@Uno;o4Krkn?x69bYo_(9VX=#E;aH)SnX}ij z*vF@y`Tpf}2T@Pqrej7OdIG zVn?5P<~UibQ4@%y{e26`K2>VFtONBF4!;Hew~N9zbhOyxw@~=y z_wKtpQBUFWQ_m+2qmFj5*yp#SST_)B60Cdi|+?ms5R*9kF~R@r??|vp?zOH+0MBZ z-xIJfsORuBhv!>-SAcqUyPNUcLW}PUSlAF=BFBwI7T+15p6#alKVCvT#k~Ow_glX8 zzFlVV-2n?=Xs zRkv4AH&}e1z(NEvS1Y)QdWt&*7RHz998`LX#rFyaQbhPRv)+c{(*&AsT<7Lc9MFEI|vpw zCfhjg;AxBRAy_!^%Wui)vlib)pq@$XVy~XJ_&$P#q)!LeKe%A=odgS+-{sx*`V#dN z_Yy3auX^wKa>e4i2^K0my%6{B8ub+S6R76{`$YPi7T-~@5P5s_xm>p`zNbJvuRXjh z-KC!5u7ZVS7XxqQyKnJ*1q*x6&VEqhA@vk@7A#yj@$p&3#}?mPu#j-L_M4!m7T;Z< zo(EQa3VCkv{RIoo-O0bVduj0<1`9>Eh5qgSntFJbm?oKt}jm38vEOc0tJ;UgC z7T;%}o-4X%oBF}xI}H|QFFu`T!6yr{D`~-!&(w3i>WNLHp5ktUg_E;}YFoZqe80iM zgQ>TD`@d07amRsrPApdVfOe%1Sv(&oDlHYRj$5|TEJ&G#Q{EbFwjWsbBq-+{2PuYJZ2 zp7b`~gRpU>Rd^RWqs@0AY`kf9G_qJ`o9{!|NZHukuR>Ov??l*e*6Tl{R(6~3Mc61- z`|7C1Ic>fhVI!zo!HI2h+k8L5Mp(rO)4Jxh`HqB*A!VP<>Fcoho`j7#B`Yi%;j;Oz zgpEx_7Oa@;vH8A)jgtkwuAM8{d}qSOL#y7F<%-SsCTx6D*YDb>*?f1xMpkc{gL@2{ z?@!pU9Bq#svuwUYVFS4ioVnn$`5uLhW?A!Gx}D$VyA;$jL$4dp3Q|vTpTfq(H1YR7 z6tekFg^lIOt*1YWP)~8M!p8pJBVVU3ZsWhZ6*jJZyZ<3;Nt^FiP|we$lANV&zGGn{ z)%%&hjWRahv#{ZM{XRvJa@14YwXjkASv$*^H>zgc5_L!0kq*r>RvNZnnHsi(M` zVWaul=*CAvY`&jiqu0t;EzUQy`HlwlTvEB+%@#J_)3C8(!QxI&TH1V9gL=;X(c@if z>M8DP*tj;WQJ?Q^ZN9T%&p5opH^&FReWaf@G-`%j`9vL>?zmv`PH>l^3 z!&9^_Hs9f}5!~N7JD{7*_c&~H?A>=^U=Qjk?sC`|*5mTBs*yI|=ddxibN)5;df9xZ zgL-xtx2Z*x&G$NNoNoPON5{T4-|e8D&CBiY*`Iof`yDoZG@f^4@IagIc-Y8RKk?MK z!PHaS^PrwV!53x>wfU}xjY`$mURyNW=KCJhvr?+NYew39=fg(ta;+b4A8qr!4;zz8 z?RyzFmU@c2A2wDN&Gr7wc$@Ek*f>xy^2@b}Hs1lEp7yz)4=3Av55&eh%}D-cip_UH zY^0V(_$5uFp5i`;4Uh9)rsOkiz7t}jMDCI~GtQ=-;$8^#%r?W3XRgh6Lu`a+d?zXM zZN48uJ^gB!1r}0IaYw|)yc8=6lv-p%8-8g^xy3fN{P|O~@)GJP?uytr^SxA8$BtE%g-lM{HDnY_zyLu+6lM)KlCep`JIccU-vH=DQ>|CSNYpebrW*?~_o^^OJgS-A+Bloe~=d zPrVp$V5iOZN^D#|T5Wr+JY@4-6B~8crCs{>2=x^AO>A_EZNDnrahva)*ciSvZbQzKHs3p;o(uiA zdr#YZ_r%85IZ=CkXKlWJLOrKnJXHKV^%QqdY&@ClJBbT6-$SwSbKIEowJ%XmaTkSp zj(T*Z$rYRLqu9tdw9M_c*KEF%LOln}dD!iS&G%AlghqXO-tU&pcT;RcMFhPad53z6 z`zbb}yR7~keb44QDmG%nQv8_rz~*}@)U!>?e=8o@d{@QBjTU=SZ+>F)eH9z;o8-v2 z?-}(JcUElpHRzH3#0#76t=RC^Ig|I&E9xoku29b!n)hyk&G%Pq)T=y9fAQAlJ1o?* z{GEKC-cwI;kHyA_(#4DX{%G@E78~=6O)KS>NIk`U78~0F-jvV&)#f`bHqQF0Rds)} z`Cbe4)R)z^e%O4s#l|n`cm1NjY`))OBZn)bY570YQ`~W}kw4G2RyF_Ge9y&)D%mrI zHA?Q|yDmP2X6n?nbxI%Kck!W5+G9Ptr1tTh7ayWidiwYA^YOhGA6EVCKXiCHAK!iP zA@0Z3(UUUx`2LFzH@_5|G$)gf@4)!*;lqUK%d+_R9*hruZ=TKFkj=+;VSJEYR9L(_ zhmY^W_)zNcf|W;e`S?zZ5B2YTT^FCn$M<4<=zO!@)?5BQz8mAih%4)NKXv-}evA(b z;?u;vcl+?)9T^|Coo;*lhu6pVWPCVx?7-PnijVKg`0z9?&*dzdkMGO)@M~|cn-0Ur zcV>LZxikL0Zu$7$j1T#@SkDUie0+DthpOvGC6vkU72JQ^%VDUsArX*5o(B!@8tNnYfe~uAK%rXo^rpK$S@z@*YP2p`^xe` z;Xb~zHz}m5$si(NN<3nJM@tdc2_3_;u9~xwSx-+Ib^%VDasAszJ2UbV;_zsT` zqf*U3x~->=@9|L2e~G6L_NJcVE{_j8egiF zfRFF>`0(dV>nE=V`S@-R^?bSS)t4bYzTe|R!6&&s{2S)uJ3c;CyC3;A{YdI5?)mue zKbGz+p31iiQDHyh-YS%|(xgNK6_TVuL>e?uk&IC(sZc4QM5aQal0-#F zNufeSDh&!1>Rs>t-$%dmYu^X!V1J(P+E?X$qXPxR^%20H=aVHT1Ph4ogL_u`52Zr| z#Q70G^5fSd48sJ(`@uaQ7>+hOf_sYH9|6=AMygpJ6A=GL0N?XFC)ggxJ;e?X?wM<@ zw?0xpJRkvRXC<&(qXfhS!acA3o#K63KztwpSYNT55g08XPLKe$T*{su5sQ0@y&wSu zo>wrBJtrV;kO0m_yICd035Xwrd!8(@$-F2aj*tK2J;ff80IoV)M``8=h)X1ZqBZHU`Zoo{C&E2# zhs96H6A-6J0A1D_uFNVB5U)r8vP%ln7Tv);#cq)RbQX=vUQs9@evtrX%-fakRD^qq z9V6Tmp5EJ1EFhkd0NiI#4|kUch--voEeBLU>lCiQ2^ zaZj;#B!EiYGfkH&1jIcOK$~_~TUwQX_(!;>hGpliY5{SO1fViD`A6|{0r8Loz$p*@ zQ~3h-6uU?QFjsJtsDCLSK9T^OWb>ro*9nM|gnLRU%YSPS5HCppCnP+T`rZhLn}mDz zJsvCFgnNqpBmvy-nW#1Loq#w>0;vD)H(9+E_Y`|dxaa43TDMI=TqOYv|1i}+^g%#; zCET;+xbe)70^%$Qz~t?xS>~Sw#9I=8P2K$Y)?aW>vAZMykDBGU1;0IdaqQE@4Ca6e~B90RU>k_ylPliy$bE3dI zE-dn;G(}t|3L<0PN530N5#Nb|lqk5+DN7OOiGuqPXOn)(QN(+qpdqX$b+7_O+$Rct z1TDKhVkAZUCko{JuiYA}L=gvyf{FWO3MY=HhzCW1$sXqtPK6>a6a_1G+$oz7z$*`QL`bQ512eC|Ee#V)#`C z_Y`|mxTneGk=YzY+$jot3p6$O(<`_7dEinvu2%v7vf zq+*79iv21IRt}%COnWXx94iX8N=K|>=2OJ8!aWClTw`QT5!Z@>3;lC9%vnSc-wOBa zz2IiG821!AR}?($`m@c>iXz?>1s^(B?Afps_Y}KVxMxS^0ngnZaY!L&7$BzQE28vXNve)xaaMb+-DnbPqCv#LHAA5J8w2o#M7cc z{zgpkht0UB*ww;4(|C9r--wKdnTsT4)er4#oiVLo)@IvC~v2T zyG21rtW(SQow%pi-=g5+se%r{E{Zr@6x=#K=G)Xg6!Exl&+zR%;7t*ii-L~eC;b-t zDB^QbFzAr(;8h23PqEWQ!MFp5hB^CD#OtC!wD*mIhd=HqcDr!ToknB!22jNBqG0{j zlj;FM6mh(8PuDNn$3k#VvFAlW)P{xnF^4JQdQos~Z6cQ#j(duIFA7TR|4q#}N)hLa zf;TJdP4Xis;(g(sOLNRhPEf@CqF}^g#f48#QpEqFVDf@3OBzn$o?-`#f>~yzE85Ob z!~>&X)yxSF-(x7^g5jP<`A0iuh<0oH{*i%H~GgQ|zQskbdIC^qtKV@zN+LJ@OfRTPWhD;hrH2794(0 z5kHNB-b0rxquMF>&rzd5!FRy=LI>_C_S7iQ^R~55`9u*{jRNqx;gr*fdy0KE+|zS} z%e}7@an>l_ns{zBqzi`L zvzMcZ>qf)FN$X2Dj-ZL}Mnj|4-6z`=Y2v)m(5p7~`Myy!@!n`qRPm|{R;G#jMuXm{ zs>TyzXyU)oFk4>Gc21Qh4jc`3LxVnF8AlTjj)onBo4T&6)5L|NA?)w;-*+@=;=|E! z>G!FBkF;pw#L-aj^P5zSHch-Z8lHc(kZYVs6E}{A&mS+3`Z$>;ejE)$+6Im7)}x6d zM}vB^!*~gbCY~G(Q(xblG@PM{D~Ef&97T`eXyVJ!u<4nHXo8R?&KwQC6_1Q)1Kd;W z&Czh?kk7XyVr4p66EX zja`6yiv2no!p~&+CM~3iV@E?mq+C#@1@0;K>}a@s)Fr&Yk|wSl4K<KicDSe5 z!NWbbwB8)*Kobv-2ER?S?kYLb#Kprs*Tp{2bizHwJ{}F34&7z?&NOlIXn3@0Y4wy1 zxTo05!#$U$zMQp*CT<=Lzb&QTF4{~(P`SanrLMT=!gZ}H+-UgE(W5~y_x498cN%hw zIy^Rc&|o%8<@=VcxTo0Fqha;*9lg7^(ZtuIVdvC}0skE|arSUeUT?@zFPeCJG$c|1 zveCO~;_l&|liw;P?8QCB{vHi4CK#)v`_S;8!$(7>dXz@qe%v#*=;GZ2xToq@od>=& zartP_R9YmcI!F_r5BD6A#Md99iPJ~Jl3@~t?*nP#_0ixmWcAE%!MLaY|J^KB~5fB z4S(A9uNR%9iStLpsCO@2XP&}6#oiz8`9`$O{0vRpKN{w|I=b6Bh9>?W?)m(~e#f)8 zr`Q3c!K-pkfa`ghcz`qjLg6b^&Qfdhk2KFPrPzWV;lESmU&xMwu|_}vZMQ|t`V5OXr5sxyZs-XING$KJj8brbg# zyMr{89iI7ma6V1^K^oo#M!y?zn^PjOGNYlwSV`Rj!~qls@wgUq7W?8zFM zIET3BJj1DRwKVY#X)uDw8CPG?#66^8>5R_V+4Z=m*gvGfb(*<(;cJ>Wh&1>M6RgVK z(!@i=J?XzTFPdoLBGPbO*KT#wJDT{2xTkjZx=*dRr`SoPp+!Ssb59#hyhIxMRNb}? z>cBn4ZX)ifT;e77i6(v`4YY#RK9x?IIEuKZ>^^_(uQc%#X;>pw8^V02iK|G%E(zf= zqaV1Z*jJ?CSYLS5oNk&pi!@yBX^XY$rHQwQdw!oCZ}*!f?jj8@KcBm@p^qm1A`M^L zd(%7za8I$rNW;*U<=H;}XyP$4p!GH_KWGp`Tt)_r>V_5_AIuP+k%473>mQz#Vu;ho zfNRy=ipw$#@fsO8R5rFIYZwFnxs43OmUz|Q9?lTIk%1fcs+u0kGsJOZpu9lP{!D=( zo+AS-xj~(8Ml!^8WS~E*>Bk2phWL&QD5uT%^J6qaoJR(j+RL!3wkz8&0Zuu6|1UL*rU_dhmv7BIw(WMBe*E5w6lh#$#-@eaTF zds*C5>_{@O+@pSR0M8Ilk^#5PQ>~AQ7~)Fep6id>#Y|y{FUi1J$4_e$r!nxKGl_fJ z&EJ$^gnNp;Nd}(S#JlHDXNWt=K)g)YT997_gXX@*@lScZFwJxd0@k9~j3)S4l#B?H4oL*c>| zxTn~+#61GsM%xJp9V5!_Skb~2C?Zm`|= z7z4A1t@{}e!9Yduu|0>6xp~ry%3gint_Dw zC-RwR7~ppPIi3^E5a*MD1zT5~xfhFjioH(;oLn={m!D&Z`^muG4Z{;_;~3(9;+|_a zr8Hk;hy%*NRr{jM&zBhDf#RMk)Nl4C;+|p`l!5xCd+tbHVPI2bA`DGtpv&S}vHVrs zQ|yG|o(q^V)l`Ofp$zDlg+A3uV~87yd(LdBWiuG!hcaMeWctQ9iy@9E1MUVfEpu<+ zo?=gwfgtv0$C4a|xS|Z4*I)9@{w70wQQUK4O3%hThB%`PRF0P#*jB(0ZsIPvQ>_qZJQ6nmu%r2H_PR#U+cx0HeVUm{H!s~F;! z;+`FyW*@5=_|GwA;76DOa8I#+%0S%xl3ix+7~-HZkb6gK zzhx`#DfUnqsJgZ9kZl`7TvP_yZ`6ja|G*F*757XRMr{4a5GR!Z)s!QrygxI2nYW}G? zoFz^x3vsJW`t;>l;uDFi%!q zIhrM&D+{V~2CJ=8Vc|d5l?9=x;{^AyEZivwPuxC^g@wj>x_i`E;=HopJVlv3q`?yJ zl?5NpbIQ^2EOB31I4LNb9zB62{woWqlP1kh&|!%K%R;f%!3F7)SmMF5@LH|GGEbK! zE-VW_$4s+%pwAK?mIe7yC+w>zmN>C2Op^cXRL|g^VlNi=9J;{eJ;xF^mW7prFL`_u zvc!+YJ^%La>@&bU#f~fsA-`AoNKa#lC(FWxpVtqLG{QZ_t}F|;zRHKFPiKiQ%fi!- zn~&<6u*8|gJ>M6f6q&Nbn`L28vu5l}V2L}+!r0f|7tPIZPq9DCg6L(tacEgs z^o&b$oX--E7Wb?OyWwii5|@^ReUIMfc`af=X1>x)9}C>G81DHk#y!POEeqG~o-GZt zVu@GF!h^h?C#RO;o?^Ea_sm}Q{Ni$!__Zu_XI!gGwPA^4i+iTZH07>jiD%2g`Z+t35Jr`XwLp~qZj z?MXkDc)Ki&nCrVS&L8&_ySupOthy~%16bnkvM_7EvB%58 zHvXe;*6qETnx4t+q?VJ-6oCtW9E} z^i#{r4VPKs0JHG6&GfBjGD|#Q+_O2R)hC4|E-(uUZ+?CZy2cV8m<8QeOTHgZ$34YP zFbnWJrT1(mOT1tfY%8VyUcSx}HyHPP>@?(hHcR|q77jlskiC=35=R*KEF3fP(JkCl z>AVHTd{JkfZ28}}6Z!nkLq?!=C}EOCZe7<}!J;O9M-c*D5ol{fsq z`z&#XS(tLk$WXR~CH^oAi_f2&Ir<^)DRzii*ckm~j@DzAc*HCmIJs~URn8KZ823Du zxO7?tOMGG$(hvVzIlGD_PBHEoXuoE0HSQ@H+O+H$3ypp`>sLKziCfG=)ynySHrfc*zpSm<7G4f92x!1PJO1w)vtZ}4Kj7FKmiWdjYbEBi=Fx`m!_o*AC%`yUf9C zsc6Y9(j4)ZIk1!XF?9D(jyTL5?C7&p@R#L?$IL-kPx9y^avX7)IY{_ESpCchj`++R z6nu8nzNE;(e@-(8&)f6#(nfK_Yv$ndJ7w;cGDqBI4u-t-oLW4FBYran8g*qeDpfh+ zICC(yW|CRmIF5ME99UHyG;dYsi0jP3rm_aBubLe3ojLF=nYQAO7Dt?C4$j;=v06%p zBi=Iy83mu$DNf>u`^>?k+y$G}bUETbbI_D^Y3pQtjyTX9{JJ*aC8RjwL31!N*>;}^ z!x0x6_e{9qzkuV256yvD+=$TSLXJ4m9N5RW9$RC8dy2hi4t7R8h}t}rBW^SY;SuA{ z?lk0xAB}s4`NaDgbHtJ6;C9f9D~D%r#FOTr<{+OQH52y~yV4wV?hDVpFpDF;GzU_9 z+VWFo<&7Unf;!<;vX|uk)cL_&)YTR?l-A>8n9C4~SXkIk-r@ReE zylM`9&-41Dx)S#kyVV?wnq4I^(Uv2AH3tF{fedGldx{-v+|w{fe!2rkJZlbCi<*?? zIda6c#yy!CBYFOGQG931S`aeBO)BW^bC+2y;bW-sn3_Om(2>a25b^x=r3 z&B5ajQ+9sbk9&$eZQQdZ!n@m-Bd#_Ff8Kudlkn#t*g#yt#E2SNBnRO?k+Vpg4-N%#BooHC{v5O z9Pz|C_&WdV+?Dq@;)-)1W46d*-F@6s?2B`tH8W|M`vZlAx^GXY^T4JHAftC4%Q6JN$h*e5zid={1ulX-OLf!oP%ROerJws;fQaJdw#LGss0}K z6g%e}6n13X(QW65ch14fR@n!l4%}1hp5va48_Q;X;)s9F!O(_#Pt7|y;-KT6wQ4V| zzjDMw=fJpn_Z!FW9C6V(SoWm4#q|g7DfZDhaC=C9^y=n_lg`1R`yt=_dN~*YIXi=X z;huNi^@RQAh?~yAjaxGZPW5rbPv@ZgM)ctL0o+sUsB_So{$tp+fA~9|K3-}o!NXr0 z-OvW?f37+YVb5%aHxJ^8ug=4mrH78SN%F*5=OLjYW8~+-Jn`0f;4I!meILRTcb$iV zN3yEDQath3c~~&t=xo0S_lpM+vkDUjn*(c*=hVk&9%g)2+yZ0u_%kso$ z=V7nOmn)-&^TcWAVMx9jr7Fi0ubqbzh6~d*E>Gnd(`^2CGZL1)~S znzdtj;==QgaVC1z#&JCH;dz)by0qR+jVDe#504^$tl6f{6EB_z8^sCDyEJ&>#`Dm0 z)M~>%O`iDiJh%_v-+pjBPaJt3euZ9j3)bR^C(lEW^vllh2|RJ-c^DZuWcvwip7`=S zoF63md0K~u|D1Uq^!?WEIX96f-aHRE{YU=9PvVI?&x4sy{(&o#dE(FWP}$oqk*3QN zhn@%fU84i9>+!^+=b^33Oy-t8Ph5H)c5d4ic1OSypPq+*o#*9?DV{j>JcMs4KmLg3 ziC52qO2;pyN(SGj*saI+xoPs5=PbTYv0u*v-)cRsj^l}A&%^C?{^#HFJRH(eUAs=m zgLz}RRx9>D*Pe$Oht~-mB7C1>-yYv*{V?6H2KYY3&OHyEs|-_qPT`4n&x7}i4a}dZ zJaO-Nkg|@<{5Oq<@{#&G4jJP6d|GHAWrXiDVr6#-R>P_@SJs$^R=L2vN3kj8T6ebLkT zlTCSuKj<>_D%NGz-^bJ}9+-*mgD(`NH9@AuaedD!8% zf~`%=@O|#q7+r{so|;`ddkzndKNm$mz)rl;Y`0)842O}i!Zypx-KAUp0zF~tdSnk}p7~iL3>y#esD2;tRdo6i* z)iCl_A2u#F+1uBOhYfbKW(-=wgFv;mKLGo!*8Q&ZQXX(gagMACqtBve< zNc?wBy#VWW*Wm3;dwib<$}Zf)_RLtfZq90apMQF_OR)iY$6C!Dcv!f1(&cijg5hl! zt2I2l=w7a0jXj&)@zL6mhjlv-UaQ6Gid44Rt;P5GEscAPy^%5ZyQ32iK3f~EH)Da> z;k98M57M89PHV?LNx9JL>dZr=>$JSjSX;dcAJ6qXXtu96>B6=q{TcAufbVm|iNap& zHXS{GpN%{izPoESfE~EFV#vWwJQT0}Tq5bh!(q*UkRa@mH)9tL-OR)2bD6T?*arIr zPvl+keU5#5^f=b#mDds_H+-LGhL1dr{kh`OGu16T3Hz)Od%@vGB&zW;Gn-1-{;XHjceG6i)|ZOPaZzWe!ZB5&3YWFY`}jfA=2<&;;4I|2BH_u(2!W-Ulp|wfN8$A0EDYw#@m0y~+AWZQsYkflkGTKd^JI zT?yU2AK&K|(?!3rRr)W6?>~U=^TU>kzgUMWk`eyCJZNuwWNdHE%QitU4|h&(O-{oGESGZQL-2i$JV)KY zDn1o;P7URu_Soa}TiA1!PTOW2=D}I6S9lkzSAO&dgz@m@@Wh;AY_@s9?)l;PK4q30 zJ;p-mhu;=Q@O=jP6;xs?=8QS8>?jW>CDTl6uy#drBvu{cVf?}RqB`t*)9nEc5j><0 z$jocRZoeHT?R*^H=f0_rTCoGhPY%1B!1wvf+2SKM?B;Jdk4U_0b|0_&iXAgm_xO&J zJiPvKXIVG)(sdi9y-_@D-u|iP50>Q*oj!01-{%)qTZz;7KGQPB24MZ&=Ql{5!Mlcf zb1oDs|8b||@Myeil4Z4yVPjn4n-ybtSUcG$;Usp_`^pVtV)1<@Y@8f}&2sK=is;B#!UE;y=c=fCjtkROr zgUl0nsFVM9zYKff$*DlgM0}s&^!%q-YEiL_brRk+L+u~Gz}|ZJEzI^Z-ZjA?iyN?W z=V^{`yuyR*kesR}?9=-eC)OwPaN7Uf@;0mkcq_YJ#rOG7q4pE@!=1}#wx-}+vwx=D zckHeiHRHTe@viyf_PPfMX1F?-e zer%MQ`o>y`@X7N=V4LGsH|A5 zqU+Ti8aMEL;-|GPV$ZeJc57$jU6bT-GYPA|VTiY04&F7|XQ!uPbDD+yOfC=mEpVSmTrr*xr6UhLB{4KR;BX%X#2Z( z*BqJh@-;TWqC9$SA>K8z&i3!H+~Z$r8}H%W9TM@T9a}Je@&&gde4kQxoI0@!9$0H{ zyN~ZP;A2Y{wq~|}(yn5>Ya~=%eqo&o)AjZ}z`MqG-p2v#XOq{d2TSno?%UxpxD@a1 z{9#-$*3|prx1kU5eHs~F5671ERO}q_2=AJl4O35GS9$gIC_Toz#vt<6X>7}PJ)f~< zcz0(O&Nzql^jtZhS&nx%+j%!0+xI!(;KV2RK2yh;UBQOBWepZo;9a9{UUChq{NZgd zSBZDcQ)icl_V#``CGJ zqfX9yhIh?*YQ-aL_3Ha$ES}@tJcy~t!uYQj0SgE10@&&%n(b;cb zVRzLmy12R)-{;BZb#Jkf%lGQ6dx>|AqQd(Y?6In(%bQ-|-F?hta|d>u<#T=aI=s7w zyM6kCy<8@dw!I$T=ixJ3e_}=EEWf7#?;7cn@4vByC97}je~oudV3*fFti_ze(+<7C zyIWH0*O0e(ci+p+3&EcEv)m`!i0{+1)#NBvf57LjLKD8vf|2(kvAI6U{-c}mt}&i9 zCmL(^>%|bYcX)T-bT2)Rt=u&@RI3H=?kTYg6R`F__~DaV@qJ!@_#_$Iw$1Sv^&a0R z*S#biyYoxB>B8ct@Lx$p^fuk*hAMvh9c-8nA%R76{ruJ6|jpZvKXMO;ktMN36H? z!EBH3cz2Id+5HVGRh?$IvkUL;h`GPJu_vq=^7sD0_bI<)e;-!k$xu_@pLo}VUHB)_ zjd#t$X+;6pZ9^*#N%!F0{c!!kNcz4e|@$eWnbgmfpD zPHfs%i@mabkH}6+2p-xael}nYniF#zrG@bO!i+u5*h0r=MjK>=5TxPyrwzOK^}hnw zp+XpS_Vj_z*jIMUEYD#=h*Nza(S_ac(*C}etPljJzX$YUzuAP&^BFFLT&3|c1K9n~ zavu4~3Bl~d;xI{hAq-pEViAO`8sQ^9bc7I2RVY@4VOJlya$H_P2oo$!mmkNr4|}1c zq$q^6M_XQ;!tM-_Jfk{N2*&ecY|mmPr1)`~ql8deT-tCEd*slX^EygGSU&rw<7KR> zM7Wl|vJl?ho$xLdn|R<>0y|m=ZYE1MW?}ih_miiL5kgPi{tvm>JA0K*L%dYC^cd zIPHCg_4(Xmyh2?Fkb1Q5C05#P;vIVpAw1D5@O^`gY+nXWnnJL>{9#ZFR&%3Y@y78& zXw?}L^Z}dl?%Mn!7dPTJcFF3g zPxt8vVf45sC;nm^UO8L)PZUD@ncvDoCJDi1Gi&S0M%&6qGwUkK5Q=eL~0Iu3u6I9?!xiDf%CUBZ3} zmDQU>2_b7ie8&~+9%-Xg0WE}?C6(@J*ujAtS)LKXW3&FR*Rc_UPG(JI@qOOY-+2qG z=67$(3{D8|X0GbFgH7)5ya~JzwiX0>7h|XRsLhx!6v7{)>-~?g_j=9mT8M-YoZIME ziCw&F_v~c`_&%q|53a$!>PmR9a*7ZxWK9pQ!*1MGy})6r5GZc*utx0n&c9{rrU~KZ zwNpo0u?M!$RxXA@m?J1w_=p|WVOQ;Lgzxjpx5%&9)0;wUb{Gr6VUp&UZmf1|_RBrf zh4A5$Ma&;;`nq@a2WAMtOUqkb!bAwu8x`Ij!b-$lz92Od->1XOb)ncJYBk!!O@&}x z@78)0J2qy}WyM)SXj~QTauS;~hSMJdLfG=6Mg#!WE8 z_xV)odjfW0#LerI=LkX3%F631wpQ-_RC=xu&Xw=$O~*Qijmi_w6N28tt3KJ-FEU_a zI9~|arL_ZjSf3z|LX!pfKIabcFT~0WK5J%XE`*9A;gAyS$%Btd7AzEk-K@1CW!Uk5 zyUi^Z3E};G|`v-ff#EV%khrync7IpV#qwGf_9o_uAHjSynq-`*UEU7KhvkXa#wN$Wp; zI*k1^!9PuICBDxl70(Fl-V5pcs8vERb)44~g&m^t`i6?F5Xu^M?25%6j~!;HVJC!@ zb{BtLz^bbn=4;#I`>d_lmxN6|wPB{-YJ8tIeScH1Qgk5=G}g@fIN@avQ7k09*b z6p5Un9zqCoJ+nI;yGV~U8nG4MXZwTS$Fa3Zs|%Do@qKRS+J73mUgxms*lj}4e>Yy@ z9QNzQ+#=2GLdaQb84!=%r`bAp;tnCqe&Zv31uJuImTr{-RS_nPczS}E!Yu*q_=GH6+%tnIl2QI>ud03i=PmjW|n1q z!A|aX+P?ju5I*Pkihg3RdmsC`+aKSj(WKnpSkvBuJ^K&g`^;T#{1031)$zwaKnN!c z4&ELTD1=pAV|+uf8d+(xWP^mz;yHKFQS4Q=;l4t!5Ij4#2S#G2UK=`pbO^prw+k}S z*dqODkH>`yA@swOu=7}}E9)0)9TtM}ra$rt*!qblswRaA;bM#KiDc}iOLv!3;XcNWh^fcg$k~2%h!VoM@-LZ<*rvllJDgA9`!rXd@*e9hbEDhkG``Q$g*QK9 ze+M@0^*Dof&73{czhQ$UNA&NA7J@}l;+<~n$b&Qd_QnX|rRg*1!=4}5Ea@AI@ALM* zVu`c(KKGpt3c!9dW)?`F!@K5J@zBHA{WtB)hM&i~X7~5-W7wfnLoG+f38C_bra}}p z>Uz%8F&FTCZeJW3gVo|&tko~#`~2cP`T{mBP4VS~c)V-euS6$ejVV)m-Ah9F*HNRE zf-Onj@`g?jLb!|Mg$(Sn$uUl%M0}s`Iqe+mn}pI9!z6s4&TEqLv2GK7Zkl-+@0zAC zy?fZ6xCtN4t_b1wnp>$Q*hA_|Jj|1YVBYYaEys?C-T%$ zsfDSvSlv@Edu&tjuCd;Fs{wmsl$4L-H6eIcpPkW+opoF^us%%)QcE7+ZNrw!I~{aQ z$M^Z9XZC08s_>(OJu~pGSv0ZaJGOObL9kaQ-Zc-GnfGG11%DXklO=>{^Zd&DvHgR` z9QC^{g!}ieSxMf&_vt@JF$ik~_0=-jc-Q>fb}|gxa7Si^d=B0<`{TwO$GXgz`f60J z5STyZF{iLUZaJ@3y(xseJ-^k@V*REaf2(l|-)Hyaix;uOv+u0a$-}#5hmFoBqJ`#P_+hddUy$9EHszcR#|rrtf z#=F~sUilZhTDDllzYOp0$98pt%kl0G`4$_DO`9L$FzgAwPbp2!BUs}H*^MJA@U984 zh(CcXo&C;Pxf1Uh3Gaz#u*(Y-+QwGl-R*n%$~o*?lbNpLpW@x!_gruZ>z42Kd15ub zPwzqLSFpW?(Vl{5c-Qo>!Zd6^PDvN{9Pb)0hwSTE1%n^Erq4pM z;QREvnSTeX%UbP+T6~|MTW1zyvs3r|oA(m$8n;nJkFcPB^^nCYyt_Zlnp=r|a=BJ& zSsmWp8$BLA$J$ODa(HDuzR#A}MRnNLc%hs_1HMnEM-^|e+sChsSoa$5nz!9cTd@P@ zj*N17gLn68oth5p;c@w=+~4BeUAJ`ASM2EMcGVq?_&!(q*8jxDj~;z)PZQoXHK}X< zVA+#q;}10BU9+sN=^r*4m)$s#~)fB@a~rM&q=^O zzNfNhatFRozjULk*cGPp{!kzBeGW7fq+{O|>^LC&gm;b4uvyvIt;QE63_s)D{cGC& zJnWy`iU5;Nyt{X8m{*7mp3*06_66VPj}wm`U`Jio3tR9N@0x9e7G>BA+)8=NZ+O>y z`CM6rrP2b9FaM5r_m*+XUtn(vvXpGQ@b2zd@S+|&C;9E^H9zouy6m!T!d6X^8@K)^ z-Zib48s1|a5{%Dp?#8>u`KjY4><29ut*t$HcQ+0+f5UpkMJ4R)#k+eAwXp{)p?-g| z_b+^(^|l}Sut#IQUiJNrca3fEmO+2;u2Ioo0CfzRN>^E0t0M6h(n!`HRgF+#^UJ6RFD{`zz6YwV@;@Cj>&i(s>d zc1tssrSlRu$cf)k$}cV^_W`@KYKs0`=3&XP?Htv+0l=J4OV_N(UdD#dLTbGa^mG}?5$$mm{}Sk@I7?b{yui@>=o+sG({jQ@%ha| z?9;o4E-V@^g3|}auB*U0m}F`%)e?br-~85R*p9q6Nh>CZAY-qW%PZ_I!{Pd?wM8(a zC;sCb?4TT@Yfd^Mc(}95qXm0Zw29j^Q3TfC`@em_j?FxIeaj>fG;I}leZgL4il%O# zECTn>t9pN6MX6tI?ba2+FV`TS-`Kl)>L&a3L=f11ec&&4(dC7O{`w+N+}Lz*h(H9j zI(y7Qu;<^&50Rxrus%Mqf&E+Qtuf62-{(=q##`91#aAxQm?DB@!%dy6p!rv0Mo!SZpYQ?ts!ymDmEaHEGL?@O=*YxwQtn;9eNN%2)&={3dkO zVQXgIy5TTg1hM^AyBe`h1@EUh&k(_6pZ&jDv7e2U@?A_saJ~2HzK__wxiHgXCce*I zFaLhUN=?~%Z-=P}%DaXf>c*bPIy-0YED@~QCX(vIYH*KB4}b_-I@g9u%of4bYds4C zu%26v4wp8=_bHfI5sK~mkbi9W91+~VvTW%wZ0M#BBS+2^fz>3x=O?kst)owknJ0q! zOV?J$U@xwlqpCh%1e>(#>*BC<OC7U26lFS8~Qd&?nCQ`cMseri*ju43oam&el! zMKC4{SZ+hjT#WB?Vbnpb+S5<%|n#)y9G{;9i{`PquV z?5CWPq@4(c-bknk#8z&fep<#J-zQ(aDhzA?)n%;wYJ8vRf9oT#?e3?}jdBn{8bv#v z!tVTdf4u4%5g1>!YmUYKbNO~j!%+k!lS4LK#D>4un5?rF-)CZWdlFV6PxzZ>^c#+T~PRviRB$HXBaq(phtb?_FU}khUX&V^&&VF>-Mt%Yi>6v*K`BE zPu1u>McA5J)_Cqle4nRE{*+?Z**M%@xJd-MNm~x*VOPW6VKpDkTD)KvCqDFri|Ssg6Irs_j6dst>>BXyG1aOnesIr`|(p*=EOZB$V^$c z;|g}S>n{VrUVNW=5#86YlI@dja^50%oOFBdb!@~2>*-T{M6g2VW8Y1z+Pi~yrtcF$ z^F60)A1YbBJj|hCs~X&c+*fk?*P8fvpa$wVGHetEwJzvLGaj%Lo2b1Urj4p z>L-FxXDY&Y$lL2u5Dp7Yo{UW;yN9TP!-L9=%P zc460^8IvPKppZ3UAQ}6@GwCjMTm)xXlY{Blb)C;<3s2ztyyiMM8~epgqGVbm-ZlDX zg7dIG9~g6!lX%x$c`&RHE4^uT`RphWJek;a&|&1ORna0C7?&JVk1eho%Xo_j!`n`GnoP{9&udIlOB|I$r*U{aN+XW#@Sj?XzxS9MU zwj6uFWxaz{I=;`ze>AGG!`>fnw9df0CP6p87JJ(HuCrYx-Zc|eOni;iZu<1zF-rs= z;tpMD#-^_s>$>5(2)xuY1?|}B4f8*{-oW=6`zGx(w$#?k(=!|I8kOO~F06HJe3w@a z-ZiI;vU{XTFaz&6dYLnprc1v~tFTa~25FS67FL?{!rV!sUDvq*`cxKnJc8v@ zitz5fRjhgwo4Uuo-uOPg&uQP!-o_eshpd@ZjCaiq&GGlK4|e1<&3%A(jd1a$huEdx z-mPC$f_Ha@_oNE!YY)ZtC8c9*n_zR#2z>J_$o^OjEgM|juhN@l#l z`nN@Ib9#(-O%f++!OCwa{jsqO?{4iiIUlew%|CW;DaZGDG0f--cGB7jf3`ir_o;EK z;0N~lYpVmhEAXy4``+|7*3^E##QsXWyT>Zs|BEeqc{RYl3h(aIFmK3Hyt`Mtln%kF zD{p-?tQz0vvms$eu*oORS|~ijyJo3KJ`y`s;c=z%bG&OR)*e5DEjrS(Y+McA-4;ic z&SNcQC%zc}0`Km}`KK>o>q3^zXrieylWneKA(o|I&{sEe}#9= z>^WLDu)Y%Y%~R{}?k?Pxa0@HzE3U-lO7ZUY;G8tlXGAAhcF#P^x$pIe8u_Eg>L z(1h=k%`k4nHhrGgx2_rQn$*{~Te0qLJAGZ=;oYq-3m>t++Aj|BXu-StvSIO8Y~aSq zz#XmlJ|}LR-;Gsl>66*}9`Bm?$j5)M=biM!547Q3GydLUiFUke-mV-Gfc<)|vr6g% z-rcJMPlRIkjZ?E8-huD4E=&0sRwmlKR`Dag&y|g5PGX}*@3tHB3GbR3Ikgz9*2#p| zYM=4$UN${04tq_pdhLWxyt}JhCM05wj{SW%`3t_!#itUlVjm2rH_>15t|_~(n}J<+ z*seqP4euKBZzH_{>QhTrk-F417~v95vHUroC3?w(_jRfz2#^lpdQ4}72Z_D(6m z`ui#LEcl6cjp^l^W!Mn|Cf=6ac-Is>pZ*jZ>*LnHya(@Y<3V>{U?=}N<7eB8cXuv3 zy8(NBSBa$KFMOX<93C`bO@DL+t^bX8&Go|z+OXx@w1&CWk%(t$lcR zr?pys$F^+Qr{L9(ceh|vbr06FBRSH00N-cwESr98|EAi}et+?QPhq>%bXrvg8$e!t zUQ#U9FJ`HW#t;LTXWOoK5j$MP_oKFy0aU+GzLtbN6P4vT%@Fslr1SDvJ`G)E4P$Aq(qhwvW3VVC9;%cNhl;slnN;!B$AMw zqLeIAL}-&Xzw3LRXXea#otbmyzw3NH@BhZLq!<>(E%6~Ng!&m~C_I2_Z1QtT%Lrv` zX)dpXjpyuwcCZq9LHDO>E!@u%_g8Z{q5RK8YZ~BSL{+Hn3PSUC?c3P`-I*qsjMxYz zb)io?;e04h)P8nCYt##MdSS%BU91)ygz8uKKYs%`gS}&IRubB)vdm~0X3S@(<%7i+b`~8T!aSSOX&LocY2Fo@m)+=OnB;y=v9L+FQz;*F8;&Q0x67G6S+I}hZ=KxHvsXLde97e<#$ zB*3S+*`K)h35~H=zLO013U_$$ttFIa=!i@@9LW4TD=0u{?xCc6S`p7{(iUV(WTBb$SK1mq7O9d;jD&5Zbd}?{OJS;~F}xB1EWN zm%nB;6iZ-drox0y8C`FvgZJ3gqIYj3G_bWxw-KtJcUi74LMXF7Lu)I1zAWW}u_&Pl zjnc;5&^)T1^S~xT1+^@@`{4V}v2rYOLeP93{3tP`?Cr+rM#)DTQ@Xvxl+L6tK z);$`r8i&y#L4rpm2sKjU9Q+K|{Latvk|eahVu$@Vm=*9s#9xX~r)@{a=ArZt#v8%X zgnqq$*<}G%9G8&{+k$<{J)2y-75kjEE{uXJiobcX$`IP+5hEK5Q>BH!a>x>TXtMl% zA{4o0Cff}I>d+(UFLy48U_)NBApKY&S z_rM3SUg>5#2n{h{IrJK8F3((Vtxo8&W`&`5usymZ`!FT+lD56WD70MiOVn9|P@$*s zA12_3aIu^2JF(B5k6dS<&mvQ)D+<^}Xv20suixv2@V^uy2T_0rqTCPK=tglkl1vp3ALpXH_t^VSuo&>}1 z{$b$JBUJa;#k$LoW2?j&0ewPWOg-M63Da(yEfqGvKHWYy=0Y)vh;w3l2>twVtw902 zpI^czZAfU)5#9D8NJR(Z<%|ej^4`y+6t-lutyVH7G|?{i#Y1SmK{aLjUhMN-r}<+z zn&Hf^X+r2NtA+lj&}(gShR!}hx4o9Kc@F=kKG|TnpU@{}7Q-FzEca~AK2z-TMU>-9 zxF$(Z?BD_H)1>rcKg{MdC^%$BsB_1#+YsCm7bxvuPUyEiE2qcc!xj0(E(Zw>eZJj$ z5^A06A)Xf4r>@)gS=hCdvCPL3`)o)Jn1ePETUCOr2o>Gc@cR$^#Asc8%9_x-wO>y% z9wO8~^c;}Cw_ zVM1^C(LHI~p&Dh{9gw8tcwXK3>n?4GuyI`NACr4_bX6~Bn zyIcunwZDDj8SD_!6xVYjGn7R{M*e^fR3w^FU zziZ)veI7h~{4HeQotL-uB=p(KxF5qX_R^+u$76)<+g}~{5%O{ES9S9u^j+t~pDB1f z{`8|`-h{dt@rHhdvg}0~e#f!TmfcMAusY^V{RtmJ&*&YG{0H@xvFe=mC3I!uwPlO_ z2z?p3?Rg|j-`#e8nLnY27dslBhvH9ub8rM;pQjT$6X1Qi`Qqw8LQgEz>`#Fjj}CD2 z2NAk7WU4nEwyK`Fy#55C7k}|vX2XLOcLhX)30)tcGmsBQ72jn_gkYcFeeLc*ulp-D z%A6!r>3Gij68KM6B~RfLq4hHzPUY}ik<(_?P(qD8{!LUvZs|+6>1jgWe3JBd0<#P1 zwrYi8pDqVy8{ro5nG*eQLcfni`n18y>+2Nvo+0$K!~MB#sJ&6Y;y?tUY{NrAuVDAJ z05z*fLND8J{2PEaf_XJ|QP}5OwbSq6WLo!5r)WY;EL;~)zyQ8Q4M)!sx}z^8Y8oz1 z*`n)xj?iY)r>x&${A#Nf{}}AE`%COED3Ey8DC9i$X}p1xA(qga9A#Z$(6en%67vN@ z6=L6;M#JCwCwP{}5n9W->QyX^YPxY{WjvvKqSdV~LN4u>>$nrJPiFUbsW7viDQj&a zx+eU};j2(;r>uz3MRW~A<7f^nuQ`;zDT&aNC%-%2guAw%myo)Ief|-iEQB2oEAGf9 zW1oS>p7)`((g&GsDd?KHkS`T*yma+_wN!MC&n@2?=u38P+j*H#)h~TN>*1oio)5LJ zV4t2#f}3INmW=It(y-4dvd|9sZ#O?SNk`YX+J(J#&>)0o^gY_BM*7HknX&$=fV#45A zXkj9ry&@l7!&ze=2glk?MOWP*^!A0xu_WldC;SG_P3&_8zv~tFuen%qT>@A$ zR_;iuR4PK({FMl)ggRBVJ9ZSKYfhLm)WRO+=~~UZgkJd>5#9i8%LI1omJqth@7|IY zI4Q5!Xm}6%{5p8H69$y{>+iphuJK}L>xIlR*V_)3qH8{@#=n6Hce?i4JRsEUs0-IH zTqnu!!l8`Nk@4i@5Afy-?d?9-{9Zwe}Gvh4S)K-avVP5%Pxa-t9UK1A0XUcccd zG!%L;6jX`s9yG}L3twLyaR{wKcUuQ-VyebI1vo!OK&k%xn=FseHJ5j|#lQ;l7gFps z=o+4*pX1@~myE?+kI~(iE_)@z&V4e3uNK|C>e;t6Xx(Z3K(G$`jQ{4J1;-6zltrGP zYuJQ;=Rv=g@~X}C=$aU#leZzG-kAEG}zsQuK6d&-Uw@|o7(l7(cQte39V3Hbcl=jT^0KVg$fkL{kqUK&MgJ=@Q#@M(co@$_t?Dj z0#v>pKYh9f-EA*+ckv5!x9}tHC>S%eU!L_P_Id5o_w$g)CajF37hSWCFEA12z9~{! z(}%7})B2MFWh~xS^S?rO^ZK01fK|P$8XI0?pUGK_IZ($`sa~`n`&``~aRa{Sa@3Z5 zgRV*V!%_(Cj4w9JyhYb=NSwb1r&=HHQ5-;bpEu*EfPwm-J5=9cpR5syk05gszBoUK zeMXh6sfUSLy1iOM=o;q1)Fvoc?`L5!jP4F&6KID88o6)xj-b04R5N>^Voj&5*?a6W z#98sboXYrztM2w!=jqypRv!p)X)pi&vENc&S~sZq=6|3GL2Y0<(@&;WPOdi4C8Fi z=?KiCyVnb`X2P`tWzU7apu5uzV{>7?<*1?9SNsp^FJfHHw3^}n4j~4&p|MT|$FV?TedZ Date: Fri, 15 Sep 2023 12:37:23 +0200 Subject: [PATCH 09/43] renamed space charge neutralisation to space charge --- xtrack/beam_elements/elements.py | 22 +++++++++---------- .../elements_src/electroncooler.h | 8 +++---- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 5296d689b..964416a6c 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2505,13 +2505,13 @@ class ElectronCooler(BeamElement): The current in the electron beam, in amperes. length : float, optional The length of the electron cooler, in meters. - r_beam : float, optional + radius_e_beam : float, optional The radius of the electron beam, in meters. - T_perp : float, optional + temp_perp : float, optional The transverse temperature of the electron beam, in electron volts. T_l : float, optional The longitudinal temperature of the electron beam, in electron volts. - B : float, optional + magnetic_field : float, optional The magnetic field strength, in tesla. offset_x : float, optional The horizontal offset of the electron cooler, in meters. @@ -2523,15 +2523,14 @@ class ElectronCooler(BeamElement): The vertical angle of the electron cooler, in rad. offset_energy : float, optional The energy offset of the electrons, in eV. - B_ratio : float, optional + magnetic_field_ratio : float, optional The ratio of perpendicular component of magnetic field with the longitudinal component of the magnetic field. This is a measure of the magnetic field quality. With the ideal magnetic field quality being 0. - Neutralisation_space_charge : float, optional + space_charge : float, optional Whether space charge of electron beam is enabled. 0 is off and 1 is on. - Neutralisation_rotation : float, optional - Whether rotation of electron beam is enabled. 0 is off and 1 is on. + """ _xofields = { @@ -2548,9 +2547,8 @@ class ElectronCooler(BeamElement): 'offset_py' : xo.Float64, 'offset_energy' : xo.Float64, - 'magnetic_field_ratio' : xo.Float64, - 'neutralisation_space_charge': xo.Float64, - 'neutralisation_rotation' : xo.Float64 + 'magnetic_field_ratio' : xo.Float64, + 'space_charge' : xo.Float64 } _extra_c_sources = [ @@ -2571,7 +2569,7 @@ def __init__(self, current = 0, offset_energy = 0, magnetic_field_ratio = 0, - neutralisation_space_charge = 0, + space_charge = 0, **kwargs): if "_xobject" in kwargs: @@ -2593,7 +2591,7 @@ def __init__(self, current = 0, self.offset_energy = offset_energy self.magnetic_field_ratio = magnetic_field_ratio - self.neutralisation_space_charge = neutralisation_space_charge + self.space_charge = space_charge def get_backtrack_element(self, _context=None, _buffer=None, _offset=None): raise NotImplementedError diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 47a74562b..a43c5e623 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -25,7 +25,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double offset_energy = ElectronCoolerData_get_offset_energy(el); double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); - double neutralisation_space_charge = ElectronCoolerData_get_neutralisation_space_charge(el); + double space_charge = ElectronCoolerData_get_space_charge(el); double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV @@ -85,12 +85,12 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double beta2 = sqrt(1 - 1/(gamma*gamma)); double beta_diff = beta2 - beta0; - double Vi = delta*machine_v - neutralisation_space_charge*C_LIGHT*beta_diff; + double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff; double dVx = px*machine_v; double dVy = py*machine_v; - dVx += neutralisation_space_charge*omega *radius* -sin(theta); - dVy += neutralisation_space_charge*omega *radius* +cos(theta); + dVx += space_charge*omega *radius* -sin(theta); + dVy += space_charge*omega *radius* +cos(theta); double Vi_abs = sqrt(dVx*dVx+dVy*dVy+Vi*Vi); double rhomin = Z*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(Vi_abs*Vi_abs + Vs*Vs); From 2bad4c3d8e05302e4511297f949393307683f019 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 5 Oct 2023 16:15:48 +0200 Subject: [PATCH 10/43] replace neutralisation_space_charge with space_charge in ducktrack --- ducktrack/elements.py | 6 +++--- tests/test_elements.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 69698b70d..af5cd977d 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -839,7 +839,7 @@ class ElectronCooler(Element): ("offset_py","","",0.0), ("offset_energy","","",0.0), ("magnetic_field_ratio","","",0.0), - ("neutralisation_space_charge","","",0.0), + ("space_charge","","",0.0), ("re","","",physical_constants['classical electron radius'][0]), ("me","","",me_kg), @@ -920,10 +920,10 @@ def force(self, p): Fl = np.zeros_like(delta) #compute angular frequency space charge - self.omega = self.neutralisation_space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) + self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. - Vi = delta*machine_v - self.neutralisation_space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) + Vi = delta*machine_v - self.space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) # Warning: should gamma_0/gamma to be correct dVx = px*machine_v diff --git a/tests/test_elements.py b/tests/test_elements.py index a7dee05c7..281fc2cb5 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1599,7 +1599,7 @@ def test_ecooler(test_context): dtk_cooler = dtk.elements.ElectronCooler( current=current, length=cooler_length, radius_e_beam=radius_e_beam, temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, - neutralisation_space_charge=0) + space_charge=0) force, Fy, Fl = dtk_cooler.force(dtk_particle) From 2e20d816e4f080dbd623f261e67c4a3feb6e6da4 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 5 Oct 2023 16:29:07 +0200 Subject: [PATCH 11/43] replace neutralisation_space_charge by space charge in example --- examples/electron_cooler/Electron_cooler_IPAC2023_results.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/electron_cooler/Electron_cooler_IPAC2023_results.py b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py index 642cf218f..14435def2 100644 --- a/examples/electron_cooler/Electron_cooler_IPAC2023_results.py +++ b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py @@ -74,7 +74,7 @@ electron_cooler = xt.ElectronCooler(current=current,length=length,radius_e_beam=radius_e_beam, temp_perp=temp_perp,temp_long=temp_long, magnetic_field=magnetic_field,magnetic_field_ratio=magnetic_field_ratio, - neutralisation_space_charge=0,neutralisation_rotation=0) + space_charge=0) num_turns = int(1*1e7) save_interval = 1000 From bac38fccc31fc0b9e6e1b2ef650b64625d648f56 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 9 Feb 2024 10:12:59 +0100 Subject: [PATCH 12/43] Update sign of electron beam rotation --- .../elements_src/electroncooler.h | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index a43c5e623..3d543d2e4 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -3,6 +3,7 @@ // Copyright (c) CERN, 2021. // // ######################################### // #define POW2(X) ((X)*(X)) +#define POW3(X) ((X)*(X)*(X)) #define POW4(X) ((X)*(X)*(X)*(X)) #define POW1_5(X) ((X)*sqrt(X)) #ifndef XTRACK_ELECTRONCOOLER_H @@ -71,26 +72,26 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double Fx = 0.0; // initialize Fx to 0 by default double Fy = 0.0; // initialize Fy to 0 by default double Fl = 0.0; // initialize Fl to 0 by default - + if (radius < radius_e_beam) { //radial_velocity_dependence due to space charge //equation 100b in Helmut Poth: Electron cooling. page 186 - double A = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); - double dE_E = (A * current / (beta0 * beta0 * beta0)) * POW2((radius / radius_e_beam)); - double E = (gamma0 - 1) * mass_electron_ev + offset_energy; - double E_diff = dE_E * E; - double E_tot = E + E_diff; + double space_charge_coefficient = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); //used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); + double Energy = (gamma0 - 1) * mass_electron_ev + offset_energy; + double E_diff = dE_E * Energy; + double E_tot = Energy + E_diff; double gamma = 1 + (E_tot/mass_electron_ev); double beta2 = sqrt(1 - 1/(gamma*gamma)); double beta_diff = beta2 - beta0; - + double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff; double dVx = px*machine_v; double dVy = py*machine_v; - - dVx += space_charge*omega *radius* -sin(theta); - dVy += space_charge*omega *radius* +cos(theta); + + dVx -= space_charge*omega *radius* -sin(theta); //correct sign for rotation? in betacool it is positive. + dVy -= space_charge*omega *radius* +cos(theta); double Vi_abs = sqrt(dVx*dVx+dVy*dVy+Vi*Vi); double rhomin = Z*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(Vi_abs*Vi_abs + Vs*Vs); From b9a6d1abdf7d11574607a5391c229cb2bd603c64 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 16 May 2024 13:35:52 +0200 Subject: [PATCH 13/43] update implementation of offset_energy in ducktrack --- ducktrack/elements.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 3e8ea8dfb..17c7a2cac 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -879,13 +879,20 @@ def radial_velocity_dependence(self,gamma,r,current,beta0,radius_e_beam): beta2=self.kinetic_energy_to_beta(E_tot, self.me_ev) beta_diff = beta2-beta0 return beta_diff + + def velocity_energy_offset_dependence(self,beta0,offset_energy): + E_tot_oe = E = self.beta_to_kinetic_energy(beta0, self.me_ev)+ offset_energy; + gamma_oe = 1 + (E_tot_oe/self.me_ev) + beta_oe = np.sqrt(1 - 1/(gamma_oe*gamma_oe)) + beta_diff_oe = beta_oe - beta0 + return beta_diff_oe def force(self, p): x = p.x - self.offset_x px = p.px - self.offset_px y = p.y - self.offset_y py = p.py - self.offset_py - delta = p.delta - self.offset_energy + delta = p.delta if np.isscalar(p.x): x = np.array([x]) @@ -925,8 +932,9 @@ def force(self, p): self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. - Vi = delta*machine_v - self.space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) - + Vi = delta*machine_v + Vi -= self.space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) + Vi -= clight*self.velocity_energy_offset_dependence(beta0=beta0,offset_energy=self.offset_energy) # Warning: should gamma_0/gamma to be correct dVx = px*machine_v dVy = py*machine_v From 897c5f92a155bb60c5dbd26b1086723dbee53600 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 16 May 2024 13:36:15 +0200 Subject: [PATCH 14/43] Fix typo in docstring --- xtrack/beam_elements/elements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 4f0ef3410..f05ff9aa2 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2147,7 +2147,7 @@ class ElectronCooler(BeamElement): The radius of the electron beam, in meters. temp_perp : float, optional The transverse temperature of the electron beam, in electron volts. - T_l : float, optional + temp_long : float, optional The longitudinal temperature of the electron beam, in electron volts. magnetic_field : float, optional The magnetic field strength, in tesla. From 4d0981f7ca2b2c03fccad2fd00f557ac44216724 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 16 May 2024 13:40:03 +0200 Subject: [PATCH 15/43] update implementation of offset_energy in c code --- .../elements_src/electroncooler.h | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 3d543d2e4..42f1ac81b 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -23,13 +23,11 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double offset_px = ElectronCoolerData_get_offset_px(el); double offset_y = ElectronCoolerData_get_offset_y(el); double offset_py = ElectronCoolerData_get_offset_py(el); - double offset_energy = ElectronCoolerData_get_offset_energy(el); + double offset_energy = ElectronCoolerData_get_offset_energy(el); //eV double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); double space_charge = ElectronCoolerData_get_space_charge(el); - - double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV - + double p0c = LocalParticle_get_p0c(part0); // eV double Z = LocalParticle_get_q0(part0); // eV double beta0 = LocalParticle_get_beta0(part0); // eV/c^2 @@ -37,6 +35,9 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double V_ele = beta0; + double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV + double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV + // compute electron density double V = PI * POW2(radius_e_beam) * length; // m3 double ne_per_s = current / QELEM; // number of electrons per second @@ -64,7 +65,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double px = LocalParticle_get_px(part) - offset_px; double y = LocalParticle_get_y(part) - offset_y ; double py = LocalParticle_get_py(part) - offset_py; - double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented in electron space charge + double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented when longitudinal velocity is computed double theta = atan2(y , x); double radius = hypot(x,y); @@ -79,18 +80,23 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p //equation 100b in Helmut Poth: Electron cooling. page 186 double space_charge_coefficient = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); //used for computation of the space charge energy offset double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); - double Energy = (gamma0 - 1) * mass_electron_ev + offset_energy; - double E_diff = dE_E * Energy; - double E_tot = Energy + E_diff; - double gamma = 1 + (E_tot/mass_electron_ev); - double beta2 = sqrt(1 - 1/(gamma*gamma)); - double beta_diff = beta2 - beta0; + double E_diff_sc = dE_E * energy_electron_initial; + double E_tot_sc = energy_electron_initial + E_diff_sc; + double gamma_sc = 1 + (E_tot_sc/mass_electron_ev); + double beta_sc = sqrt(1 - 1/(gamma_sc*gamma_sc)); + double beta_diff_sc = beta_sc - beta0; + + //velocity difference due to energy offset of the electron cooler in eV + double E_tot_oe = energy_electron_initial + offset_energy; + double gamma_oe = 1 + (E_tot_oe/mass_electron_ev); + double beta_oe = sqrt(1 - 1/(gamma_oe*gamma_oe)); + double beta_diff_oe = beta_oe - beta0; - double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff; + double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; double dVx = px*machine_v; double dVy = py*machine_v; - dVx -= space_charge*omega *radius* -sin(theta); //correct sign for rotation? in betacool it is positive. + dVx -= space_charge*omega *radius* -sin(theta); dVy -= space_charge*omega *radius* +cos(theta); double Vi_abs = sqrt(dVx*dVx+dVy*dVy+Vi*Vi); From c7d8783eff3935f65bf8b6d88b8808f914a0f97b Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 9 Aug 2024 10:13:24 +0200 Subject: [PATCH 16/43] replace arctan by arctan2 in ducktrack --- ducktrack/elements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 0c3b770e4..a655d99bb 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -922,7 +922,7 @@ def force(self, p): if np.isscalar(p.delta): delta = np.array([delta]) - theta = np.arctan(y/x) + theta = np.arctan2(y, x) radius = np.hypot(x,y) beta0=p.beta0 gamma0=p.gamma0 From 9a981db56dcd6c11fd5fbdea93eb6fde00144cce Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 13 Aug 2024 15:57:35 +0200 Subject: [PATCH 17/43] fix electron mass bug in ducktrack --- ducktrack/elements.py | 94 +++++++++---------- .../elements_src/electroncooler.h | 8 ++ 2 files changed, 54 insertions(+), 48 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index a655d99bb..60bd1d5e6 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -861,8 +861,7 @@ class ElectronCooler(Element): ("space_charge","","",0.0), ("re","","",physical_constants['classical electron radius'][0]), - ("me","","",me_kg), - ("me_ev","","",me), + ("me_kg","","",me_kg), ] def compute_electron_density(self,p): @@ -872,38 +871,8 @@ def compute_electron_density(self,p): time_in_cooler=self.length/(p.gamma0*V_ele*clight) # time spent in the cylinder electron_density = ne_per_s*time_in_cooler/V # density of electrons return electron_density - - def beta_to_kinetic_energy(self,beta, M_0_eV_c2): - rest_mass_energy_eV = M_0_eV_c2 - gamma = 1/np.sqrt(1-beta**2) - E_eV = (gamma -1)*rest_mass_energy_eV - return E_eV - - def kinetic_energy_to_beta(self,E_eV, M_0_eV_c2): - - rest_mass_energy_eV = M_0_eV_c2 - gamma = 1 + (E_eV/rest_mass_energy_eV) - beta = np.sqrt(1 - 1/gamma**2) - return beta - - def radial_velocity_dependence(self,gamma,r,current,beta0,radius_e_beam): - #equation 100b in Helmut Poth: Electron cooling. page 186 - A=self.re/(qe*clight)*(gamma+1)/(gamma*gamma) - dE_E = (A*current/(beta0**3))*(r/radius_e_beam)**2 - E = self.beta_to_kinetic_energy(beta0, self.me_ev)# + Pb_m0_MeV_c2 #Mev/c^2 - E_diff = dE_E*E - E_tot = E + E_diff - beta2=self.kinetic_energy_to_beta(E_tot, self.me_ev) - beta_diff = beta2-beta0 - return beta_diff - def velocity_energy_offset_dependence(self,beta0,offset_energy): - E_tot_oe = E = self.beta_to_kinetic_energy(beta0, self.me_ev)+ offset_energy; - gamma_oe = 1 + (E_tot_oe/self.me_ev) - beta_oe = np.sqrt(1 - 1/(gamma_oe*gamma_oe)) - beta_diff_oe = beta_oe - beta0 - return beta_diff_oe - + def force(self, p): x = p.x - self.offset_x px = p.px - self.offset_px @@ -928,36 +897,63 @@ def force(self, p): gamma0=p.gamma0 q0=p.q0 p0c=p.p0c + + me_kg = self.me_kg self.ne = self.compute_electron_density(p) machine_v=beta0*clight self.tau = self.length/(machine_v*gamma0) - Ve_perp = 1/gamma0*(qe*self.temp_perp/self.me)**(1./2) # transverse electron rms velocity - Ve_l = 1/gamma0*(qe*self.temp_long/self.me)**(1./2) # longitudinal electron rms velocity - self.rhoL = self.me*Ve_perp/qe/self.magnetic_field # depends on transverse temperature, larmor radius + Ve_perp = 1/gamma0*(qe*self.temp_perp/me_kg)**(1./2) # transverse electron rms velocity + Ve_l = 1/gamma0*(qe*self.temp_long/me_kg)**(1./2) # longitudinal electron rms velocity + self.rhoL = me_kg*Ve_perp/qe/self.magnetic_field # depends on transverse temperature, larmor radius self.ome = clight*np.sqrt(4*np.pi*self.ne*self.re) # electron plasma frequency self.Ve_magnet = beta0*gamma0*clight*(self.magnetic_field_ratio) # component due to magnetic field imperfections self.Veff =np.sqrt(Ve_l**2 + self.Ve_magnet**2 ) self.Vs = Ve_l + #coefficient used for computation of friction force compute angular frequency space charge + friction_coefficient =-4*self.ne*me_kg*q0**2*self.re**2*clight**4 + self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) + mass_electron_ev = me_kg * clight**2 / qe #eV + energy_electron_initial = (gamma0 - 1) * mass_electron_ev#eV + Fx = np.zeros_like(x) Fy = np.zeros_like(y) - Fl = np.zeros_like(delta) - - #compute angular frequency space charge - self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) + Fl = np.zeros_like(delta) + + #radial_velocity_dependence due to space charge + #equation 100b in Helmut Poth: Electron cooling. page 186 + space_charge_coefficient = self.re / (qe * clight) * (gamma0 + 1) / (gamma0 * gamma0);# //used for computation of the space charge energy offset + dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta0)**3 + E_diff_sc = dE_E * energy_electron_initial; + E_tot_sc = energy_electron_initial + E_diff_sc; + gamma_sc = 1 + (E_tot_sc/mass_electron_ev) + beta_sc = np.sqrt(1 - 1/(gamma_sc*gamma_sc)) + beta_diff_sc = beta_sc - beta0 + + #velocity difference due to energy offset of the electron cooler in eV + E_tot_oe = energy_electron_initial + self.offset_energy; + gamma_oe = 1 + (E_tot_oe/mass_electron_ev) + beta_oe = np.sqrt(1 - 1/(gamma_oe*gamma_oe)) + beta_diff_oe = beta_oe - beta0 # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. - Vi = delta*machine_v - Vi -= self.space_charge*clight*self.radial_velocity_dependence(gamma=gamma0, r=radius, current=self.current, beta0=beta0, radius_e_beam=self.radius_e_beam) - Vi -= clight*self.velocity_energy_offset_dependence(beta0=beta0,offset_energy=self.offset_energy) + Vi = delta*machine_v - self.space_charge*clight*beta_diff_sc - clight*beta_diff_oe + # print(f'Vi:',Vi) + # print(f'beta_diff_oe:',beta_diff_oe) + # print(f'beta_oe:',beta_oe) + # print(f'E_tot_oe:',E_tot_oe) + # print(f'me_kg:',me_kg) + # print(f'me_ev:',mass_electron_ev) + # print(f'energy_electron_initial:',energy_electron_initial) + # print(f'gamma0:',gamma0) # Warning: should gamma_0/gamma to be correct dVx = px*machine_v dVy = py*machine_v - dVx += self.omega *radius* -np.sin(theta) - dVy += self.omega *radius* +np.cos(theta) + dVx -= self.space_charge*self.omega *radius* -np.sin(theta) + dVy -= self.space_charge*self.omega *radius* +np.cos(theta) Vi_abs = np.sqrt(dVx**2+dVy**2+Vi**2) @@ -965,9 +961,11 @@ def force(self, p): rhomax = np.sqrt(Vi_abs**2 + self.Vs**2)/(self.ome + 1/self.tau) logterm = np.log((rhomax+rhomin+self.rhoL)/(rhomin+self.rhoL)) - Fx = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * dVx/(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton - Fy = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * dVy/(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton - Fl = (-4*self.ne*self.me*q0**2*self.re**2*clight**4 * Vi /(Vi_abs**2 + self.Veff**2)**1.5 * logterm) #Newton + friction_denominator = (Vi_abs**2 + self.Veff**2)**1.5 #coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * logterm) #Newton + Fy = (friction_coefficient * dVy/friction_denominator * logterm) #Newton + Fl = (friction_coefficient * Vi/friction_denominator * logterm) #Newton #if particle is outside electron beam, set cooling force to zero outside_beam_indices = radius >= self.radius_e_beam Fx[outside_beam_indices] = 0.0 diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 42f1ac81b..4b4eea8ae 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -93,6 +93,14 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double beta_diff_oe = beta_oe - beta0; double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; + // printf("Vi: %g\n", Vi); + // printf("beta_diff_oe: %g\n", beta_diff_oe); + // printf("beta_oe: %g\n", beta_oe); + // printf("E_tot_oe: %g\n", E_tot_oe); + // printf("MASS_ELECTRON: %g\n", MASS_ELECTRON); + // printf("mass_electron_ev: %g\n", mass_electron_ev); + // printf("energy_electron_initial: %g\n", energy_electron_initial); + // printf("gamma0: %g\n", gamma0); double dVx = px*machine_v; double dVy = py*machine_v; From 93f6bfba3555b3315079f51098c9139d89b29b05 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 13 Dec 2024 13:06:08 +0100 Subject: [PATCH 18/43] update test_elements.py --- tests/test_elements.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index b0a07aedd..82e18c6f4 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -42,7 +42,6 @@ def test_constructor(test_context): sampling_frequency=1e3), xt.Bend(_context=test_context, length=1.), xt.Quadrupole(_context=test_context, length=1.), - xt.CombinedFunctionMagnet(_context=test_context, length=1.), xt.ElectronCooler(_context=test_context,current=2.4,length=1.5,radius_e_beam=25*1e-3, temp_perp=0.01,temp_long=0.001,magnetic_field=0.060) ] @@ -1143,7 +1142,6 @@ def test_multipole_tilt_90_deg(test_context): pf.move(_context=xo.context_default) pfy.move(_context=xo.context_default) -<<<<<<< HEAD assert np.allclose(pf.x, pfy.x, rtol=0, atol=1e-14) assert np.allclose(pf.y, pfy.y, rtol=0, atol=1e-14) assert np.allclose(pf.px, pfy.px, rtol=0, atol=1e-14) @@ -1297,11 +1295,3 @@ def test_ecooler(test_context): assert mse_emittance <1e-9 assert mse_force < 2 -======= - xo.assert_allclose(pf.x, pfy.x, rtol=0, atol=1e-14) - xo.assert_allclose(pf.y, pfy.y, rtol=0, atol=1e-14) - xo.assert_allclose(pf.px, pfy.px, rtol=0, atol=1e-14) - xo.assert_allclose(pf.py, pfy.py, rtol=0, atol=1e-14) - xo.assert_allclose(pf.zeta, pfy.zeta, rtol=0, atol=1e-14) - xo.assert_allclose(pf.ptau, pfy.ptau, rtol=0, atol=1e-14) ->>>>>>> upstream/main From e14401c8546fd370faa10ccf8919250d8a794e13 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 13 Dec 2024 17:18:07 +0100 Subject: [PATCH 19/43] improvement to e-beam space charge --- ducktrack/elements.py | 45 +++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 60bd1d5e6..f50e5689a 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -910,7 +910,7 @@ def force(self, p): self.ome = clight*np.sqrt(4*np.pi*self.ne*self.re) # electron plasma frequency self.Ve_magnet = beta0*gamma0*clight*(self.magnetic_field_ratio) # component due to magnetic field imperfections self.Veff =np.sqrt(Ve_l**2 + self.Ve_magnet**2 ) - self.Vs = Ve_l + #self.Vs = Ve_l #coefficient used for computation of friction force compute angular frequency space charge friction_coefficient =-4*self.ne*me_kg*q0**2*self.re**2*clight**4 @@ -918,36 +918,31 @@ def force(self, p): mass_electron_ev = me_kg * clight**2 / qe #eV energy_electron_initial = (gamma0 - 1) * mass_electron_ev#eV + # Updated gamma and beta factors including offset energy + E_tot = energy_electron_initial + self.offset_energy + gamma_total = 1 + (E_tot / mass_electron_ev) + beta_total = np.sqrt(1 - 1 / (gamma_total**2)) + # Electron velocity (v_electrons) based on updated beta + v_electrons = beta_total * clight # Velocity of electrons in m/s + Fx = np.zeros_like(x) Fy = np.zeros_like(y) Fl = np.zeros_like(delta) - #radial_velocity_dependence due to space charge #equation 100b in Helmut Poth: Electron cooling. page 186 - space_charge_coefficient = self.re / (qe * clight) * (gamma0 + 1) / (gamma0 * gamma0);# //used for computation of the space charge energy offset - dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta0)**3 - E_diff_sc = dE_E * energy_electron_initial; - E_tot_sc = energy_electron_initial + E_diff_sc; - gamma_sc = 1 + (E_tot_sc/mass_electron_ev) - beta_sc = np.sqrt(1 - 1/(gamma_sc*gamma_sc)) - beta_diff_sc = beta_sc - beta0 - - #velocity difference due to energy offset of the electron cooler in eV - E_tot_oe = energy_electron_initial + self.offset_energy; - gamma_oe = 1 + (E_tot_oe/mass_electron_ev) - beta_oe = np.sqrt(1 - 1/(gamma_oe*gamma_oe)) - beta_diff_oe = beta_oe - beta0 - + # Radial velocity dependence due to space charge + space_charge_coefficient = self.re / (qe * clight) * (gamma_total + 1) / (gamma_total**2) + dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta_total**3) + E_diff_sc = dE_E * E_tot # Space charge effect on total energy + + E_tot_final = E_tot + E_diff_sc + gamma_final = 1 + (E_tot_final / mass_electron_ev) + beta_final = np.sqrt(1 - 1 / (gamma_final**2)) + v_electrons_final = beta_final * clight # Final velocity of electrons + # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. - Vi = delta*machine_v - self.space_charge*clight*beta_diff_sc - clight*beta_diff_oe - # print(f'Vi:',Vi) - # print(f'beta_diff_oe:',beta_diff_oe) - # print(f'beta_oe:',beta_oe) - # print(f'E_tot_oe:',E_tot_oe) - # print(f'me_kg:',me_kg) - # print(f'me_ev:',mass_electron_ev) - # print(f'energy_electron_initial:',energy_electron_initial) - # print(f'gamma0:',gamma0) + Vi = delta * machine_v - v_electrons_final + # Warning: should gamma_0/gamma to be correct dVx = px*machine_v dVy = py*machine_v From 38627eca245ddeb644c9e5059ad71b0938d1f697 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 13 Dec 2024 17:37:09 +0100 Subject: [PATCH 20/43] improve space charge in c implementation --- .../elements_src/electroncooler.h | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 4b4eea8ae..d7b596a4c 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -37,6 +37,12 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV + double E_tot = energy_electron_initial + offset_energy; //eV + + double gamma_total = 1 + (E_tot / mass_electron_ev); + double beta_total = np.sqrt(1 - 1 / (gamma_total**2)); + // Electron velocity (v_electrons) based on updated beta + double v_electrons = beta_total * clight; // Velocity of electrons in m/s // compute electron density double V = PI * POW2(radius_e_beam) * length; // m3 @@ -78,29 +84,20 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p //radial_velocity_dependence due to space charge //equation 100b in Helmut Poth: Electron cooling. page 186 - double space_charge_coefficient = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); //used for computation of the space charge energy offset - double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); - double E_diff_sc = dE_E * energy_electron_initial; - double E_tot_sc = energy_electron_initial + E_diff_sc; - double gamma_sc = 1 + (E_tot_sc/mass_electron_ev); - double beta_sc = sqrt(1 - 1/(gamma_sc*gamma_sc)); - double beta_diff_sc = beta_sc - beta0; - - //velocity difference due to energy offset of the electron cooler in eV - double E_tot_oe = energy_electron_initial + offset_energy; - double gamma_oe = 1 + (E_tot_oe/mass_electron_ev); - double beta_oe = sqrt(1 - 1/(gamma_oe*gamma_oe)); - double beta_diff_oe = beta_oe - beta0; - - double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; - // printf("Vi: %g\n", Vi); - // printf("beta_diff_oe: %g\n", beta_diff_oe); - // printf("beta_oe: %g\n", beta_oe); - // printf("E_tot_oe: %g\n", E_tot_oe); - // printf("MASS_ELECTRON: %g\n", MASS_ELECTRON); - // printf("mass_electron_ev: %g\n", mass_electron_ev); - // printf("energy_electron_initial: %g\n", energy_electron_initial); - // printf("gamma0: %g\n", gamma0); + double space_charge_coefficient = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma_total + 1) / (gamma_total * gamma_total); //used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta_total); + double E_diff_sc = dE_E * E_tot; + // double E_tot_sc = energy_electron_initial + E_diff_sc; + // double gamma_sc = 1 + (E_tot_sc/mass_electron_ev); + // double beta_sc = sqrt(1 - 1/(gamma_sc*gamma_sc)); + // double beta_diff_sc = beta_sc - beta0; + + double E_tot_final = E_tot + E_diff_sc; + double gamma_final = 1 + (E_tot_final / mass_electron_ev); + double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); + double v_electrons_final = beta_final * clight; // # Final velocity of electrons + + double Vi = delta*machine_v - v_electrons_final; double dVx = px*machine_v; double dVy = py*machine_v; From a4ec8c5ae16a2288923a793495325b9ff991525c Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 13 Dec 2024 17:55:33 +0100 Subject: [PATCH 21/43] bug fixes in ducktrack and c implementaiton --- ducktrack/elements.py | 2 +- xtrack/beam_elements/elements_src/electroncooler.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index f50e5689a..9f63f3413 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -910,7 +910,7 @@ def force(self, p): self.ome = clight*np.sqrt(4*np.pi*self.ne*self.re) # electron plasma frequency self.Ve_magnet = beta0*gamma0*clight*(self.magnetic_field_ratio) # component due to magnetic field imperfections self.Veff =np.sqrt(Ve_l**2 + self.Ve_magnet**2 ) - #self.Vs = Ve_l + self.Vs = Ve_l #coefficient used for computation of friction force compute angular frequency space charge friction_coefficient =-4*self.ne*me_kg*q0**2*self.re**2*clight**4 diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index d7b596a4c..339515997 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -40,9 +40,9 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double E_tot = energy_electron_initial + offset_energy; //eV double gamma_total = 1 + (E_tot / mass_electron_ev); - double beta_total = np.sqrt(1 - 1 / (gamma_total**2)); + double beta_total = sqrt(1 - 1 / (gamma_total*gamma_total)); // Electron velocity (v_electrons) based on updated beta - double v_electrons = beta_total * clight; // Velocity of electrons in m/s + //double v_electrons = beta_total * C_LIGHT; // Velocity of electrons in m/s // compute electron density double V = PI * POW2(radius_e_beam) * length; // m3 @@ -95,7 +95,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double E_tot_final = E_tot + E_diff_sc; double gamma_final = 1 + (E_tot_final / mass_electron_ev); double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); - double v_electrons_final = beta_final * clight; // # Final velocity of electrons + double v_electrons_final = beta_final * C_LIGHT; // # Final velocity of electrons double Vi = delta*machine_v - v_electrons_final; double dVx = px*machine_v; From e243a17bdcc8a5d45ed6c59767480adf9596dd8e Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 09:38:00 +0100 Subject: [PATCH 22/43] imporve longitudinal velocity computation of ecooler --- ducktrack/elements.py | 38 ++++++------- .../elements_src/electroncooler.h | 54 +++++++++++++------ 2 files changed, 57 insertions(+), 35 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 9f63f3413..f24672ebd 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -894,6 +894,7 @@ def force(self, p): theta = np.arctan2(y, x) radius = np.hypot(x,y) beta0=p.beta0 + beta=p.beta gamma0=p.gamma0 q0=p.q0 p0c=p.p0c @@ -916,33 +917,34 @@ def force(self, p): friction_coefficient =-4*self.ne*me_kg*q0**2*self.re**2*clight**4 self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) mass_electron_ev = me_kg * clight**2 / qe #eV - energy_electron_initial = (gamma0 - 1) * mass_electron_ev#eV + energy_electron_initial = (gamma0 - 1) * mass_electron_ev#eV - # Updated gamma and beta factors including offset energy - E_tot = energy_electron_initial + self.offset_energy - gamma_total = 1 + (E_tot / mass_electron_ev) - beta_total = np.sqrt(1 - 1 / (gamma_total**2)) - # Electron velocity (v_electrons) based on updated beta - v_electrons = beta_total * clight # Velocity of electrons in m/s + # # Updated gamma and beta factors including offset energy + # E_tot = energy_electron_initial + self.offset_energy + # gamma_total = 1 + (E_tot / mass_electron_ev) + # beta_total = np.sqrt(1 - 1 / (gamma_total**2)) + # # Electron velocity (v_electrons) based on updated beta + # v_electrons = beta_total * clight # Velocity of electrons in m/s Fx = np.zeros_like(x) Fy = np.zeros_like(y) Fl = np.zeros_like(delta) + #radial_velocity_dependence due to space charge #equation 100b in Helmut Poth: Electron cooling. page 186 - # Radial velocity dependence due to space charge - space_charge_coefficient = self.re / (qe * clight) * (gamma_total + 1) / (gamma_total**2) - dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta_total**3) - E_diff_sc = dE_E * E_tot # Space charge effect on total energy - - E_tot_final = E_tot + E_diff_sc - gamma_final = 1 + (E_tot_final / mass_electron_ev) - beta_final = np.sqrt(1 - 1 / (gamma_final**2)) - v_electrons_final = beta_final * clight # Final velocity of electrons - # warning: p.delta*machine_v is not fully correct for relativistic beams. to be checked. - Vi = delta * machine_v - v_electrons_final + space_charge_coefficient = self.space_charge *self.re / (qe * clight) * (gamma0 + 1) / (gamma0 * gamma0);# //used for computation of the space charge energy offset + dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta0)**3 + E_diff_sc = dE_E * energy_electron_initial + E_tot_final = energy_electron_initial + self.offset_energy + E_diff_sc + gamma_final = 1 + (E_tot_final / mass_electron_ev) + beta_final = np.sqrt(1 - 1 / (gamma_final**2)) + Vi = beta * clight - beta_final* clight + #print('diff',beta_final-beta0) + #print('beta_final',beta_final) + #print('beta0',beta0) + # Warning: should gamma_0/gamma to be correct dVx = px*machine_v dVy = py*machine_v diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 339515997..613c3b9e8 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -28,21 +28,17 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); double space_charge = ElectronCoolerData_get_space_charge(el); - double p0c = LocalParticle_get_p0c(part0); // eV + double p0c = LocalParticle_get_p0c(part0); // eV/c double Z = LocalParticle_get_q0(part0); // eV - double beta0 = LocalParticle_get_beta0(part0); // eV/c^2 - double gamma0 = LocalParticle_get_gamma0(part0); // eV/c^2 + double beta0 = LocalParticle_get_beta0(part0); + double gamma0 = LocalParticle_get_gamma0(part0); + double mass0 = LocalParticle_get_mass0(part0); // eV/c^2 + double V_ele = beta0; double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV - double E_tot = energy_electron_initial + offset_energy; //eV - - double gamma_total = 1 + (E_tot / mass_electron_ev); - double beta_total = sqrt(1 - 1 / (gamma_total*gamma_total)); - // Electron velocity (v_electrons) based on updated beta - //double v_electrons = beta_total * C_LIGHT; // Velocity of electrons in m/s // compute electron density double V = PI * POW2(radius_e_beam) * length; // m3 @@ -72,7 +68,18 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double y = LocalParticle_get_y(part) - offset_y ; double py = LocalParticle_get_py(part) - offset_py; double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented when longitudinal velocity is computed - + + // Retrieve reference momentum and mass + double pc = p0c*(1.0+delta); // eV + double gamma = sqrt(1.0 + pc*pc/(mass0*mass0)); + double beta = sqrt(1.0 - 1.0/(gamma*gamma)); + double beta_x = px*p0c/mass0/gamma; + double beta_y = py*p0c/mass0/gamma; + double beta_z = sqrt(beta*beta - beta_x*beta_x -beta_y*beta_y); + + double vz = C_LIGHT*beta_z; // m/sec + /////////////////////////////////////////////////////////////////////// + double theta = atan2(y , x); double radius = hypot(x,y); @@ -84,20 +91,33 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p //radial_velocity_dependence due to space charge //equation 100b in Helmut Poth: Electron cooling. page 186 - double space_charge_coefficient = RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma_total + 1) / (gamma_total * gamma_total); //used for computation of the space charge energy offset - double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta_total); - double E_diff_sc = dE_E * E_tot; + double space_charge_coefficient = space_charge * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); //used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); + double E_diff_sc = dE_E * energy_electron_initial; // double E_tot_sc = energy_electron_initial + E_diff_sc; // double gamma_sc = 1 + (E_tot_sc/mass_electron_ev); // double beta_sc = sqrt(1 - 1/(gamma_sc*gamma_sc)); // double beta_diff_sc = beta_sc - beta0; - double E_tot_final = E_tot + E_diff_sc; + //velocity difference due to energy offset of the electron cooler in eV + double E_tot_final = energy_electron_initial + offset_energy + E_diff_sc; double gamma_final = 1 + (E_tot_final / mass_electron_ev); - double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); - double v_electrons_final = beta_final * C_LIGHT; // # Final velocity of electrons + double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); + + double delta_v=vz-machine_v; + double delta_v2=delta*machine_v; + //double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; + //double Vi = delta_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; + double Vi = beta * C_LIGHT - beta_final* C_LIGHT; + // printf("Vi: %g\n", Vi); - double Vi = delta*machine_v - v_electrons_final; + //printf("delta_v: %g\n", delta_v); + //printf("delta*machine_v: %g\n", delta*machine_v); + // printf("E_tot_oe: %g\n", E_tot_oe); + // printf("MASS_ELECTRON: %g\n", MASS_ELECTRON); + // printf("mass_electron_ev: %g\n", mass_electron_ev); + // printf("energy_electron_initial: %g\n", energy_electron_initial); + // printf("gamma0: %g\n", gamma0); double dVx = px*machine_v; double dVy = py*machine_v; From a5f85b7253d56a17740966b5240322e33abda70a Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 10:22:48 +0100 Subject: [PATCH 23/43] fix mistake in ebeam space charge --- ducktrack/elements.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index f24672ebd..d815f13f1 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -934,16 +934,17 @@ def force(self, p): #equation 100b in Helmut Poth: Electron cooling. page 186 space_charge_coefficient = self.space_charge *self.re / (qe * clight) * (gamma0 + 1) / (gamma0 * gamma0);# //used for computation of the space charge energy offset - dE_E = space_charge_coefficient * self.current * (radius / self.re)**2 / (beta0)**3 + dE_E = space_charge_coefficient * self.current * (radius / self.radius_e_beam)**2 / (beta0)**3 E_diff_sc = dE_E * energy_electron_initial E_tot_final = energy_electron_initial + self.offset_energy + E_diff_sc gamma_final = 1 + (E_tot_final / mass_electron_ev) beta_final = np.sqrt(1 - 1 / (gamma_final**2)) Vi = beta * clight - beta_final* clight - #print('diff',beta_final-beta0) + + #print('E_diff_sc',E_diff_sc) #print('beta_final',beta_final) - #print('beta0',beta0) + #print('dE_E',dE_E) # Warning: should gamma_0/gamma to be correct dVx = px*machine_v From a7e5dc062524d22a4386e4b1f149929b2fa3ac87 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 16:09:54 +0100 Subject: [PATCH 24/43] cleanup c implementation --- xtrack/beam_elements/elements.py | 206 +++++++++--------- .../elements_src/electroncooler.h | 139 +++++------- 2 files changed, 162 insertions(+), 183 deletions(-) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 15713ce92..69f35fb03 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2380,109 +2380,6 @@ def _get_order(array): return 0 return np.max(nonzero_indices) -class ElectronCooler(BeamElement): - """ - Beam element modeling an electron cooler. In particular, this beam element uses the Parkhomchuk model for electron cooling. - Every turn each particle receives transverse and longitudinal kicks based on the cooling force provided by the Parkhomchuk model. - - - Parameters - ---------- - current : float, optional - The current in the electron beam, in amperes. - length : float, optional - The length of the electron cooler, in meters. - radius_e_beam : float, optional - The radius of the electron beam, in meters. - temp_perp : float, optional - The transverse temperature of the electron beam, in electron volts. - temp_long : float, optional - The longitudinal temperature of the electron beam, in electron volts. - magnetic_field : float, optional - The magnetic field strength, in tesla. - offset_x : float, optional - The horizontal offset of the electron cooler, in meters. - offset_px : float, optional - The horizontal angle of the electron cooler, in rad. - offset_y : float, optional - The horizontal offset of the electron cooler, in meters. - offset_py : float, optional - The vertical angle of the electron cooler, in rad. - offset_energy : float, optional - The energy offset of the electrons, in eV. - magnetic_field_ratio : float, optional - The ratio of perpendicular component of magnetic field with the - longitudinal component of the magnetic field. This is a measure - of the magnetic field quality. With the ideal magnetic field quality - being 0. - space_charge : float, optional - Whether space charge of electron beam is enabled. 0 is off and 1 is on. - - """ - - _xofields = { - 'current' : xo.Float64, - 'length' : xo.Float64, - 'radius_e_beam' : xo.Float64, - 'temp_perp' : xo.Float64, - 'temp_long' : xo.Float64, - 'magnetic_field': xo.Float64, - - 'offset_x' : xo.Float64, - 'offset_px' : xo.Float64, - 'offset_y' : xo.Float64, - 'offset_py' : xo.Float64, - 'offset_energy' : xo.Float64, - - 'magnetic_field_ratio' : xo.Float64, - 'space_charge' : xo.Float64 - } - - _extra_c_sources = [ - _pkg_root.joinpath('headers/constants.h'), - _pkg_root.joinpath('beam_elements/elements_src/electroncooler.h')] - - def __init__(self, current = 0, - length = 0, - radius_e_beam = 0, - temp_perp = 0, - temp_long = 0, - magnetic_field = 0, - - offset_x = 0, - offset_px = 0, - offset_y = 0, - offset_py = 0, - offset_energy = 0, - - magnetic_field_ratio = 0, - space_charge = 0, - **kwargs): - - if "_xobject" in kwargs: - self.xoinitialize(_xobject=kwargs['_xobject']) - return - - super().__init__(**kwargs) - self.current = current - self.length = length - self.radius_e_beam = radius_e_beam - self.temp_perp = temp_perp - self.temp_long = temp_long - self.magnetic_field = magnetic_field - - self.offset_x = offset_x - self.offset_px = offset_px - self.offset_y = offset_y - self.offset_py = offset_py - self.offset_energy = offset_energy - - self.magnetic_field_ratio = magnetic_field_ratio - self.space_charge = space_charge - - def get_backtrack_element(self, _context=None, _buffer=None, _offset=None): - raise NotImplementedError - class SecondOrderTaylorMap(BeamElement): ''' @@ -2638,3 +2535,106 @@ def scale_coordinates(self, scale_x=1, scale_px=1, scale_y=1, scale_py=1, class ThinSliceNotNeededError(Exception): pass + +class ElectronCooler(BeamElement): + """ + Beam element modeling an electron cooler. In particular, this beam element uses the Parkhomchuk model for electron cooling. + Every turn each particle receives transverse and longitudinal kicks based on the cooling force provided by the Parkhomchuk model. + + + Parameters + ---------- + current : float, optional + The current in the electron beam, in amperes. + length : float, optional + The length of the electron cooler, in meters. + radius_e_beam : float, optional + The radius of the electron beam, in meters. + temp_perp : float, optional + The transverse temperature of the electron beam, in electron volts. + temp_long : float, optional + The longitudinal temperature of the electron beam, in electron volts. + magnetic_field : float, optional + The magnetic field strength, in tesla. + offset_x : float, optional + The horizontal offset of the electron cooler, in meters. + offset_px : float, optional + The horizontal angle of the electron cooler, in rad. + offset_y : float, optional + The horizontal offset of the electron cooler, in meters. + offset_py : float, optional + The vertical angle of the electron cooler, in rad. + offset_energy : float, optional + The energy offset of the electrons, in eV. + magnetic_field_ratio : float, optional + The ratio of perpendicular component of magnetic field with the + longitudinal component of the magnetic field. This is a measure + of the magnetic field quality. With the ideal magnetic field quality + being 0. + space_charge : float, optional + Whether space charge of electron beam is enabled. 0 is off and 1 is on. + + """ + + _xofields = { + 'current' : xo.Float64, + 'length' : xo.Float64, + 'radius_e_beam' : xo.Float64, + 'temp_perp' : xo.Float64, + 'temp_long' : xo.Float64, + 'magnetic_field': xo.Float64, + + 'offset_x' : xo.Float64, + 'offset_px' : xo.Float64, + 'offset_y' : xo.Float64, + 'offset_py' : xo.Float64, + 'offset_energy' : xo.Float64, + + 'magnetic_field_ratio' : xo.Float64, + 'space_charge' : xo.Float64 + } + + _extra_c_sources = [ + _pkg_root.joinpath('headers/constants.h'), + _pkg_root.joinpath('beam_elements/elements_src/electroncooler.h')] + + def __init__(self, current = 0, + length = 0, + radius_e_beam = 0, + temp_perp = 0, + temp_long = 0, + magnetic_field = 0, + + offset_x = 0, + offset_px = 0, + offset_y = 0, + offset_py = 0, + offset_energy = 0, + + magnetic_field_ratio = 0, + space_charge_factor = 0, + **kwargs): + + if "_xobject" in kwargs: + self.xoinitialize(_xobject=kwargs['_xobject']) + return + + super().__init__(**kwargs) + self.current = current + self.length = length + self.radius_e_beam = radius_e_beam + self.temp_perp = temp_perp + self.temp_long = temp_long + self.magnetic_field = magnetic_field + + self.offset_x = offset_x + self.offset_px = offset_px + self.offset_y = offset_y + self.offset_py = offset_py + self.offset_energy = offset_energy + + self.magnetic_field_ratio = magnetic_field_ratio + self.space_charge_factor = space_charge_factor + + def get_backtrack_element(self, _context=None, _buffer=None, _offset=None): + raise NotImplementedError \ No newline at end of file diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 613c3b9e8..911ad4efc 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -25,41 +25,41 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double offset_py = ElectronCoolerData_get_offset_py(el); double offset_energy = ElectronCoolerData_get_offset_energy(el); //eV - double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); - double space_charge = ElectronCoolerData_get_space_charge(el); + double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); + double space_charge_factor = ElectronCoolerData_get_space_charge(el); double p0c = LocalParticle_get_p0c(part0); // eV/c - double Z = LocalParticle_get_q0(part0); // eV + double q0 = LocalParticle_get_q0(part0); // eV double beta0 = LocalParticle_get_beta0(part0); double gamma0 = LocalParticle_get_gamma0(part0); double mass0 = LocalParticle_get_mass0(part0); // eV/c^2 - - double V_ele = beta0; + + // compute electron density + double volume_e_beam = PI * POW2(radius_e_beam) * length; // m3 + double num_e_per_s = current / QELEM; // number of electrons per second + double tau = length / (beta0*C_LIGHT*gamma0); // time spent in the electron cooler + double electron_density = num_e_per_s * tau / volume_e_beam; // density of electrons + + // Electron beam properties + double V_e_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature + double V_e_long = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature + double rho_larmor = MASS_ELECTRON*V_e_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius + double elec_plasma_frequency = C_LIGHT * sqrt(4 * PI * electron_density * RADIUS_ELECTRON); // electron plasma frequency + double V_e_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections + double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread + //double Vs = V_e_long; double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV + double energy_e_total = energy_electron_initial + offset_energy; + double gamma_total = 1 + (energy_e_total / mass_electron_ev); + double beta_total = sqrt(1 - 1 / POW2(gamma_total)); - // compute electron density - double V = PI * POW2(radius_e_beam) * length; // m3 - double ne_per_s = current / QELEM; // number of electrons per second - double time_in_cooler = length / (gamma0*V_ele * C_LIGHT); // time spent in the cylinder - double ne = ne_per_s * time_in_cooler / V; // density of electrons - - double machine_v=beta0*C_LIGHT; - double tau = length / (machine_v*gamma0); - - double Ve_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature - double Ve_l = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature - double rhoL = MASS_ELECTRON*Ve_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius - double ome = C_LIGHT * sqrt(4 * PI * ne * RADIUS_ELECTRON); // electron plasma frequency - - double Ve_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; - double Veff = sqrt(POW2(Ve_l) + POW2(Ve_magnet)); - double Vs = Ve_l; - - double friction_coefficient =-4*ne*MASS_ELECTRON*POW2(Z)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force - double omega = 1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); + // compute constants outside per particle block + double friction_coefficient =-4*electron_density*MASS_ELECTRON*POW2(q0)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force + double omega_e_beam = space_charge_factor*1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); + double newton_to_ev_m = 1.0/QELEM; //6.241506363094e+18 //start_per_particle_block (part0->part) @@ -69,20 +69,17 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double py = LocalParticle_get_py(part) - offset_py; double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented when longitudinal velocity is computed - // Retrieve reference momentum and mass - double pc = p0c*(1.0+delta); // eV - double gamma = sqrt(1.0 + pc*pc/(mass0*mass0)); - double beta = sqrt(1.0 - 1.0/(gamma*gamma)); - double beta_x = px*p0c/mass0/gamma; - double beta_y = py*p0c/mass0/gamma; - double beta_z = sqrt(beta*beta - beta_x*beta_x -beta_y*beta_y); - - double vz = C_LIGHT*beta_z; // m/sec - /////////////////////////////////////////////////////////////////////// - + // Radial and angular coordinates double theta = atan2(y , x); double radius = hypot(x,y); + // Particle beam parameters + double total_momentum = p0c*(1.0+delta); // eV + double gamma = sqrt(1.0 + POW2(total_momentum/mass0)); + double beta = sqrt(1.0 - 1.0/POW2(gamma)); + double beta_x = px * p0c / (mass0 * gamma); + double beta_y = py * p0c / (mass0 * gamma); + double Fx = 0.0; // initialize Fx to 0 by default double Fy = 0.0; // initialize Fy to 0 by default double Fl = 0.0; // initialize Fl to 0 by default @@ -91,56 +88,38 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p //radial_velocity_dependence due to space charge //equation 100b in Helmut Poth: Electron cooling. page 186 - double space_charge_coefficient = space_charge * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / (gamma0 * gamma0); //used for computation of the space charge energy offset - double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); - double E_diff_sc = dE_E * energy_electron_initial; - // double E_tot_sc = energy_electron_initial + E_diff_sc; - // double gamma_sc = 1 + (E_tot_sc/mass_electron_ev); - // double beta_sc = sqrt(1 - 1/(gamma_sc*gamma_sc)); - // double beta_diff_sc = beta_sc - beta0; - - //velocity difference due to energy offset of the electron cooler in eV - double E_tot_final = energy_electron_initial + offset_energy + E_diff_sc; - double gamma_final = 1 + (E_tot_final / mass_electron_ev); + double space_charge_coefficient = space_charge_factor * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma_total + 1) / POW2(gamma_total); //used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta_total); + double E_diff_space_charge = dE_E * energy_e_total; + + double E_kin_total = energy_electron_initial + offset_energy + E_diff_space_charge; + double gamma_final = 1 + (E_kin_total / mass_electron_ev); double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); - double delta_v=vz-machine_v; - double delta_v2=delta*machine_v; - //double Vi = delta*machine_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; - //double Vi = delta_v - space_charge*C_LIGHT*beta_diff_sc - C_LIGHT*beta_diff_oe; - double Vi = beta * C_LIGHT - beta_final* C_LIGHT; - // printf("Vi: %g\n", Vi); - - //printf("delta_v: %g\n", delta_v); - //printf("delta*machine_v: %g\n", delta*machine_v); - // printf("E_tot_oe: %g\n", E_tot_oe); - // printf("MASS_ELECTRON: %g\n", MASS_ELECTRON); - // printf("mass_electron_ev: %g\n", mass_electron_ev); - // printf("energy_electron_initial: %g\n", energy_electron_initial); - // printf("gamma0: %g\n", gamma0); - double dVx = px*machine_v; - double dVy = py*machine_v; - - dVx -= space_charge*omega *radius* -sin(theta); - dVy -= space_charge*omega *radius* +cos(theta); + // Velocity differences + double dVz = beta * C_LIGHT - beta_final* C_LIGHT; + double dVx = beta_x* C_LIGHT; + double dVy = beta_y* C_LIGHT; + dVx -= omega_e_beam *radius* -sin(theta); + dVy -= omega_e_beam *radius* +cos(theta); - double Vi_abs = sqrt(dVx*dVx+dVy*dVy+Vi*Vi); - double rhomin = Z*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(Vi_abs*Vi_abs + Vs*Vs); - double rhomax = sqrt(Vi_abs*Vi_abs + Vs*Vs)/(ome + 1/tau); - - double logterm = log((rhomax+rhomin+rhoL)/(rhomin+rhoL)); + double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); - double friction_denominator = POW1_5(POW2(Vi_abs) + POW2(Veff)); //coefficient used for computation of friction force - - Fx = (friction_coefficient * dVx/friction_denominator * logterm); //Newton - Fy = (friction_coefficient * dVy/friction_denominator * logterm); //Newton - Fl = (friction_coefficient * Vi/friction_denominator * logterm); //Newton + // Coulomb logarithm + double rho_min = q0*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(POW2(dV_abs) + POW2(V_e_long)); + double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); + double log_term = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); - double newton_to_ev_m = 1.0/QELEM; //6.241506363094e+18 + double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); //coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * log_term); //Newton + Fy = (friction_coefficient * dVy/friction_denominator * log_term); //Newton + Fl = (friction_coefficient * dVz/friction_denominator * log_term); //Newton + - Fx = Fx * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c - Fy = Fy * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c - Fl = Fl * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is in eV/c + Fx = Fx * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fy = Fy * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fl = Fl * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c } double delta_new = delta+Fl*gamma0*tau/p0c; From 41c5e7153db142f80a905fb1b6562875d4d8d109 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 16:10:36 +0100 Subject: [PATCH 25/43] cleanup ducktrack --- ducktrack/elements.py | 175 ++++++++++++++++++++---------------------- 1 file changed, 84 insertions(+), 91 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index d815f13f1..000cf84c4 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -858,129 +858,122 @@ class ElectronCooler(Element): ("offset_py","","",0.0), ("offset_energy","","",0.0), ("magnetic_field_ratio","","",0.0), - ("space_charge","","",0.0), + ("space_charge_factor","","",0.0), - ("re","","",physical_constants['classical electron radius'][0]), + ("classical_e_radius","","",physical_constants['classical electron radius'][0]), ("me_kg","","",me_kg), ] - def compute_electron_density(self,p): - V_ele = p.beta0 - V = np.pi*(self.radius_e_beam)**2*self.length #m3 - ne_per_s=self.current/qe # number of electrons per second - time_in_cooler=self.length/(p.gamma0*V_ele*clight) # time spent in the cylinder - electron_density = ne_per_s*time_in_cooler/V # density of electrons - return electron_density + def force(self, p): + current=self.current + length=self.length + radius_e_beam=self.radius_e_beam + temp_perp=self.temp_perp + temp_long=self.temp_long + magnetic_field=self.magnetic_field + magnetic_field_ratio=self.magnetic_field_ratio + space_charge_factor=self.space_charge_factor + classical_e_radius=self.classical_e_radius + me_kg = self.me_kg + + # All parameters are taken relative to the electron beam x = p.x - self.offset_x px = p.px - self.offset_px y = p.y - self.offset_y py = p.py - self.offset_py - delta = p.delta - - if np.isscalar(p.x): - x = np.array([x]) - if np.isscalar(p.px): - px = np.array([px]) - if np.isscalar(p.y): - y = np.array([y]) - if np.isscalar(p.py): - py = np.array([py]) - if np.isscalar(p.delta): - delta = np.array([delta]) + delta = p.delta # offset_energy is implemented when longitudinal velocity is computed + x, px, y, py, delta = map(np.atleast_1d, (x, px, y, py, delta)) + # Radial and angular coordinates theta = np.arctan2(y, x) radius = np.hypot(x,y) - beta0=p.beta0 - beta=p.beta - gamma0=p.gamma0 - q0=p.q0 - p0c=p.p0c + + # Particle beam parameters + beta0, gamma0, q0, p0c, mass0 = p.beta0, p.gamma0, p.q0, p.p0c, p.mass0 + total_momentum = p0c * (1.0 + delta) + gamma = np.sqrt(1.0 + (total_momentum / mass0) ** 2) + beta = np.sqrt(1.0 - 1.0 / gamma**2) + beta_x = px * p0c / (mass0 * gamma) + beta_y = py * p0c / (mass0 * gamma) + + # Compute electron density + volume_e_beam = np.pi*(radius_e_beam)**2*length #m3 + num_e_per_s=current/qe # number of electrons per second + self.tau=length/(gamma0*beta0*clight) # time spent in the electron cooler + electron_density = num_e_per_s*self.tau/volume_e_beam # density of electrons + + # Electron beam properties + V_e_perp = 1/gamma0*(qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity + V_e_long = 1/gamma0*(qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity + rho_larmor = me_kg * V_e_perp / (qe * magnetic_field) # depends on transverse temperature, larmor radius + elec_plasma_frequency = clight*np.sqrt(4*np.pi*electron_density*classical_e_radius) # electron plasma frequency + V_e_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections + V_eff = np.sqrt(V_e_long**2 + V_e_magnet**2) # effective electron beam velocity spread - me_kg = self.me_kg - - self.ne = self.compute_electron_density(p) - machine_v=beta0*clight - self.tau = self.length/(machine_v*gamma0) - - Ve_perp = 1/gamma0*(qe*self.temp_perp/me_kg)**(1./2) # transverse electron rms velocity - Ve_l = 1/gamma0*(qe*self.temp_long/me_kg)**(1./2) # longitudinal electron rms velocity - self.rhoL = me_kg*Ve_perp/qe/self.magnetic_field # depends on transverse temperature, larmor radius - self.ome = clight*np.sqrt(4*np.pi*self.ne*self.re) # electron plasma frequency - self.Ve_magnet = beta0*gamma0*clight*(self.magnetic_field_ratio) # component due to magnetic field imperfections - self.Veff =np.sqrt(Ve_l**2 + self.Ve_magnet**2 ) - self.Vs = Ve_l - - #coefficient used for computation of friction force compute angular frequency space charge - friction_coefficient =-4*self.ne*me_kg*q0**2*self.re**2*clight**4 - self.omega = self.space_charge*1/(2*np.pi*epsilon_0*clight) * self.current/(self.radius_e_beam**2*beta0*gamma0*self.magnetic_field) mass_electron_ev = me_kg * clight**2 / qe #eV - energy_electron_initial = (gamma0 - 1) * mass_electron_ev#eV - - # # Updated gamma and beta factors including offset energy - # E_tot = energy_electron_initial + self.offset_energy - # gamma_total = 1 + (E_tot / mass_electron_ev) - # beta_total = np.sqrt(1 - 1 / (gamma_total**2)) - # # Electron velocity (v_electrons) based on updated beta - # v_electrons = beta_total * clight # Velocity of electrons in m/s - + energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV + # Updated gamma and beta factors including offset energy + energy_e_total = energy_electron_initial + self.offset_energy + gamma_total = 1 + (energy_e_total / mass_electron_ev) + beta_total = np.sqrt(1 - 1 / (gamma_total**2)) + + friction_coefficient =-4*electron_density*me_kg*q0**2*classical_e_radius**2*clight**4 # Coefficient used for computation of friction force + # compute angular frequency of rotation of e-beam due to space charge + omega_e_beam = space_charge_factor*1/(2*np.pi*epsilon_0*clight) * current/(radius_e_beam**2*beta0*gamma0*magnetic_field) + + Fx = np.zeros_like(x) Fy = np.zeros_like(y) Fl = np.zeros_like(delta) #radial_velocity_dependence due to space charge - #equation 100b in Helmut Poth: Electron cooling. page 186 - - space_charge_coefficient = self.space_charge *self.re / (qe * clight) * (gamma0 + 1) / (gamma0 * gamma0);# //used for computation of the space charge energy offset - dE_E = space_charge_coefficient * self.current * (radius / self.radius_e_beam)**2 / (beta0)**3 - E_diff_sc = dE_E * energy_electron_initial + #equation 100b in Helmut Poth: Electron cooling. page 186 + space_charge_coefficient = space_charge_factor *classical_e_radius / (qe * clight) * (gamma_total + 1) / (gamma_total**2);# //used for computation of the space charge energy offset + dE_E = space_charge_coefficient * current * (radius / radius_e_beam)**2 / (beta_total)**3 + E_diff_space_charge = dE_E * energy_e_total - E_tot_final = energy_electron_initial + self.offset_energy + E_diff_sc - gamma_final = 1 + (E_tot_final / mass_electron_ev) + E_kin_total = energy_e_total + E_diff_space_charge + gamma_final = 1 + (E_kin_total / mass_electron_ev) beta_final = np.sqrt(1 - 1 / (gamma_final**2)) - Vi = beta * clight - beta_final* clight - - #print('E_diff_sc',E_diff_sc) - #print('beta_final',beta_final) - #print('dE_E',dE_E) - - # Warning: should gamma_0/gamma to be correct - dVx = px*machine_v - dVy = py*machine_v - - dVx -= self.space_charge*self.omega *radius* -np.sin(theta) - dVy -= self.space_charge*self.omega *radius* +np.cos(theta) - - Vi_abs = np.sqrt(dVx**2+dVy**2+Vi**2) - - rhomin = q0*self.re*clight**2/(Vi_abs**2 + self.Vs**2) - rhomax = np.sqrt(Vi_abs**2 + self.Vs**2)/(self.ome + 1/self.tau) - logterm = np.log((rhomax+rhomin+self.rhoL)/(rhomin+self.rhoL)) - - friction_denominator = (Vi_abs**2 + self.Veff**2)**1.5 #coefficient used for computation of friction force - Fx = (friction_coefficient * dVx/friction_denominator * logterm) #Newton - Fy = (friction_coefficient * dVy/friction_denominator * logterm) #Newton - Fl = (friction_coefficient * Vi/friction_denominator * logterm) #Newton - #if particle is outside electron beam, set cooling force to zero - outside_beam_indices = radius >= self.radius_e_beam + # Velocity differences + dVz = beta * clight - beta_final* clight + dVx = beta_x*clight + dVy = beta_y*clight + dVx -= omega_e_beam *radius* -np.sin(theta) # account for ebeam rotation + dVy -= omega_e_beam *radius* +np.cos(theta) # account for ebeam rotation + dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) + + # Coulomb logarithm + rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) + rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) + log_term = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) + + friction_denominator = (dV_abs**2 + V_eff**2)**1.5 #coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * log_term) # Newton + Fy = (friction_coefficient * dVy/friction_denominator * log_term) # Newton + Fl = (friction_coefficient * dVz/friction_denominator * log_term) # Newton + # if particle is outside electron beam, set cooling force to zero + outside_beam_indices = radius >= radius_e_beam Fx[outside_beam_indices] = 0.0 Fy[outside_beam_indices] = 0.0 Fl[outside_beam_indices] = 0.0 - newton_to_ev_m = 1/qe #6.241506363094e+18 - Fx=Fx*newton_to_ev_m #convert to eV/m - Fy=Fy*newton_to_ev_m #convert to eV/m - Fl=Fl*newton_to_ev_m #convert to eV/m + #newton_to_ev_m = 1/qe #6.241506363094e+18 + Fx=Fx*1/qe #convert to eV/m + Fy=Fy*1/qe #convert to eV/m + Fl=Fl*1/qe #convert to eV/m return Fx,Fy,Fl def track(self, p): Fx,Fy,Fl=self.force(p) - Fx=Fx*clight #convert to eV/c because p0c is in eV/c - Fy=Fy*clight #convert to eV/c because p0c is in eV/c - Fl=Fl*clight #convert to eV/c because p0c is in eV/c + Fx=Fx*clight # convert to eV/c because p0c is also in eV/c + Fy=Fy*clight # convert to eV/c because p0c is also in eV/c + Fl=Fl*clight # convert to eV/c because p0c is also in eV/c p.delta += np.squeeze( Fl*p.gamma0*self.tau/p.p0c) p.px += np.squeeze( Fx*p.gamma0*self.tau/p.p0c) p.py += np.squeeze( Fy*p.gamma0*self.tau/p.p0c) From d0fec49676ed9b04a580a88725aeac58aa5ac06e Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 16:11:17 +0100 Subject: [PATCH 26/43] update test --- tests/test_elements.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 82e18c6f4..3db48d03c 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1212,12 +1212,9 @@ def test_ecooler(test_context): zeta=0) cooler = xt.ElectronCooler( - current=current, - length=cooler_length, - radius_e_beam=radius_e_beam, - temp_perp=temp_perp, - temp_long=temp_long, - magnetic_field=magnetic_field) + urrent=current, length=cooler_length, radius_e_beam=radius_e_beam, + temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, + space_charge_factor=0) num_turns = 34700 emittance_list = [] @@ -1263,7 +1260,7 @@ def test_ecooler(test_context): dtk_cooler = dtk.elements.ElectronCooler( current=current, length=cooler_length, radius_e_beam=radius_e_beam, temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, - space_charge=0) + space_charge_factor=0) force, Fy, Fl = dtk_cooler.force(dtk_particle) From 949c20fc172fff9d8ef2a5cf7011579090f20f34 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Tue, 17 Dec 2024 16:30:23 +0100 Subject: [PATCH 27/43] fix typo --- tests/test_elements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 3db48d03c..c097ab1a4 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1212,7 +1212,7 @@ def test_ecooler(test_context): zeta=0) cooler = xt.ElectronCooler( - urrent=current, length=cooler_length, radius_e_beam=radius_e_beam, + current=current, length=cooler_length, radius_e_beam=radius_e_beam, temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, space_charge_factor=0) From ccd06f9dacfffab4bb355fc9e456c829a6d5375f Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 19 Dec 2024 09:18:21 +0100 Subject: [PATCH 28/43] simplify ecooler space charge --- ducktrack/elements.py | 17 +++++------- .../elements_src/electroncooler.h | 26 +++++++------------ 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 000cf84c4..62c22cb83 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -863,9 +863,6 @@ class ElectronCooler(Element): ("classical_e_radius","","",physical_constants['classical electron radius'][0]), ("me_kg","","",me_kg), ] - - - def force(self, p): current=self.current @@ -917,22 +914,21 @@ def force(self, p): energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV # Updated gamma and beta factors including offset energy energy_e_total = energy_electron_initial + self.offset_energy - gamma_total = 1 + (energy_e_total / mass_electron_ev) - beta_total = np.sqrt(1 - 1 / (gamma_total**2)) + # gamma_total = 1 + (energy_e_total / mass_electron_ev) + # beta_total = np.sqrt(1 - 1 / (gamma_total**2)) friction_coefficient =-4*electron_density*me_kg*q0**2*classical_e_radius**2*clight**4 # Coefficient used for computation of friction force # compute angular frequency of rotation of e-beam due to space charge omega_e_beam = space_charge_factor*1/(2*np.pi*epsilon_0*clight) * current/(radius_e_beam**2*beta0*gamma0*magnetic_field) - - + Fx = np.zeros_like(x) Fy = np.zeros_like(y) Fl = np.zeros_like(delta) #radial_velocity_dependence due to space charge #equation 100b in Helmut Poth: Electron cooling. page 186 - space_charge_coefficient = space_charge_factor *classical_e_radius / (qe * clight) * (gamma_total + 1) / (gamma_total**2);# //used for computation of the space charge energy offset - dE_E = space_charge_coefficient * current * (radius / radius_e_beam)**2 / (beta_total)**3 + space_charge_coefficient = space_charge_factor *classical_e_radius / (qe * clight) * (gamma0 + 1) / (gamma0**2);# //used for computation of the space charge energy offset + dE_E = space_charge_coefficient * current * (radius / radius_e_beam)**2 / (beta0)**3 E_diff_space_charge = dE_E * energy_e_total E_kin_total = energy_e_total + E_diff_space_charge @@ -962,8 +958,7 @@ def force(self, p): Fx[outside_beam_indices] = 0.0 Fy[outside_beam_indices] = 0.0 Fl[outside_beam_indices] = 0.0 - - #newton_to_ev_m = 1/qe #6.241506363094e+18 + Fx=Fx*1/qe #convert to eV/m Fy=Fy*1/qe #convert to eV/m Fl=Fl*1/qe #convert to eV/m diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 911ad4efc..196284fb8 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -29,13 +29,11 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double space_charge_factor = ElectronCoolerData_get_space_charge(el); double p0c = LocalParticle_get_p0c(part0); // eV/c - double q0 = LocalParticle_get_q0(part0); // eV + double q0 = LocalParticle_get_q0(part0); // e double beta0 = LocalParticle_get_beta0(part0); double gamma0 = LocalParticle_get_gamma0(part0); double mass0 = LocalParticle_get_mass0(part0); // eV/c^2 - - // compute electron density double volume_e_beam = PI * POW2(radius_e_beam) * length; // m3 double num_e_per_s = current / QELEM; // number of electrons per second @@ -49,17 +47,13 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double elec_plasma_frequency = C_LIGHT * sqrt(4 * PI * electron_density * RADIUS_ELECTRON); // electron plasma frequency double V_e_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread - //double Vs = V_e_long; double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV double energy_e_total = energy_electron_initial + offset_energy; - double gamma_total = 1 + (energy_e_total / mass_electron_ev); - double beta_total = sqrt(1 - 1 / POW2(gamma_total)); - + // compute constants outside per particle block double friction_coefficient =-4*electron_density*MASS_ELECTRON*POW2(q0)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force double omega_e_beam = space_charge_factor*1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); - double newton_to_ev_m = 1.0/QELEM; //6.241506363094e+18 //start_per_particle_block (part0->part) @@ -88,8 +82,8 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p //radial_velocity_dependence due to space charge //equation 100b in Helmut Poth: Electron cooling. page 186 - double space_charge_coefficient = space_charge_factor * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma_total + 1) / POW2(gamma_total); //used for computation of the space charge energy offset - double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta_total); + double space_charge_coefficient = space_charge_factor * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / POW2(gamma0); //used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); double E_diff_space_charge = dE_E * energy_e_total; double E_kin_total = energy_electron_initial + offset_energy + E_diff_space_charge; @@ -101,8 +95,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double dVx = beta_x* C_LIGHT; double dVy = beta_y* C_LIGHT; dVx -= omega_e_beam *radius* -sin(theta); - dVy -= omega_e_beam *radius* +cos(theta); - + dVy -= omega_e_beam *radius* +cos(theta); double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); // Coulomb logarithm @@ -114,12 +107,11 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p Fx = (friction_coefficient * dVx/friction_denominator * log_term); //Newton Fy = (friction_coefficient * dVy/friction_denominator * log_term); //Newton - Fl = (friction_coefficient * dVz/friction_denominator * log_term); //Newton - + Fl = (friction_coefficient * dVz/friction_denominator * log_term); //Newton - Fx = Fx * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c - Fy = Fy * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c - Fl = Fl * newton_to_ev_m * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fx = Fx * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fy = Fy * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fl = Fl * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c } double delta_new = delta+Fl*gamma0*tau/p0c; From 93b57d38dbaf5946ab817ba4979316cd589ed9fd Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 19 Dec 2024 09:42:26 +0100 Subject: [PATCH 29/43] forgot a pow2 --- xtrack/beam_elements/elements_src/electroncooler.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 196284fb8..b7d781023 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -100,7 +100,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p // Coulomb logarithm double rho_min = q0*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(POW2(dV_abs) + POW2(V_e_long)); - double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); + double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); double log_term = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); //coefficient used for computation of friction force From 7321342b453670e8b4c2a6c564c03ab9ebb9229c Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Thu, 19 Dec 2024 16:59:53 +0100 Subject: [PATCH 30/43] fix typo in ebeam space charge --- xtrack/beam_elements/elements.py | 6 +++--- xtrack/beam_elements/elements_src/electroncooler.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 176852ee0..18ae91c1d 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2601,7 +2601,7 @@ class ElectronCooler(BeamElement): 'offset_energy' : xo.Float64, 'magnetic_field_ratio' : xo.Float64, - 'space_charge' : xo.Float64 + 'space_charge_factor' : xo.Float64 } _extra_c_sources = [ @@ -2643,8 +2643,8 @@ def __init__(self, current = 0, self.offset_py = offset_py self.offset_energy = offset_energy - self.magnetic_field_ratio = magnetic_field_ratio - self.space_charge_factor = space_charge_factor + self.magnetic_field_ratio = magnetic_field_ratio + self.space_charge_factor = space_charge_factor def get_backtrack_element(self, _context=None, _buffer=None, _offset=None): raise NotImplementedError \ No newline at end of file diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index b7d781023..d966e34a2 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -26,7 +26,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double offset_energy = ElectronCoolerData_get_offset_energy(el); //eV double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); - double space_charge_factor = ElectronCoolerData_get_space_charge(el); + double space_charge_factor = ElectronCoolerData_get_space_charge_factor(el); double p0c = LocalParticle_get_p0c(part0); // eV/c double q0 = LocalParticle_get_q0(part0); // e From 1655284bcc74748beb9a05b759f53bb442d860be Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 8 Jan 2025 14:24:11 +0100 Subject: [PATCH 31/43] update ecooler example --- ducktrack/elements.py | 57 +- .../Electron_cooler_IPAC2023_results.py | 197 ++- examples/electron_cooler/IPAC_results.eps | 1550 ----------------- .../action_magnetic_field_ratio=0e+00.npz | Bin 80270 -> 0 bytes .../action_magnetic_field_ratio=1e-03.npz | Bin 80270 -> 0 bytes .../action_magnetic_field_ratio=1e-04.npz | Bin 80270 -> 0 bytes .../action_magnetic_field_ratio=5e-04.npz | Bin 80270 -> 0 bytes examples/electron_cooler/results/time.npz | Bin 80262 -> 0 bytes .../betacool-emittance.ipynb | 84 +- .../betacool-friction.ipynb | 4 +- tests/test_elements.py | 35 +- xtrack/beam_elements/elements.py | 8 +- .../elements_src/electroncooler.h | 153 +- 13 files changed, 283 insertions(+), 1805 deletions(-) delete mode 100644 examples/electron_cooler/IPAC_results.eps delete mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz delete mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz delete mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=1e-04.npz delete mode 100644 examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz delete mode 100644 examples/electron_cooler/results/time.npz diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 62c22cb83..0dfa7f207 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -842,7 +842,6 @@ def track(self,p): raise NotImplementedError('Radiation is not implemented') class ElectronCooler(Element): - _description =[ ("current","","",0.0), @@ -917,7 +916,7 @@ def force(self, p): # gamma_total = 1 + (energy_e_total / mass_electron_ev) # beta_total = np.sqrt(1 - 1 / (gamma_total**2)) - friction_coefficient =-4*electron_density*me_kg*q0**2*classical_e_radius**2*clight**4 # Coefficient used for computation of friction force + friction_coefficient = -4*electron_density*me_kg*q0**2*classical_e_radius**2*clight**4 # Coefficient used for computation of friction force # compute angular frequency of rotation of e-beam due to space charge omega_e_beam = space_charge_factor*1/(2*np.pi*epsilon_0*clight) * current/(radius_e_beam**2*beta0*gamma0*magnetic_field) @@ -925,53 +924,57 @@ def force(self, p): Fy = np.zeros_like(y) Fl = np.zeros_like(delta) - #radial_velocity_dependence due to space charge - #equation 100b in Helmut Poth: Electron cooling. page 186 + # Radial_velocity_dependence due to space charge + # -> from equation 100b in Helmut Poth: Electron cooling. page 186 space_charge_coefficient = space_charge_factor *classical_e_radius / (qe * clight) * (gamma0 + 1) / (gamma0**2);# //used for computation of the space charge energy offset dE_E = space_charge_coefficient * current * (radius / radius_e_beam)**2 / (beta0)**3 E_diff_space_charge = dE_E * energy_e_total E_kin_total = energy_e_total + E_diff_space_charge gamma_final = 1 + (E_kin_total / mass_electron_ev) - beta_final = np.sqrt(1 - 1 / (gamma_final**2)) + beta_final = np.sqrt(1 - 1 / (gamma_final**2)) # Velocity differences dVz = beta * clight - beta_final* clight - dVx = beta_x*clight - dVy = beta_y*clight - dVx -= omega_e_beam *radius* -np.sin(theta) # account for ebeam rotation - dVy -= omega_e_beam *radius* +np.cos(theta) # account for ebeam rotation + dVx = beta_x * clight + dVy = beta_y * clight + dVx -= omega_e_beam * radius * -np.sin(theta) # account for ebeam rotation + dVy -= omega_e_beam * radius * +np.cos(theta) # account for ebeam rotation dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) # Coulomb logarithm - rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) - rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) - log_term = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) - - friction_denominator = (dV_abs**2 + V_eff**2)**1.5 #coefficient used for computation of friction force - - Fx = (friction_coefficient * dVx/friction_denominator * log_term) # Newton - Fy = (friction_coefficient * dVy/friction_denominator * log_term) # Newton - Fl = (friction_coefficient * dVz/friction_denominator * log_term) # Newton - # if particle is outside electron beam, set cooling force to zero + #rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) + rho_min = (q0*qe**2/me_kg)/(dV_abs**2 + V_e_long**2) + rho_max_1 = np.sqrt(dV_abs**2 + V_e_long**2) / elec_plasma_frequency + rho_max_2 = np.sqrt(dV_abs**2 + V_e_long**2) * self.tau + rho_max = min(rho_max_1, rho_max_2) + #rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) + log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) + + friction_denominator = (dV_abs**2 + V_eff**2)**1.5 # coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * log_coulomb) # Newton + Fy = (friction_coefficient * dVy/friction_denominator * log_coulomb) # Newton + Fl = (friction_coefficient * dVz/friction_denominator * log_coulomb) # Newton + # If particle is outside electron beam, set cooling force to zero outside_beam_indices = radius >= radius_e_beam Fx[outside_beam_indices] = 0.0 Fy[outside_beam_indices] = 0.0 Fl[outside_beam_indices] = 0.0 - Fx=Fx*1/qe #convert to eV/m - Fy=Fy*1/qe #convert to eV/m - Fl=Fl*1/qe #convert to eV/m + Fx = Fx * 1/qe # convert to eV/m + Fy = Fy * 1/qe # convert to eV/m + Fl = Fl * 1/qe # convert to eV/m return Fx,Fy,Fl def track(self, p): Fx,Fy,Fl=self.force(p) - Fx=Fx*clight # convert to eV/c because p0c is also in eV/c - Fy=Fy*clight # convert to eV/c because p0c is also in eV/c - Fl=Fl*clight # convert to eV/c because p0c is also in eV/c + Fx = Fx * clight # convert to eV/c because p0c is also in eV/c + Fy = Fy * clight # convert to eV/c because p0c is also in eV/c + Fl = Fl * clight # convert to eV/c because p0c is also in eV/c p.delta += np.squeeze( Fl*p.gamma0*self.tau/p.p0c) - p.px += np.squeeze( Fx*p.gamma0*self.tau/p.p0c) - p.py += np.squeeze( Fy*p.gamma0*self.tau/p.p0c) + p.px += np.squeeze( Fx*p.gamma0*self.tau/p.p0c) + p.py += np.squeeze( Fy*p.gamma0*self.tau/p.p0c) __all__ = [ "BeamBeam4D", diff --git a/examples/electron_cooler/Electron_cooler_IPAC2023_results.py b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py index 14435def2..bfa68ac69 100644 --- a/examples/electron_cooler/Electron_cooler_IPAC2023_results.py +++ b/examples/electron_cooler/Electron_cooler_IPAC2023_results.py @@ -1,121 +1,148 @@ -#!/usr/bin/env python -# coding: utf-8 - -# In[ ]: - - # copyright ############################### # # This file is part of the Xtrack Package. # # Copyright (c) CERN, 2021. # # ######################################### # + +# This file will generate and display the following IPAC results: +# https://accelconf.web.cern.ch/ipac2023/doi_per_institute/tupm027/index.html +# Specifications for a new electron cooler of the antiproton decelerator at CERN + + import numpy as np import xtrack as xt -import xobjects as xo import xpart as xp -#This file will generate and display the following IPAC results: -#https://doi.org/10.18429/JACoW-IPAC2023-TUPM027 -#https://www.ipac23.org/preproc/doi/jacow-ipac2023-tupm027/index.html +import matplotlib.pyplot as plt + +###################################### +# lattice parameters for AD at 300 MeV +###################################### -#lattice parameters for AD at 300 MeV -beta_rel = 0.305 -gamma = 1.050 +#lattice parameters for AD at 300Mev/c +# from https://acc-models.web.cern.ch/acc-models/ad/scenarios/lowenergy/lowenergy.tfs +qx = 5.45020077392 +qy = 5.41919929346 +dqx=-20.10016919292 +dqy=-22.29552755573 +circumference = 182.43280000000 #m -qx = 5.44 -qy = 5.42 +# relativistic factors +gamma_rel = 1.04987215550 # at 300 MeV/c +# optics at e-cooler (approximate), in m beta_x = 10 beta_y = 4 +D_x = 0 -clight = 299792458.0 -circumference = 182.43280000000 #m -s_per_turn = circumference/(clight*beta_rel) +# electron cooler parameters +current = 2.4 # A current +length = 1.5 # m cooler length +radius_e_beam = 25*1e-3 #m radius of the electron beam +temp_perp = 100e-3 # [eV] = kb*T +temp_long = 1e-3 # [eV] +magnetic_field = 0.060 # 100 Gauss in ELENA +# idea is to study magnetic field imperfections +magnetic_field_ratio_list = [0,1e-4,5e-4,1e-3] #Iterate over different values of the magnetic field quality to see effect on cooling performance. +#magnetic_field_ratio is the ratio of transverse componenet of magnetic field and the longitudinal component. In the ideal case, the ratio is 0. -context = xo.ContextCpu(omp_num_threads='auto') +# some initial beam parameters +emittance = 35e-6 +dp_p = 2e-3 +q0 = 1 -arc = xt.LineSegmentMap( - qx=qx, qy=qx, - dqx=0, dqy=0, - length=circumference, - betx=beta_x, - bety=beta_y) +# simulation parameters: simulate 20 s of cooling, and take data once every 100 ms +max_time_s = 20 +int_time_s = 0.01 +# some constants, and simple computations +clight = 299792458.0 mass0 = 938.27208816*1e6 #ev/c^2 -p0c = mass0*beta_rel*gamma #eV/c -#electron cooler parameters -current = 2.4 # A current -length = 1.5 # m cooler length -radius_e_beam = 25*1e-3 #m radius of the electron beam +beta_rel = np.sqrt(gamma_rel**2 - 1)/gamma_rel +p0c = mass0*beta_rel*gamma_rel #eV/c +T_per_turn = circumference/(clight*beta_rel) -temp_perp = 100e-3 # [eV] = kb*T -temp_long = 1e-3 # [eV] -magnetic_field = 0.060 # T for AD +# compute length of simulation, as well as sample interval, in turns +num_turns = int(max_time_s/T_per_turn) +save_interval = int(int_time_s/T_per_turn) -emittance = 35*1e-6 #inital emittance +# compute initial beam parameters x_init = np.sqrt(beta_x*emittance) y_init = np.sqrt(beta_y*emittance) -magnetic_field_ratio_list = [0,1e-4,5e-4,1e-3] #Iterate over different values of the magnetic field quality to see effect on cooling performance. -#magnetic_field_ratio is the ratio of transverse componenet of magnetic field and the longitudinal component. In the ideal case, the ratio is 0. - -for magnetic_field_ratio in magnetic_field_ratio_list: - - particle = xp.Particles( - +particles0 = xp.Particles( mass0=mass0, p0c=p0c, + q0=q0, x=x_init, px=0, y=0, py=0, delta=0, - zeta=0) - #load electron cooler beam element - electron_cooler = xt.ElectronCooler(current=current,length=length,radius_e_beam=radius_e_beam, - temp_perp=temp_perp,temp_long=temp_long, - magnetic_field=magnetic_field,magnetic_field_ratio=magnetic_field_ratio, - space_charge=0) - num_turns = int(1*1e7) - save_interval = 1000 - - action_x = [] - - for i in range(num_turns): - if i % save_interval == 0: - # # calculate action in horizontal plane - action_x_temp = (particle.x**2/beta_x + beta_x*particle.px**2) - action_x.append(action_x_temp) - - arc.track(particle) - electron_cooler.track(particle) - - filepath = f'results/action_magnetic_field_ratio={magnetic_field_ratio:.0e}.npz' - np.savez(filepath, action_x=action_x) - -time = np.arange(0, num_turns, save_interval) * s_per_turn - -np.savez('results/time.npz', time=time) - - -# In[ ]: + zeta=0) +# arc to do linear tracking +arc = xt.LineSegmentMap( + qx=qx, qy=qx, + dqx=dqx, dqy=dqy, + length=circumference, + betx=beta_x, + bety=beta_y, + dx=D_x) + +# compute length of simulation, as well as sample interval, in turns +num_turns = int((max_time_s / T_per_turn).item()) +save_interval = int((int_time_s / T_per_turn).item()) + +# create a monitor object, to reduce holded data +monitor = xt.ParticlesMonitor(start_at_turn=0, stop_at_turn=1, + n_repetitions=int(num_turns/save_interval), + repetition_period=save_interval, + num_particles=1) + +############################## +# electron cooler parameters # +############################## +electron_cooler = xt.ElectronCooler( + length=length, + radius_e_beam=radius_e_beam, + current=current, + temp_perp=temp_perp, + temp_long=temp_long, + magnetic_field=magnetic_field, + magnetic_field_ratio=0, + space_charge_factor=0) + +line = xt.Line(elements=[monitor, electron_cooler, arc],element_names=['monitor','electron_cooler','arc']) +line.particle_ref = xp.Particles(mass0=mass0, q0=q0, p0c=p0c) +line.build_tracker() + +################ +# prepare plot # +################ -import numpy as np -import matplotlib.pyplot as plt -magnetic_field_ratio_list=[0,1e-4,5e-4,1e-3] -time_data = np.load('results/time.npz')['time'] plt.figure(figsize=(10, 5)) -plt.rcParams.update({'font.size': 14}) # set the default fontsize to 14 -for magnetic_field_ratio in magnetic_field_ratio_list: - filepath = f'results/action_magnetic_field_ratio={magnetic_field_ratio:.0e}.npz' - data = np.load(filepath) - action_x = data['action_x']*1e6 - plt.plot(time,action_x,label='$B_{\perp}/B_{\parallel}$='f'{magnetic_field_ratio:.0e}') +plt.rcParams.update({'font.size': 14}) + +########################################## +# scan over magnetic field imperfections # +########################################## + +for magnetic_field_ratio in magnetic_field_ratio_list: + + electron_cooler.magnetic_field_ratio=magnetic_field_ratio + particles=particles0.copy() + # track + line.track(particles, num_turns=num_turns, + turn_by_turn_monitor=False) + x = monitor.x[:,:,0] + px = monitor.px[:,:,0] + time = monitor.at_turn[:, 0, 0] * T_per_turn + # compute action at the end for all turns + action_x = (x**2/beta_x + beta_x*px**2) + + plt.plot(time,action_x*1e6,label='$B_{\\perp}/B_{\\parallel}$='f'{magnetic_field_ratio:.0e}') plt.xlabel('Time [s]') -plt.ylabel('$J_x$ $[\mu m]$') +plt.ylabel('$J_x$ $[\\mu m]$') plt.legend() - -plt.savefig('IPAC_results.eps', dpi=300) -plt.savefig('IPAC_results.png', dpi=300) - +plt.show() diff --git a/examples/electron_cooler/IPAC_results.eps b/examples/electron_cooler/IPAC_results.eps deleted file mode 100644 index 4ac867e2a..000000000 --- a/examples/electron_cooler/IPAC_results.eps +++ /dev/null @@ -1,1550 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: IPAC_results.eps -%%Creator: Matplotlib v3.7.1, https://matplotlib.org/ -%%CreationDate: Tue Jul 18 16:41:44 2023 -%%Orientation: portrait -%%BoundingBox: -54 216 666 576 -%%HiResBoundingBox: -54.000000 216.000000 666.000000 576.000000 -%%EndComments -%%BeginProlog -/mpldict 13 dict def -mpldict begin -/_d { bind def } bind def -/m { moveto } _d -/l { lineto } _d -/r { rlineto } _d -/c { curveto } _d -/cl { closepath } _d -/ce { closepath eofill } _d -/box { - m - 1 index 0 r - 0 exch r - neg 0 r - cl - } _d -/clipbox { - box - clip - newpath - } _d -/sc { setcachedevice } _d -%!PS-Adobe-3.0 Resource-Font -%%Creator: Converted from TrueType to Type 3 by Matplotlib. -10 dict begin -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix [0.00048828125 0 0 0.00048828125 0 0] def -/FontBBox [-2090 -948 3673 2524] def -/FontType 3 def -/Encoding [/space /uni2225 /plus /hyphen /period /slash /zero /one /two /three /four /five /seven /equal /T /bracketleft /bracketright /e /i /m /s] def -/CharStrings 22 dict dup begin -/.notdef 0 def -/space{651 0 0 0 0 0 sc -ce} _d -/uni2225{1024 0 272 -438 752 1579 sc -272 1579 m -432 1579 l -432 -438 l -272 -438 l -272 1579 l - -592 1579 m -752 1579 l -752 -438 l -592 -438 l -592 1579 l - -ce} _d -/plus{1716 0 217 0 1499 1284 sc -942 1284 m -942 727 l -1499 727 l -1499 557 l -942 557 l -942 0 l -774 0 l -774 557 l -217 557 l -217 727 l -774 727 l -774 1284 l -942 1284 l - -ce} _d -/hyphen{739 0 100 479 639 643 sc -100 643 m -639 643 l -639 479 l -100 479 l -100 643 l - -ce} _d -/period{651 0 219 0 430 254 sc -219 254 m -430 254 l -430 0 l -219 0 l -219 254 l - -ce} _d -/slash{690 0 0 -190 690 1493 sc -520 1493 m -690 1493 l -170 -190 l -0 -190 l -520 1493 l - -ce} _d -/zero{1303 0 135 -29 1167 1520 sc -651 1360 m -547 1360 469 1309 416 1206 c -364 1104 338 950 338 745 c -338 540 364 387 416 284 c -469 182 547 131 651 131 c -756 131 834 182 886 284 c -939 387 965 540 965 745 c -965 950 939 1104 886 1206 c -834 1309 756 1360 651 1360 c - -651 1520 m -818 1520 946 1454 1034 1321 c -1123 1189 1167 997 1167 745 c -1167 494 1123 302 1034 169 c -946 37 818 -29 651 -29 c -484 -29 356 37 267 169 c -179 302 135 494 135 745 c -135 997 179 1189 267 1321 c -356 1454 484 1520 651 1520 c - -ce} _d -/one{1303 0 225 0 1114 1493 sc -254 170 m -584 170 l -584 1309 l -225 1237 l -225 1421 l -582 1493 l -784 1493 l -784 170 l -1114 170 l -1114 0 l -254 0 l -254 170 l - -ce} _d -/two{1303 0 150 0 1098 1520 sc -393 170 m -1098 170 l -1098 0 l -150 0 l -150 170 l -227 249 331 356 463 489 c -596 623 679 709 713 748 c -778 821 823 882 848 932 c -874 983 887 1032 887 1081 c -887 1160 859 1225 803 1275 c -748 1325 675 1350 586 1350 c -523 1350 456 1339 385 1317 c -315 1295 240 1262 160 1217 c -160 1421 l -241 1454 317 1478 388 1495 c -459 1512 523 1520 582 1520 c -737 1520 860 1481 952 1404 c -1044 1327 1090 1223 1090 1094 c -1090 1033 1078 974 1055 919 c -1032 864 991 800 930 725 c -913 706 860 650 771 557 c -682 465 556 336 393 170 c - -ce} _d -/three{1303 0 156 -29 1139 1520 sc -831 805 m -928 784 1003 741 1057 676 c -1112 611 1139 530 1139 434 c -1139 287 1088 173 987 92 c -886 11 742 -29 555 -29 c -492 -29 428 -23 361 -10 c -295 2 227 20 156 45 c -156 240 l -212 207 273 183 340 166 c -407 149 476 141 549 141 c -676 141 772 166 838 216 c -905 266 938 339 938 434 c -938 522 907 591 845 640 c -784 690 698 715 588 715 c -414 715 l -414 881 l -596 881 l -695 881 771 901 824 940 c -877 980 903 1037 903 1112 c -903 1189 876 1247 821 1288 c -767 1329 689 1350 588 1350 c -533 1350 473 1344 410 1332 c -347 1320 277 1301 201 1276 c -201 1456 l -278 1477 349 1493 416 1504 c -483 1515 547 1520 606 1520 c -759 1520 881 1485 970 1415 c -1059 1346 1104 1252 1104 1133 c -1104 1050 1080 980 1033 923 c -986 866 918 827 831 805 c - -ce} _d -/four{1303 0 100 0 1188 1493 sc -774 1317 m -264 520 l -774 520 l -774 1317 l - -721 1493 m -975 1493 l -975 520 l -1188 520 l -1188 352 l -975 352 l -975 0 l -774 0 l -774 352 l -100 352 l -100 547 l -721 1493 l - -ce} _d -/five{1303 0 158 -29 1124 1493 sc -221 1493 m -1014 1493 l -1014 1323 l -406 1323 l -406 957 l -435 967 465 974 494 979 c -523 984 553 987 582 987 c -749 987 881 941 978 850 c -1075 759 1124 635 1124 479 c -1124 318 1074 193 974 104 c -874 15 733 -29 551 -29 c -488 -29 424 -24 359 -13 c -294 -2 227 14 158 35 c -158 238 l -218 205 280 181 344 165 c -408 149 476 141 547 141 c -662 141 754 171 821 232 c -888 293 922 375 922 479 c -922 583 888 665 821 726 c -754 787 662 817 547 817 c -493 817 439 811 385 799 c -332 787 277 768 221 743 c -221 1493 l - -ce} _d -/seven{1303 0 168 0 1128 1493 sc -168 1493 m -1128 1493 l -1128 1407 l -586 0 l -375 0 l -885 1323 l -168 1323 l -168 1493 l - -ce} _d -/equal{1716 0 217 352 1499 930 sc -217 930 m -1499 930 l -1499 762 l -217 762 l -217 930 l - -217 522 m -1499 522 l -1499 352 l -217 352 l -217 522 l - -ce} _d -/T{1251 0 -6 0 1257 1493 sc --6 1493 m -1257 1493 l -1257 1323 l -727 1323 l -727 0 l -524 0 l -524 1323 l --6 1323 l --6 1493 l - -ce} _d -/bracketleft{799 0 176 -270 600 1556 sc -176 1556 m -600 1556 l -600 1413 l -360 1413 l -360 -127 l -600 -127 l -600 -270 l -176 -270 l -176 1556 l - -ce} _d -/bracketright{799 0 199 -270 623 1556 sc -623 1556 m -623 -270 l -199 -270 l -199 -127 l -438 -127 l -438 1413 l -199 1413 l -199 1556 l -623 1556 l - -ce} _d -/e{1260 0 113 -29 1151 1147 sc -1151 606 m -1151 516 l -305 516 l -313 389 351 293 419 226 c -488 160 583 127 705 127 c -776 127 844 136 910 153 c -977 170 1043 196 1108 231 c -1108 57 l -1042 29 974 8 905 -7 c -836 -22 765 -29 694 -29 c -515 -29 374 23 269 127 c -165 231 113 372 113 549 c -113 732 162 878 261 985 c -360 1093 494 1147 662 1147 c -813 1147 932 1098 1019 1001 c -1107 904 1151 773 1151 606 c - -967 660 m -966 761 937 841 882 901 c -827 961 755 991 664 991 c -561 991 479 962 417 904 c -356 846 320 764 311 659 c -967 660 l - -ce} _d -/i{569 0 193 0 377 1556 sc -193 1120 m -377 1120 l -377 0 l -193 0 l -193 1120 l - -193 1556 m -377 1556 l -377 1323 l -193 1323 l -193 1556 l - -ce} _d -/m{1995 0 186 0 1821 1147 sc -1065 905 m -1111 988 1166 1049 1230 1088 c -1294 1127 1369 1147 1456 1147 c -1573 1147 1663 1106 1726 1024 c -1789 943 1821 827 1821 676 c -1821 0 l -1636 0 l -1636 670 l -1636 777 1617 857 1579 909 c -1541 961 1483 987 1405 987 c -1310 987 1234 955 1179 892 c -1124 829 1096 742 1096 633 c -1096 0 l -911 0 l -911 670 l -911 778 892 858 854 909 c -816 961 757 987 678 987 c -584 987 509 955 454 891 c -399 828 371 742 371 633 c -371 0 l -186 0 l -186 1120 l -371 1120 l -371 946 l -413 1015 463 1065 522 1098 c -581 1131 650 1147 731 1147 c -812 1147 881 1126 938 1085 c -995 1044 1038 984 1065 905 c - -ce} _d -/s{1067 0 111 -29 967 1147 sc -907 1087 m -907 913 l -855 940 801 960 745 973 c -689 986 631 993 571 993 c -480 993 411 979 365 951 c -320 923 297 881 297 825 c -297 782 313 749 346 724 c -379 700 444 677 543 655 c -606 641 l -737 613 829 573 884 522 c -939 471 967 400 967 309 c -967 205 926 123 843 62 c -761 1 648 -29 504 -29 c -444 -29 381 -23 316 -11 c -251 0 183 18 111 41 c -111 231 l -179 196 246 169 312 151 c -378 134 443 125 508 125 c -595 125 661 140 708 169 c -755 199 778 241 778 295 c -778 345 761 383 727 410 c -694 437 620 462 506 487 c -442 502 l -328 526 246 563 195 612 c -144 662 119 730 119 817 c -119 922 156 1004 231 1061 c -306 1118 412 1147 549 1147 c -617 1147 681 1142 741 1132 c -801 1122 856 1107 907 1087 c - -ce} _d -end readonly def - -/BuildGlyph { - exch begin - CharStrings exch - 2 copy known not {pop /.notdef} if - true 3 1 roll get exec - end -} _d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -} _d - -FontName currentdict end definefont pop -%!PS-Adobe-3.0 Resource-Font -%%Creator: Converted from TrueType to Type 3 by Matplotlib. -10 dict begin -/FontName /DejaVuSans-Oblique def -/PaintType 0 def -/FontMatrix [0.00048828125 0 0 0.00048828125 0 0] def -/FontBBox [-2080 -717 3398 2187] def -/FontType 3 def -/Encoding [/B /J /m /x /uni03BC] def -/CharStrings 6 dict dup begin -/.notdef 0 def -/B{1405 0 55 0 1280 1493 sc -346 1493 m -862 1493 l -1002 1493 1107 1467 1176 1415 c -1245 1363 1280 1285 1280 1180 c -1280 1084 1250 1001 1190 931 c -1131 862 1053 820 956 805 c -1039 786 1101 751 1142 698 c -1183 645 1204 575 1204 487 c -1204 337 1148 218 1037 131 c -926 44 775 0 582 0 c -55 0 l -346 1493 l - -395 713 m -289 166 l -614 166 l -736 166 830 194 896 250 c -962 306 995 385 995 487 c -995 566 973 623 929 659 c -886 695 816 713 719 713 c -395 713 l - -514 1327 m -426 877 l -727 877 l -834 877 918 900 978 947 c -1039 994 1069 1058 1069 1141 c -1069 1206 1049 1253 1008 1282 c -967 1312 902 1327 813 1327 c -514 1327 l - -ce} _d -/J{604 0 -336 -410 545 1493 sc -342 1493 m -545 1493 l -274 104 l -239 -77 179 -207 95 -288 c -12 -369 -105 -410 -256 -410 c --336 -410 l --303 -240 l --240 -240 l --150 -240 -82 -214 -35 -163 c -12 -112 47 -23 72 104 c -342 1493 l - -ce} _d -/m{1995 0 72 0 1855 1147 sc -1839 676 m -1708 0 l -1524 0 l -1653 670 l -1658 699 1662 723 1665 744 c -1668 765 1669 782 1669 797 c -1669 857 1652 904 1619 937 c -1586 970 1539 987 1479 987 c -1390 987 1310 953 1240 886 c -1170 819 1125 732 1104 625 c -981 0 l -797 0 l -928 670 l -933 695 937 717 940 738 c -943 759 944 778 944 795 c -944 856 927 903 894 936 c -861 970 815 987 756 987 c -665 987 585 953 515 886 c -445 819 400 732 379 625 c -256 0 l -72 0 l -291 1120 l -475 1120 l -440 946 l -490 1011 548 1061 615 1095 c -682 1130 754 1147 831 1147 c -912 1147 979 1126 1031 1083 c -1084 1040 1115 981 1126 905 c -1182 984 1247 1044 1320 1085 c -1394 1126 1472 1147 1554 1147 c -1650 1147 1724 1119 1776 1064 c -1829 1009 1855 930 1855 829 c -1855 807 1854 783 1851 756 c -1848 730 1844 703 1839 676 c - -ce} _d -/x{1212 0 -53 0 1229 1120 sc -1229 1120 m -715 571 l -1030 0 l -819 0 l -582 444 l -170 0 l --53 0 l -498 590 l -205 1120 l -416 1120 l -631 715 l -1006 1120 l -1229 1120 l - -ce} _d -/uni03BC{1303 0 -27 -426 1212 1120 sc --27 -426 m -274 1120 l -459 1120 l -323 423 l -320 409 318 393 316 376 c -314 359 313 341 313 324 c -313 262 332 214 371 181 c -410 148 466 131 539 131 c -638 131 717 159 778 215 c -839 271 880 355 901 467 c -1028 1120 l -1212 1120 l -1045 259 l -1042 246 1040 235 1039 226 c -1038 217 1038 208 1038 201 c -1038 180 1042 165 1050 155 c -1059 146 1072 141 1090 141 c -1097 141 1106 143 1117 146 c -1129 149 1146 155 1167 164 c -1139 16 l -1110 1 1082 -10 1055 -17 c -1028 -25 1002 -29 977 -29 c -933 -29 898 -15 873 13 c -848 41 836 80 836 129 c -799 76 754 36 702 10 c -651 -16 590 -29 520 -29 c -458 -29 404 -15 357 14 c -311 43 281 80 266 127 c -158 -426 l --27 -426 l - -ce} _d -end readonly def - -/BuildGlyph { - exch begin - CharStrings exch - 2 copy known not {pop /.notdef} if - true 3 1 roll get exec - end -} _d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -} _d - -FontName currentdict end definefont pop -%!PS-Adobe-3.0 Resource-Font -%%Creator: Converted from TrueType to Type 3 by Matplotlib. -10 dict begin -/FontName /STIXGeneral-Regular def -/PaintType 0 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/FontBBox [-970 -443 2000 1023] def -/FontType 3 def -/Encoding [/uni27C2] def -/CharStrings 2 dict dup begin -/.notdef 0 def -/uni27C2{693 0 52 0 641 662 sc -641 0 m -52 0 l -52 66 l -314 66 l -314 662 l -380 662 l -380 66 l -641 66 l -641 0 l - -ce} _d -end readonly def - -/BuildGlyph { - exch begin - CharStrings exch - 2 copy known not {pop /.notdef} if - true 3 1 roll get exec - end -} _d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -} _d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --54 216 translate -720 360 0 0 clipbox -gsave -0 0 m -720 0 l -720 360 l -0 360 l -cl -1.000 setgray -fill -grestore -gsave -90 39.6 m -648 39.6 l -648 316.8 l -90 316.8 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -115.364 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -104.231 21.9594 translate -0 rotate -0 0 m /zero glyphshow -8.90723 0 m /period glyphshow -13.3574 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -178.932 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -167.799 21.9594 translate -0 rotate -0 0 m /two glyphshow -8.90723 0 m /period glyphshow -13.3574 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -242.501 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -231.368 21.9594 translate -0 rotate -0 0 m /five glyphshow -8.90723 0 m /period glyphshow -13.3574 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -306.069 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -294.937 21.9594 translate -0 rotate -0 0 m /seven glyphshow -8.90723 0 m /period glyphshow -13.3574 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -369.638 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -354.052 21.9594 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /zero glyphshow -17.8145 0 m /period glyphshow -22.2646 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -433.207 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -417.621 21.9594 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /two glyphshow -17.8145 0 m /period glyphshow -22.2646 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -496.775 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -481.189 21.9594 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /five glyphshow -17.8145 0 m /period glyphshow -22.2646 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -560.344 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -544.758 21.9594 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /seven glyphshow -17.8145 0 m /period glyphshow -22.2646 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -623.912 39.6 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -608.326 21.9594 translate -0 rotate -0 0 m /two glyphshow -8.90723 0 m /zero glyphshow -17.8145 0 m /period glyphshow -22.2646 0 m /zero glyphshow -grestore -/DejaVuSans 14.000 selectfont -gsave - -340.5 4.4125 translate -0 rotate -0 0 m /T glyphshow -8.17676 0 m /i glyphshow -12.0664 0 m /m glyphshow -25.7041 0 m /e glyphshow -34.3174 0 m /space glyphshow -38.7676 0 m /bracketleft glyphshow -44.2295 0 m /s glyphshow -51.5234 0 m /bracketright glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 52.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -74.0938 46.8797 translate -0 rotate -0 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 88.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -74.0938 82.8797 translate -0 rotate -0 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 124.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 118.88 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 160.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 154.88 translate -0 rotate -0 0 m /one glyphshow -8.90723 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 196.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 190.88 translate -0 rotate -0 0 m /two glyphshow -8.90723 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 232.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 226.88 translate -0 rotate -0 0 m /two glyphshow -8.90723 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 268.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 262.88 translate -0 rotate -0 0 m /three glyphshow -8.90723 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90 304.2 o -grestore -/DejaVuSans 14.000 selectfont -gsave - -65.1875 298.88 translate -0 rotate -0 0 m /three glyphshow -8.90723 0 m /five glyphshow -grestore -gsave -58.1875 153.7 translate -90 rotate -/DejaVuSans-Oblique 14.0 selectfont -0 0.359375 moveto -/J glyphshow -/DejaVuSans-Oblique 9.799999999999999 selectfont -4.12891 -1.9375 moveto -/x glyphshow -/DejaVuSans 14.0 selectfont -10.3113 0.359375 moveto -/space glyphshow -14.7615 0.359375 moveto -/bracketleft glyphshow -/DejaVuSans-Oblique 14.0 selectfont -20.2234 0.359375 moveto -/uni03BC glyphshow -29.1307 0.359375 moveto -/m glyphshow -/DejaVuSans 14.0 selectfont -42.7684 0.359375 moveto -/bracketright glyphshow -grestore -1.500 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -558 277.2 90 39.6 clipbox -115.363636 304.2 m -128.19892 282.953815 l -140.476148 262.203378 l -152.19532 241.960619 l -163.305703 222.328754 l -173.858031 203.234661 l -183.852303 184.692588 l -193.237787 166.815494 l -202.065216 149.526966 l -210.334588 132.844894 l -218.045905 116.789572 l -225.199165 101.386868 l -231.946567 86.33336 l -239.099828 69.807137 l -244.223795 58.109595 l -245.796498 55.039426 l -246.760412 53.595772 l -247.521398 52.841191 l -248.23165 52.459399 l -249.0941 52.274124 l -250.717535 52.206007 l -263.654284 52.2 l -622.636364 52.2 l -622.636364 52.2 l -stroke -grestore -1.000 0.498 0.055 setrgbcolor -gsave -558 277.2 90 39.6 clipbox -115.363636 304.2 m -129.264299 282.181834 l -142.606906 260.633354 l -155.340725 239.648192 l -167.465756 219.241264 l -179.032731 199.340256 l -189.990917 180.046561 l -200.340316 161.378909 l -210.131659 143.263826 l -219.415678 125.622639 l -228.293838 108.275338 l -237.121267 90.533276 l -251.935112 60.613384 l -253.964406 57.125944 l -255.384911 55.100981 l -256.501023 53.882375 l -257.464937 53.146373 l -258.428852 52.68718 l -259.544964 52.408703 l -261.168399 52.256318 l -264.770395 52.202828 l -314.082235 52.2 l -622.636364 52.2 l -622.636364 52.2 l -stroke -grestore -0.173 0.627 0.173 setrgbcolor -gsave -558 277.2 90 39.6 clipbox -115.363636 304.2 m -178.576139 239.759996 l -220.683987 196.98048 l -244.629654 172.960549 l -262.791834 155.046086 l -277.605679 140.736911 l -290.187301 128.885072 l -301.094755 118.907901 l -310.733901 110.384329 l -319.409132 103.003973 l -327.272645 96.600638 l -334.476639 91.015429 l -341.173308 86.100973 l -347.413387 81.79302 l -353.298339 77.995757 l -358.929629 74.624266 l -364.35799 71.632916 l -369.583422 69.004232 l -374.758121 66.649782 l -379.882088 64.563526 l -385.006055 62.717264 l -390.231487 61.072225 l -395.609115 59.614692 l -401.189674 58.333124 l -407.125358 57.19949 l -413.568366 56.199417 l -420.670894 55.327537 l -428.635873 54.578467 l -437.86916 53.9391 l -448.928811 53.403982 l -462.677277 52.970689 l -480.788724 52.635005 l -506.560756 52.396931 l -548.770068 52.255282 l -622.636364 52.206139 l -622.636364 52.206139 l -stroke -grestore -0.839 0.153 0.157 setrgbcolor -gsave -558 277.2 90 39.6 clipbox -115.363636 304.2 m -143.976679 287.668916 l -170.966288 272.330134 l -196.484658 258.080752 l -220.734719 244.7922 l -243.817936 232.394671 l -265.835774 220.819433 l -286.94043 209.97353 l -307.182636 199.818777 l -326.663857 190.292449 l -345.485558 181.334665 l -363.647738 172.93501 l -381.251862 165.036213 l -398.399394 157.584768 l -415.090336 150.573161 l -431.375419 143.972068 l -447.305376 137.753619 l -462.930939 131.891536 l -478.302839 126.361248 l -493.471811 121.139985 l -508.437853 116.223117 l -523.251698 111.589269 l -537.964078 107.219001 l -552.625726 103.094818 l -567.287374 99.201157 l -581.999755 95.524335 l -596.762867 92.063981 l -611.678177 88.79687 l -622.636364 86.539992 l -622.636364 86.539992 l -stroke -grestore -0.800 setlinewidth -0 setlinejoin -0.000 setgray -gsave -90 39.6 m -90 316.8 l -stroke -grestore -gsave -648 39.6 m -648 316.8 l -stroke -grestore -gsave -90 39.6 m -648 39.6 l -stroke -grestore -gsave -90 316.8 m -648 316.8 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -490.4 213.6 m -638.2 213.6 l -640.066667 213.6 641 214.533333 641 216.4 c -641 307 l -641 308.866667 640.066667 309.8 638.2 309.8 c -490.4 309.8 l -488.533333 309.8 487.6 308.866667 487.6 307 c -487.6 216.4 l -487.6 214.533333 488.533333 213.6 490.4 213.6 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1.500 setlinewidth -1 setlinejoin -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -493.2 298.1 m -507.2 298.1 l -521.2 298.1 l -stroke -grestore -0.000 setgray -gsave -532.4 293.2 translate -0 rotate -/DejaVuSans-Oblique 14.0 selectfont -0 0.609375 moveto -/B glyphshow -/STIXGeneral-Regular 9.799999999999999 selectfont -11.5138 -1.6875 moveto -/uni27C2 glyphshow -/DejaVuSans 14.0 selectfont -20.5973 0.609375 moveto -/slash glyphshow -/DejaVuSans-Oblique 14.0 selectfont -25.3141 0.609375 moveto -/B glyphshow -/DejaVuSans 9.799999999999999 selectfont -36.8278 -1.6875 moveto -/uni2225 glyphshow -/DejaVuSans 14.0 selectfont -44.0199 0.609375 moveto -/equal glyphshow -55.7504 0.609375 moveto -/zero glyphshow -64.6576 0.609375 moveto -/e glyphshow -73.2709 0.609375 moveto -/plus glyphshow -85.0014 0.609375 moveto -/zero glyphshow -93.9086 0.609375 moveto -/zero glyphshow -grestore -1.000 0.498 0.055 setrgbcolor -gsave -493.2 275.1 m -507.2 275.1 l -521.2 275.1 l -stroke -grestore -0.000 setgray -gsave -532.4 270.2 translate -0 rotate -/DejaVuSans-Oblique 14.0 selectfont -0 0.609375 moveto -/B glyphshow -/STIXGeneral-Regular 9.799999999999999 selectfont -11.5138 -1.6875 moveto -/uni27C2 glyphshow -/DejaVuSans 14.0 selectfont -20.5973 0.609375 moveto -/slash glyphshow -/DejaVuSans-Oblique 14.0 selectfont -25.3141 0.609375 moveto -/B glyphshow -/DejaVuSans 9.799999999999999 selectfont -36.8278 -1.6875 moveto -/uni2225 glyphshow -/DejaVuSans 14.0 selectfont -44.0199 0.609375 moveto -/equal glyphshow -55.7504 0.609375 moveto -/one glyphshow -64.6576 0.609375 moveto -/e glyphshow -73.2709 0.609375 moveto -/hyphen glyphshow -78.3226 0.609375 moveto -/zero glyphshow -87.2299 0.609375 moveto -/four glyphshow -grestore -0.173 0.627 0.173 setrgbcolor -gsave -493.2 252.1 m -507.2 252.1 l -521.2 252.1 l -stroke -grestore -0.000 setgray -gsave -532.4 247.2 translate -0 rotate -/DejaVuSans-Oblique 14.0 selectfont -0 0.609375 moveto -/B glyphshow -/STIXGeneral-Regular 9.799999999999999 selectfont -11.5138 -1.6875 moveto -/uni27C2 glyphshow -/DejaVuSans 14.0 selectfont -20.5973 0.609375 moveto -/slash glyphshow -/DejaVuSans-Oblique 14.0 selectfont -25.3141 0.609375 moveto -/B glyphshow -/DejaVuSans 9.799999999999999 selectfont -36.8278 -1.6875 moveto -/uni2225 glyphshow -/DejaVuSans 14.0 selectfont -44.0199 0.609375 moveto -/equal glyphshow -55.7504 0.609375 moveto -/five glyphshow -64.6576 0.609375 moveto -/e glyphshow -73.2709 0.609375 moveto -/hyphen glyphshow -78.3226 0.609375 moveto -/zero glyphshow -87.2299 0.609375 moveto -/four glyphshow -grestore -0.839 0.153 0.157 setrgbcolor -gsave -493.2 229.1 m -507.2 229.1 l -521.2 229.1 l -stroke -grestore -0.000 setgray -gsave -532.4 224.2 translate -0 rotate -/DejaVuSans-Oblique 14.0 selectfont -0 0.609375 moveto -/B glyphshow -/STIXGeneral-Regular 9.799999999999999 selectfont -11.5138 -1.6875 moveto -/uni27C2 glyphshow -/DejaVuSans 14.0 selectfont -20.5973 0.609375 moveto -/slash glyphshow -/DejaVuSans-Oblique 14.0 selectfont -25.3141 0.609375 moveto -/B glyphshow -/DejaVuSans 9.799999999999999 selectfont -36.8278 -1.6875 moveto -/uni2225 glyphshow -/DejaVuSans 14.0 selectfont -44.0199 0.609375 moveto -/equal glyphshow -55.7504 0.609375 moveto -/one glyphshow -64.6576 0.609375 moveto -/e glyphshow -73.2709 0.609375 moveto -/hyphen glyphshow -78.3226 0.609375 moveto -/zero glyphshow -87.2299 0.609375 moveto -/three glyphshow -grestore - -end -showpage diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=0e+00.npz deleted file mode 100644 index 7da610665f8fedad87eeab434b1755941a6ba6c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80270 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 NDfcg){NFBy{{szCRzUy& diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=1e-03.npz deleted file mode 100644 index 05eae09ea34e5f9a0de8dd2eef1c7437d0156b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80270 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 diff --git a/examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz b/examples/electron_cooler/results/action_magnetic_field_ratio=5e-04.npz deleted file mode 100644 index e7e1e35b61f50e4c71377197ad0c35740a701e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80270 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

KBT#X7p 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%0A(_-2}Mm#C-kniNFTE0Sr(6@}d< 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 [eV] = kb*T temp_long = 0.001 # [eV] @@ -1194,11 +1194,11 @@ def test_ecooler(test_context): sigma_py = np.sqrt(emittance / beta_y) sigma_p = 5e-3 - delta = np.random.normal(loc=0.0, scale=sigma_p, size=num_particles) - x = np.random.normal(loc=0.0, scale=sigma_x, size=num_particles) - px = np.random.normal(loc=0.0, scale=sigma_px, size=num_particles) - y = np.random.normal(loc=0.0, scale=sigma_y, size=num_particles) - py = np.random.normal(loc=0.0, scale=sigma_py, size=num_particles) + delta = np.random.normal(loc=0.0, scale=sigma_p, size=num_particles) + x = np.random.normal(loc=0.0, scale=sigma_x, size=num_particles) + px = np.random.normal(loc=0.0, scale=sigma_px, size=num_particles) + y = np.random.normal(loc=0.0, scale=sigma_y, size=num_particles) + py = np.random.normal(loc=0.0, scale=sigma_py, size=num_particles) particles = xp.Particles( mass0=mass0, @@ -1220,7 +1220,7 @@ def test_ecooler(test_context): emittance_list = [] for i in range(num_turns): - x_xs = particles.x.copy() + x_xs = particles.x.copy() px_xs = particles.px.copy() cov00 = np.cov(x_xs, px_xs) det00 = np.sqrt(np.linalg.det(cov00)) @@ -1241,6 +1241,7 @@ def test_ecooler(test_context): emittance_diff = emittance_xsuite - emittance_betacool mse_emittance = np.mean(emittance_diff**2) + data_betacool = np.load('../test_data/electron_cooler/force_betacool.npz') v_diff_betacool = data_betacool['v_diff'] force_betacool = data_betacool['force'] @@ -1249,12 +1250,12 @@ def test_ecooler(test_context): dtk_particle = dtk.TestParticles( mass0=mass0, p0c=p0c, - x=np.random.normal(0, 1e-20, num_particles), - px=np.random.normal(0, 4*np.sqrt(emittance/beta_x), num_particles), - y=np.random.normal(0, 1e-20, num_particles), - py=np.random.normal(0, 1e-20, num_particles), - delta=np.random.normal(0, 0, num_particles), - zeta=np.random.normal(0, 0, num_particles), + x = np.random.normal(0, 1e-20, num_particles), + px = np.random.normal(0, 4*np.sqrt(emittance/beta_x), num_particles), + y = np.random.normal(0, 1e-20, num_particles), + py = np.random.normal(0, 1e-20, num_particles), + delta = np.random.normal(0, 0, num_particles), + zeta = np.random.normal(0, 0, num_particles), q0=q0) dtk_cooler = dtk.elements.ElectronCooler( @@ -1262,11 +1263,11 @@ def test_ecooler(test_context): temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, space_charge_factor=0) - force, Fy, Fl = dtk_cooler.force(dtk_particle) + force, _, _ = dtk_cooler.force(dtk_particle) - px_tot = p0c*dtk_particle.px + px_tot = p0c*dtk_particle.px beta_diff = px_tot/(mass0*gamma) - v_diff = beta_diff*clight + v_diff = beta_diff*clight sorted_indices = np.argsort(v_diff) v_diff = v_diff[sorted_indices] diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 18ae91c1d..6f020a55f 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2589,9 +2589,9 @@ class ElectronCooler(BeamElement): _xofields = { 'current' : xo.Float64, 'length' : xo.Float64, - 'radius_e_beam' : xo.Float64, - 'temp_perp' : xo.Float64, - 'temp_long' : xo.Float64, + 'radius_e_beam' : xo.Float64, + 'temp_perp' : xo.Float64, + 'temp_long' : xo.Float64, 'magnetic_field': xo.Float64, 'offset_x' : xo.Float64, @@ -2601,7 +2601,7 @@ class ElectronCooler(BeamElement): 'offset_energy' : xo.Float64, 'magnetic_field_ratio' : xo.Float64, - 'space_charge_factor' : xo.Float64 + 'space_charge_factor' : xo.Float64 } _extra_c_sources = [ diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index d966e34a2..619c16348 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -11,7 +11,7 @@ /*gpufun*/ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* part0){ - + double current = ElectronCoolerData_get_current(el); double length = ElectronCoolerData_get_length(el); double radius_e_beam = ElectronCoolerData_get_radius_e_beam(el); @@ -26,13 +26,13 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double offset_energy = ElectronCoolerData_get_offset_energy(el); //eV double magnetic_field_ratio = ElectronCoolerData_get_magnetic_field_ratio(el); - double space_charge_factor = ElectronCoolerData_get_space_charge_factor(el); + double space_charge_factor = ElectronCoolerData_get_space_charge_factor(el); - double p0c = LocalParticle_get_p0c(part0); // eV/c + double p0c = LocalParticle_get_p0c(part0); // eV/c double q0 = LocalParticle_get_q0(part0); // e - double beta0 = LocalParticle_get_beta0(part0); - double gamma0 = LocalParticle_get_gamma0(part0); - double mass0 = LocalParticle_get_mass0(part0); // eV/c^2 + double beta0 = LocalParticle_get_beta0(part0); + double gamma0 = LocalParticle_get_gamma0(part0); + double mass0 = LocalParticle_get_mass0(part0); // eV/c^2 // compute electron density double volume_e_beam = PI * POW2(radius_e_beam) * length; // m3 @@ -41,83 +41,98 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double electron_density = num_e_per_s * tau / volume_e_beam; // density of electrons // Electron beam properties - double V_e_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature - double V_e_long = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature - double rho_larmor = MASS_ELECTRON*V_e_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius - double elec_plasma_frequency = C_LIGHT * sqrt(4 * PI * electron_density * RADIUS_ELECTRON); // electron plasma frequency + double V_e_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature + double V_e_long = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature + double rho_larmor = MASS_ELECTRON*V_e_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius + double elec_plasma_frequency = C_LIGHT * sqrt(4 * PI * electron_density * RADIUS_ELECTRON); // electron plasma frequency + //double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); + double V_e_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections - double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread - double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; //eV - double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; //eV - double energy_e_total = energy_electron_initial + offset_energy; + double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread + double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; // in eV + double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; // in eV + double energy_e_total = energy_electron_initial + offset_energy; // in eV // compute constants outside per particle block - double friction_coefficient =-4*electron_density*MASS_ELECTRON*POW2(q0)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force + double friction_coefficient = -4*electron_density*MASS_ELECTRON*POW2(q0)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force double omega_e_beam = space_charge_factor*1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); //start_per_particle_block (part0->part) + double x = LocalParticle_get_x(part) - offset_x ; + double px = LocalParticle_get_px(part) - offset_px; + double y = LocalParticle_get_y(part) - offset_y ; + double py = LocalParticle_get_py(part) - offset_py; + double delta = LocalParticle_get_delta(part) ; //offset_energy is implemented when longitudinal velocity is computed + + // Radial and angular coordinates + double theta = atan2(y , x); + double radius = hypot(x,y); - double x = LocalParticle_get_x(part) - offset_x ; - double px = LocalParticle_get_px(part) - offset_px; - double y = LocalParticle_get_y(part) - offset_y ; - double py = LocalParticle_get_py(part) - offset_py; - double delta = LocalParticle_get_delta(part) ;//offset_energy is implemented when longitudinal velocity is computed - - // Radial and angular coordinates - double theta = atan2(y , x); - double radius = hypot(x,y); + // Particle beam parameters + double total_momentum = p0c*(1.0+delta); // eV + double gamma = sqrt(1.0 + POW2(total_momentum/mass0)); + double beta = sqrt(1.0 - 1.0/POW2(gamma)); + double beta_x = px * p0c / (mass0 * gamma); + double beta_y = py * p0c / (mass0 * gamma); + + double Fx = 0.0; // initialize Fx to 0 by default + double Fy = 0.0; // initialize Fy to 0 by default + double Fl = 0.0; // initialize Fl to 0 by default + + if (radius < radius_e_beam) { + // Radial_velocity_dependence due to space charge + // -> from equation 100b in Helmut Poth: Electron cooling. page 186 + double space_charge_coefficient = space_charge_factor * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / POW2(gamma0); // used for computation of the space charge energy offset + double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); + double E_diff_space_charge = dE_E * energy_e_total; + + double E_kin_total = energy_electron_initial + offset_energy + E_diff_space_charge; + double gamma_final = 1 + (E_kin_total / mass_electron_ev); + double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); - // Particle beam parameters - double total_momentum = p0c*(1.0+delta); // eV - double gamma = sqrt(1.0 + POW2(total_momentum/mass0)); - double beta = sqrt(1.0 - 1.0/POW2(gamma)); - double beta_x = px * p0c / (mass0 * gamma); - double beta_y = py * p0c / (mass0 * gamma); + // Velocity differences + double dVz = beta * C_LIGHT - beta_final * C_LIGHT; + double dVx = beta_x * C_LIGHT; + double dVy = beta_y * C_LIGHT; + dVx -= omega_e_beam * radius * -sin(theta); + dVy -= omega_e_beam * radius * +cos(theta); + double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); - double Fx = 0.0; // initialize Fx to 0 by default - double Fy = 0.0; // initialize Fy to 0 by default - double Fl = 0.0; // initialize Fl to 0 by default - - if (radius < radius_e_beam) { + // Coulomb logarithm + double rho_min = q0*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(POW2(dV_abs) + POW2(V_e_long)); + //double rho_min = (q0*POW2(QELEM)/MASS_ELECTRON)/(POW2(dV_abs) + POW2(V_e_long)); + double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); - //radial_velocity_dependence due to space charge - //equation 100b in Helmut Poth: Electron cooling. page 186 - double space_charge_coefficient = space_charge_factor * RADIUS_ELECTRON / (QELEM * C_LIGHT) * (gamma0 + 1) / POW2(gamma0); //used for computation of the space charge energy offset - double dE_E = space_charge_coefficient * current * POW2(radius / radius_e_beam) / POW3(beta0); - double E_diff_space_charge = dE_E * energy_e_total; - - double E_kin_total = energy_electron_initial + offset_energy + E_diff_space_charge; - double gamma_final = 1 + (E_kin_total / mass_electron_ev); - double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); + // double rho_max_1 = sqrt(POW2(dV_abs) + POW2(V_e_long))/elec_plasma_frequency; + // double rho_max_2 = sqrt(POW2(dV_abs) + POW2(V_e_long)) * tau; + // double rho_max = fmin(rho_max_1, rho_max_2); - // Velocity differences - double dVz = beta * C_LIGHT - beta_final* C_LIGHT; - double dVx = beta_x* C_LIGHT; - double dVy = beta_y* C_LIGHT; - dVx -= omega_e_beam *radius* -sin(theta); - dVy -= omega_e_beam *radius* +cos(theta); - double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); + /* Betacool documentation/code have different implementation. + // Betacool code + // double rho_max_1 = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency); + // double rho_max_2 = sqrt(POW2(dV_abs) + POW2(V_e_long))/(1/tau); + // rho_max = rho_max_1 > rho_max_2 ? rho_max_2 : rho_max_1; + // Betacool manual + double rho_max = dV_abs/(elec_plasma_frequency + 1/tau); + */ - // Coulomb logarithm - double rho_min = q0*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(POW2(dV_abs) + POW2(V_e_long)); - double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); - double log_term = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); + double log_coulomb = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); - double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); //coefficient used for computation of friction force - - Fx = (friction_coefficient * dVx/friction_denominator * log_term); //Newton - Fy = (friction_coefficient * dVy/friction_denominator * log_term); //Newton - Fl = (friction_coefficient * dVz/friction_denominator * log_term); //Newton + double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); // coefficient used for computation of friction force + + Fx = (friction_coefficient * dVx/friction_denominator * log_coulomb); // Newton + Fy = (friction_coefficient * dVy/friction_denominator * log_coulomb); // Newton + Fl = (friction_coefficient * dVz/friction_denominator * log_coulomb); // Newton - Fx = Fx * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c - Fy = Fy * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c - Fl = Fl * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c - } - double delta_new = delta+Fl*gamma0*tau/p0c; - - LocalParticle_update_delta(part,delta_new); - LocalParticle_add_to_px(part,Fx*gamma0*tau/p0c); - LocalParticle_add_to_py(part,Fy*gamma0*tau/p0c); + Fx = Fx * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fy = Fy * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c + Fl = Fl * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c + } + double delta_new = delta + Fl * gamma0 * tau/p0c; + + LocalParticle_update_delta(part,delta_new); + LocalParticle_add_to_px(part,Fx * gamma0 * tau/p0c); + LocalParticle_add_to_py(part,Fy * gamma0 * tau/p0c); //end_per_particle_block } From 6279a8df9e8bab546a0d2c25b6789b89312252ce Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 8 Jan 2025 16:30:14 +0100 Subject: [PATCH 32/43] update ecooler test --- ducktrack/elements.py | 12 +- .../electron_cooler/emittance_betacool.npz | Bin 64544 -> 64544 bytes test_data/electron_cooler/force_betacool.npz | Bin 3756 -> 3756 bytes .../generating_betacool_data/LEIR.bld | 13 +- .../betacool-emittance.ipynb | 121 --------- .../betacool-friction.ipynb | 162 ------------ .../betacool_emittance.py | 38 +++ .../betacool_friction_force.py | 41 +++ tests/test_elements.py | 234 +++++++++++------- 9 files changed, 240 insertions(+), 381 deletions(-) delete mode 100644 test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb delete mode 100644 test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb create mode 100644 test_data/electron_cooler/generating_betacool_data/betacool_emittance.py create mode 100644 test_data/electron_cooler/generating_betacool_data/betacool_friction_force.py diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 0dfa7f207..99a697f17 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -943,12 +943,12 @@ def force(self, p): dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) # Coulomb logarithm - #rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) - rho_min = (q0*qe**2/me_kg)/(dV_abs**2 + V_e_long**2) - rho_max_1 = np.sqrt(dV_abs**2 + V_e_long**2) / elec_plasma_frequency - rho_max_2 = np.sqrt(dV_abs**2 + V_e_long**2) * self.tau - rho_max = min(rho_max_1, rho_max_2) - #rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) + rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) + #rho_min = (q0*qe**2/me_kg)/(dV_abs**2 + V_e_long**2) + # rho_max_1 = np.sqrt(dV_abs**2 + V_e_long**2) / elec_plasma_frequency + # rho_max_2 = np.sqrt(dV_abs**2 + V_e_long**2) * self.tau + #rho_max = min(rho_max_1, rho_max_2) + rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) friction_denominator = (dV_abs**2 + V_eff**2)**1.5 # coefficient used for computation of friction force diff --git a/test_data/electron_cooler/emittance_betacool.npz b/test_data/electron_cooler/emittance_betacool.npz index d2cd46f6c2016f0c976499e33bbf62945a645d4f..a30cda5459bcad5dfe89e2facca426f6ac0c5eac 100644 GIT binary patch literal 64544 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 diff --git a/test_data/electron_cooler/force_betacool.npz b/test_data/electron_cooler/force_betacool.npz index 63a0fb0d5b1512371837c97cd0f33f3aae512d58..93b4bca5a7f5bc629f737e0e3f04e451dff713cf 100644 GIT binary patch delta 1731 zcmYL~c}!GS7{#X!McXP4ARwa*Gi-y)OdWwz3c^vVAc8nl5J$8UtHnT!W>BoyKE(vV zjUc8rDpFM3H>6ZcYCToa8qtXav4t3kOQXTo1&O6nT9(iB{&Vwk-+TAo^PThij`GLSZx`S zV70`jxFI&ey6WX=H@MGJ?<{h6$Cb9otWmk{c)RgXUdJ7GsGG_{T;qm8*BRbkQ8P?I z#~FQ?Bgg|BXsEuh%L69QSz8Yc^F&tOy45F3JYjb^^<Pd&UA29JQHZE#R?;|PqLcTeY3 zI1*Qlk(p7Gd|*%6zVCrr(V@)n)UxQh4hL^!TsD>aVwEXO-4dn8&@pX3=TGRN4{3R? zFwlTMTUOR76$Z4&Uv2L2^TS&I?_R|m@x$N)8*^*J{qfoF3kF@i=8u1@Gc#^44nR`U z5*OP$fv|aPO?FfVBGqx-$i+c;==jq1v!4;pXKeL3$|EDHZ+z6U@oX^S+OuC@EFFao z^SN~|R*&wHJmyr_(lNk{Fz36=#zJ-c*ZU{dnXv8hvaMx%&4`}mxA%49`?%7OxL&tq z9L|5+dagUd0?q8FPX@fOV0H5^Zlk^*kL4$iCT`vkf|mvJ+cQ58g|Bvbx?y%08s?r| zuS`z+0GjgY`--!}@kzH$t@`>yJn~4I(9jftvaG7;ZI(!cT&P`PJRAjOiM9LzqLH_> zrD`cI%l#Q#V&P#%7{>s`f23c{dyJk*dNiyO(H{GmA zo`s`bWz`2#Q(=5QAwhFA4P(chH}6?67f*g0-fG-DA1Bg(2)^W>fm(A{Yt)>DD5y8VI#p4@wq*#qn{8J+*^zupak9=XT7lg$>A^{*x#&K8 za7y*#T*L&Hh3_xVL3d`Uu3~K_Bw8wYrmR!mr+m-kTYdkdY(UwNasbMKCml(iUJfxC<;*&qbSH8NqZHgNKBEOQUXdzC?%pIHKWv!Qd3HeDK)2ffZ_>? zM<|}5c!<5G>hToCWE9g;Oh_>$#iRkBpR< zQDR4lAtjdVkEs$s$t@+vlw4DCPRTum0~9V$I6>hCg(K_-i;e;s3V0|WqJW8gpi=U+ z6mn5WMj;!8bQJPYNJt?gg_IO>Qb%U{ZydFJ%D2AI^QQnO2#re~Hg8C1Q^sMPKf@gICY0PFw& delta 1714 zcmXw)2~1R16owH6ESppY5Oo{|0gDK-h&UqnyQWGF)C#tg5fljsq)4SQ7UkKvK}8V9 z)E!HRMV6#RiYScuM`~ZCz>#QM3!l=}RUrlbQGKz32SjcdFIZYKy3d z(PLCbKYN#&$*(P)Rc0fX)-1at^G3U+nc48i=x0@`qz6R0UjB7FLj4ci(uX->XMw}n z{3DJifT4KZ3rC!qv0WJ*tAbTc??7IY3J1=ZesS<}LeqN*-!|-bg2`N$UH*>~4tIBs z9n5fsc7L1Qorlg~;~}pky$i~2+1j?;b-`bipPkXgPQZyitBviQ6R!SimitAfhc z18JZ1yCM+fms<8r#MM>(|AAYyY3p8&zWmo|4@T!`<|oyF>ZL7aXvcjq8pM8ZyTQZXwjwGqB9-W z;zr5M!nek|<4IG}7MB9W9VxzN_1-p9;TC3-xTk0;41ea{%XRg@C8Pa?brl}?#@f@R zV7@1!3zt;J-t)w+-rn5c?OyN?EIGK>XBzPLn6kFcX^6S9?Q!wZckt@u##xc^-cVn# zZYuMgj!7%>l^{zWY(C+X`dyz7(tW#s?r5I@O~nTv<|%EyxVHS?kYo4#(4~&(w(p;b zakG7j2lx5oddr4;Chq{GJ2zhZ^jZL>j0)*#-5Q8P9XkR_f`ia_!R=+;%OK3_op-|e z>MS^|?Am&|JQ(+D;^NO6XQTbWqxE@3Aqf9*_L1Gk=b$`EwS&W2wt@l?&OVFKoxad{)Qhd4J@I{sWT_k87LY-bM!{Djsvr?KP5Z|*tyV0}) z5x1k~hd+sg$GWt@x&H5?)o?|*#=@28o0`Su39E2(+;ii;pQ2&dw_E#1%W6E?5EfWq z8w=!ioJ%c?pPOiBr}ht)b-6U``?)H`Ke=v?RgKqw`t7t`s;AeBT^j zmxfJMw+$yVGhmCdto(^ygK zP7ZSVLiAtX-i#kCZKhRhONH=bCf_N)Q~pnRp0&wu-bY!0vLIyxlnqffNIPX@$CMLL zPDD8&<;0WQ9?%vAtjWQkSdhaQc_GwH6`Vg)Ke&+P(h)DLJfr?zQL-^mx37u zI|_yrEIERy;!WX}!ZC$w3g;B=DITDBf#L~@Hz*$Ah*;byqM?X~A|i^I_(oJpj2p#V z6q8ZRMll`5d=wK>%t$dM#hetAQq)ROEk(T)6;ssAVO6IMxtii`ipwc(r?{Tte#$JM q%m&J=pv(@+Ea3<(FO>i9Q4yoeRilT;QLw|%U0@m+M#fF{y8i%?qynb^ diff --git a/test_data/electron_cooler/generating_betacool_data/LEIR.bld b/test_data/electron_cooler/generating_betacool_data/LEIR.bld index cbed93796..585e3b5d6 100644 --- a/test_data/electron_cooler/generating_betacool_data/LEIR.bld +++ b/test_data/electron_cooler/generating_betacool_data/LEIR.bld @@ -312,7 +312,7 @@ nica_5e-4.inj= File with initial distribution 1= Integration step: time (0), turns (1) 1= Random synchrotron tune 2= Core definition [sigma] -0.1= Stop time [sec] +1= Stop time [sec] 0= Betatron tune: regular (0), random (1), randoms (2) 2= Invarinats in core [1-3] 0= Coupling resonance rate (0/1) @@ -602,8 +602,8 @@ Bring3.bump= bump file [row=50] ECOOL | Models | Cooler 0= Calculation model: Thin lens(0), Euler(1), Runge-Kutta(2) 10= Number of integration steps for Euler and Runge-Kutta -3= Cooler length, m -0.7= Magnetic field, kG +2.5= Cooler length, m +0.75= Magnetic field, kG 1= Section number (for Model Beam) 0= Fringe Field 1= Number of bunches @@ -727,12 +727,12 @@ dist20k_at54MeV.dat= File name 3= Model: Budker(0),Non-magnetized(1),Derbenev(2),Parkhomchuk(3),Toepffer(4),Tabulated(5) 0= Emittance(0/1) 1= Beam temperature(0/1) -1.748630778e-06= Transverse emittance, pi*m*rad -0.01= Transverse temperature, eV +5.529656044e-06= Transverse emittance, pi*m*rad +0.1= Transverse temperature, eV 0.0004694474719= Longitudinal emittance, dP/P 0.001= Longitudinal temperature, eV 0= Rms velocity 90/1) -41938.10552= transverse velocity +132619.9342= transverse velocity 13261.99342= longitudinal velocity 0= Smooth ro (0/1) 1= ro via rel velocity @@ -937,3 +937,4 @@ table.lvt= Longitudinal velocity table 1e-07= Diffusion amplitude [1/s] 0.002= Diffusion position, dp/p 0.001; Initial sigma for diffusion, dp/p + diff --git a/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb b/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb deleted file mode 100644 index f0f87d163..000000000 --- a/test_data/electron_cooler/generating_betacool_data/betacool-emittance.ipynb +++ /dev/null @@ -1,121 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "id": "16460ba6", - "metadata": { - "vscode": { - "languageId": "raw" - } - }, - "source": [ - "# copyright ############################### #\n", - "# This file is part of the Xtrack Package. #\n", - "# Copyright (c) CERN, 2021. #\n", - "# ######################################### #" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7897436b", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# gna gna gna... pybetacool... link gitlab...\n", - "from pybetacool import PyBetaCool\n", - "\n", - "# unofficial Betacool: https://github.com/dgamba/betacool\n", - "obj = PyBetaCool(BLDfilename='LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux')\n", - "\n", - "# Execute Betacool\n", - "obj.runBetacool('/m')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "716f1e9a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "TODO: simple version here...\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "

" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#################################\n", - "# parse file and plot data\n", - "#################################\n", - "\n", - "tmp = obj.parseCurveFile('emittance.cur')\n", - "time = tmp[:,0]\n", - "emittance = tmp[:,1]*1e-6\n", - "\n", - "plt.figure()\n", - "plt.plot(time,emittance, label='emittance')\n", - "plt.title('betacool')\n", - "plt.ylabel('Emittance')\n", - "plt.xlabel('Time')\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "31ed9253", - "metadata": {}, - "outputs": [], - "source": [ - "#################################\n", - "# save data as reference for test\n", - "#################################\n", - "filpath='../emittance_betacool.npz'\n", - "np.savez(filpath, time=time, emittance=emittance)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - }, - "vscode": { - "interpreter": { - "hash": "b3c9a0a5475e728b39e61ac58d244ad936924f9cf82746515a9faeb1f1a0b703" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb b/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb deleted file mode 100644 index 18777d29b..000000000 --- a/test_data/electron_cooler/generating_betacool_data/betacool-friction.ipynb +++ /dev/null @@ -1,162 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 9, - "id": "16460ba6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "BETACOOL----------release ver.7.2.beta (omp)----------2023/6/23\n", - "/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux /home/pkruyt/cernbox/BETACOOL_ecooling/benchmarking-Betacool/LEIR.bld /f\n", - "Input parameter [12,11] was initialised with default value:1e+10\n", - "Cannot open file : Bring3.bump\n", - "Mean beam radius= 0.1370049566 is more than chamber 4\n", - "Mean beam radius= 0.1370049566 is more than chamber 4\n", - "FINISH: 2023/6/23-16:53:37\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import scipy.optimize\n", - "import math\n", - "import numpy as np\n", - "from pybetacool import PyBetaCool\n", - "\n", - "#unofficial Betacool: https://github.com/dgamba/betacool\n", - "obj = PyBetaCool(BLDfilename='/home/pkruyt/cernbox/BETACOOL_ecooling/benchmarking-Betacool/LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux')\n", - "# Edit one parameter (row=60, 5th value is \"Transverse temperature, eV\")\n", - "# Execute Betacool\n", - "obj.runBetacool('/f')" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "ed7f6410", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "TODO: simple version here...\n" - ] - } - ], - "source": [ - "#################################\n", - "# parse\n", - "#################################\n", - "data = obj.parseCurveFile('flong.cur')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "716f1e9a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "TODO: simple version here...\n" - ] - }, - { - "data": { - "image/png": "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+9//rnfeeaemagIAAKgz3GpZ8vf31/vvv19TtQAAANQ5bnfDjRo1SitWrKiBUgAAAOoetwd4t2vXTo888og2bdqknj17KiQkpMz2u+++22PFAQAAeJvb94Zr1arVLx/MYNDBgwerXVRdxr3hAADwPbV6b7hDhw65+xYAAACf5faYpdLsdrvcbJgCAADwKVUKS2+99Za6dOmioKAgBQUFqWvXrnr77bc9XRsAAIDXud0N98wzz+jvf/+7Jk2apP79+0uSNm7cqDvvvFMnT57UPffc4/EiAQAAvKVKA7xnz56tsWPHllm/aNEizZo1q96PaWKANwAAvqc6v99ud8MdP35c/fr1K7e+X79+On78uLuHAwAAqNPcDktt27bVu+++W2790qVL1a5dO48UBQAAUFe4PWZp9uzZGj16tL788kvnmKVNmzZp7dq1FYYoAAAAX+Z2y9L111+vrVu3qnHjxlqxYoVWrFihxo0b65tvvtFvf/vbmqgRAADAayo9wNtms8nPr1rTMtULDPAGAMD31MoAb39/f2VmZjqX77vvPp0+fdqtkwEAAPiaSoelixugXnnlFZ09e9bT9QAAANQpVe5X4zYnAACgIWAQEgAAgAtuTR3w0EMPKTg4WJJUWFiof/zjH4qIiCizzzPPPOO56gAAALys0mFp4MCB2r9/v3O5X79+OnjwYJl9DAaD5yoDAACoAyodltavX1+DZQAAANRN1RqztGnTJhUUFHiqFgAAgDqnWmHp2muv1bFjxzxVCwAAQJ1TrbDE9AEAAKC+Y+oAAAAAF6oVll555RXFxcV5qhYAAIA6x615li528803e6oOAACAOoluOAAAABcISwAAAC4QlgAAAFwgLAEAALhAWAIAAHCBsAQAAOACYQkAAMAFwhIAAIALhCUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAFwhLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAWfCEuHDx/WhAkT1KpVKwUFBalNmzZ6+OGHVVhYWGa/nTt3asCAAQoMDFRiYqKeeuqpcsdatmyZOnTooMDAQHXp0kUff/xxbX0MAADgg3wiLO3bt082m02vvPKK9uzZo2effVbz58/X3/72N+c+FotFQ4cOVYsWLZSSkqKnn35a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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "tmp = obj.parseCurveFile('flong.cur')\n", - "#tmp = tmp.transpose()\n", - "\n", - "#remove Nan\n", - "#nan_mask = np.isnan(tmp).any(axis=1) # create boolean mask of rows with NaN values\n", - "#tmp = tmp[~nan_mask] # extract rows without any NaN values\n", - "tmp = tmp[:(100000)]\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "v_diff=tmp[:, 0]\n", - "force=tmp[:,1]\n", - "# plot the data points\n", - "#plt.plot(tmp[:, 0], tmp[:, 1], label='betacool')\n", - "plt.plot(v_diff,-force, label='betacool')\n", - "\n", - "\n", - "# add labels and legend\n", - "plt.xlabel('delta v')\n", - "plt.ylabel('-Force [eV/m]')\n", - "plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0))\n", - "plt.legend()\n", - "plt.xlim([0,6e5])\n", - "#plt.ylim([0,1550])\n", - "\n", - "# show the plot\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "263bf708", - "metadata": {}, - "outputs": [], - "source": [ - "# np.save('../force_betacool.npy', tmp)\n", - "\n", - "\n", - "np.savez('../force_betacool.npz', v_diff=v_diff, force=force)\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - }, - "vscode": { - "interpreter": { - "hash": "b3c9a0a5475e728b39e61ac58d244ad936924f9cf82746515a9faeb1f1a0b703" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/test_data/electron_cooler/generating_betacool_data/betacool_emittance.py b/test_data/electron_cooler/generating_betacool_data/betacool_emittance.py new file mode 100644 index 000000000..01d272926 --- /dev/null +++ b/test_data/electron_cooler/generating_betacool_data/betacool_emittance.py @@ -0,0 +1,38 @@ +# copyright ############################### # +# This file is part of the Xtrack Package. # +# Copyright (c) CERN, 2021. # +# ######################################### # + +import numpy as np +import matplotlib.pyplot as plt + +# https://gitlab.cern.ch/e-beam/pybetacool +from pybetacool import PyBetaCool + +# unofficial Betacool: https://github.com/dgamba/betacool +obj = PyBetaCool(BLDfilename='LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux') + +# Execute Betacool emittance +obj.runBetacool('/m') + +################################# +# parse file and plot data +################################# + +tmp = obj.parseCurveFile('emittance.cur') +time = tmp[:,0] +emittance = tmp[:,1]*1e-6 + +plt.figure() +plt.plot(time,emittance, label='emittance') +plt.title('betacool') +plt.ylabel('Emittance') +plt.xlabel('Time') +plt.legend() +plt.show() + +################################# +# save data as reference for test +################################# +filpath='../emittance_betacool.npz' +np.savez(filpath, time=time, emittance=emittance) \ No newline at end of file diff --git a/test_data/electron_cooler/generating_betacool_data/betacool_friction_force.py b/test_data/electron_cooler/generating_betacool_data/betacool_friction_force.py new file mode 100644 index 000000000..a99dba446 --- /dev/null +++ b/test_data/electron_cooler/generating_betacool_data/betacool_friction_force.py @@ -0,0 +1,41 @@ +# copyright ############################### # +# This file is part of the Xtrack Package. # +# Copyright (c) CERN, 2021. # +# ######################################### # + +import numpy as np +import matplotlib.pyplot as plt + +# https://gitlab.cern.ch/e-beam/pybetacool +from pybetacool import PyBetaCool + +# unofficial Betacool: https://github.com/dgamba/betacool +obj = PyBetaCool(BLDfilename='LEIR.bld', betacoolExec='/home/pkruyt/cernbox/BETACOOL_ecooling/betacool/Betacool_Linux') + +# Execute Betacool force +obj.runBetacool('/f') + +################################# +# parse file and plot data +################################# + +tmp = obj.parseCurveFile('flong.cur') +tmp = tmp[:(100000)] + +v_diff=tmp[:, 0] +force=tmp[:,1] + +plt.figure() +plt.plot(v_diff,-force, label='betacool') +plt.xlabel('delta v') +plt.ylabel('-Force [eV/m]') +plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0)) +plt.legend() +plt.xlim([0,6e5]) +plt.show() + + +################################# +# save data as reference for test +################################# +np.savez('../force_betacool.npz', v_diff=v_diff, force=force) \ No newline at end of file diff --git a/tests/test_elements.py b/tests/test_elements.py index 54a9667e1..047436ccb 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1158,85 +1158,147 @@ def test_ecooler(test_context): emittance_betacool = data['emittance'] time_betacool = data['time'] - beta_rel = 0.09423258405 - gamma = 1.004469679 - current = 0.6 - cooler_length = 3 # m - radius_e_beam = 25 * 1e-3 - temp_perp = 0.01 # [eV] = kb*T - temp_long = 0.001 # [eV] - magnetic_field = 0.07 # T for LEIR + gamma0 = 1.004469679 + beta0 = np.sqrt(1 - 1 / gamma0**2) mass0 = 193729.0248722061 * 1e6 # eV/c^2 clight = 299792458.0 - p0c = mass0 * beta_rel * gamma # eV/c + p0c = mass0 * beta0 * gamma0 # eV/c q0 = 54 + particle_ref = xp.Particles(p0c=p0c,q0=q0,mass0=mass0,beta0=beta0,gamma0=gamma0) + circumference = 78.54370266 # m - s_per_turn = circumference / (clight * beta_rel) + T_per_turn = circumference/(clight*beta0) + + qx = 1.82 + qy = 2.72 beta_x = 5 beta_y = 5 - Q_x = 1.82 - Q_y = 2.72 - dQx = -0.0005113579791 - dQy = -0.0001665178543 + qs=0.005247746218929317 + bets0=-2078.673348423543 arc = xt.LineSegmentMap( - qx=Q_x, qy=Q_y, qs=0, - dqx=dQx, dqy=dQy, - bets=1 * 1e40, length=circumference, - betx=beta_x, - bety=beta_y) - - num_particles = 100 # increase for better convergence - emittance = 14 * 1e-6 # initial emittance - sigma_x = np.sqrt(beta_x * emittance) - sigma_px = np.sqrt(emittance / beta_x) - sigma_y = np.sqrt(beta_y * emittance) - sigma_py = np.sqrt(emittance / beta_y) - sigma_p = 5e-3 - - delta = np.random.normal(loc=0.0, scale=sigma_p, size=num_particles) - x = np.random.normal(loc=0.0, scale=sigma_x, size=num_particles) - px = np.random.normal(loc=0.0, scale=sigma_px, size=num_particles) - y = np.random.normal(loc=0.0, scale=sigma_y, size=num_particles) - py = np.random.normal(loc=0.0, scale=sigma_py, size=num_particles) - - particles = xp.Particles( - mass0=mass0, - p0c=p0c, - q0=q0, - x=x, - px=px, - y=y, - py=py, - delta=delta, - zeta=0) - - cooler = xt.ElectronCooler( - current=current, length=cooler_length, radius_e_beam=radius_e_beam, - temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, - space_charge_factor=0) - - num_turns = 34700 - emittance_list = [] - - for i in range(num_turns): - x_xs = particles.x.copy() - px_xs = particles.px.copy() - cov00 = np.cov(x_xs, px_xs) - det00 = np.sqrt(np.linalg.det(cov00)) - emittance_list.append(det00) - arc.track(particles) - cooler.track(particles) - time = np.arange(0, num_turns, 1) * s_per_turn + qx=qx, qy=qy, + length=circumference, + betx=beta_x, + bety=beta_y, + ) + ############################### + + arc_matching = xt.LineSegmentMap( + qx=qx, qy=qy, + length=circumference, + betx=beta_x, + bety=beta_y, + qs=qs, + bets=bets0) + + line_matching=xt.Line([arc_matching]) + line_matching.build_tracker() + + num_particles=int(1e3) + + #sigma_dp = 2e-3 # Standard LEIR value + sigma_dp = 5e-3 # from Schotttky: 5e-3 + + gemitt_x = 14e-6 + gemitt_y = 14e-6 + + nemitt_x = gemitt_x*beta0*gamma0 + nemitt_y = gemitt_y*beta0*gamma0 + + particles = xp.generate_matched_gaussian_bunch( + num_particles=num_particles, + # total_intensity_particles=bunch_intensity, + nemitt_x=nemitt_x, nemitt_y=nemitt_y, sigma_z=4.2, + particle_ref=particle_ref, + line=line_matching, + ) + + # create desired beam + bunch_intensity = None + sigma_z=-bets0*sigma_dp + + particles.delta = np.random.normal(loc=0.0, scale=sigma_dp, size=num_particles) + #particles.zeta = 0 + particles.zeta = np.random.uniform(-circumference/2, circumference/2, num_particles) + particles0=particles.copy() + + # simulation parameters: simulate 1 s of cooling, and take data once every 10 ms + max_time_s = 1 + int_time_s = 1*1e-3 + + # compute length of simulation, as well as sample interval, in turns + num_turns = int((max_time_s / T_per_turn).item()) + save_interval = int((int_time_s / T_per_turn).item()) + + + # create a monitor object, to reduce holded data + monitor = xt.ParticlesMonitor(start_at_turn=0, stop_at_turn=1, + n_repetitions=int(num_turns/save_interval), + repetition_period=save_interval, + num_particles=len(particles.x)) + + current = 0.6 # amperes + cooler_length = 2.5 # m cooler length + radius_e_beam = 25 * 1e-3 + temp_perp = 100e-3 # [eV] = kb*T + temp_long = 1e-3 # [eV] + magnetic_field = 0.075 # T for LEIR + + electron_cooler = xt.ElectronCooler(current=current, + length=cooler_length, + radius_e_beam=radius_e_beam, + temp_perp=temp_perp, temp_long=temp_long, + magnetic_field=magnetic_field) + + line = xt.Line(elements=[monitor, electron_cooler, arc],element_names=['monitor','electron_cooler','arc']) + + line.particle_ref = particle_ref + context = xo.ContextCpu(omp_num_threads=4) + line.build_tracker(_context=context) + + particles=particles0.copy() + #particles.q0=charge + #particles.delta = np.random.normal(loc=0.0, scale=sigma_dp_loop, size=num_particles) + # particles_emittance=particles_emittance0.copy() + + # just track all particles, and keep turn-by-turn data (memory expensive!) + line.track(particles, num_turns=num_turns, + turn_by_turn_monitor=False,with_progress=True) + + # extract relevant values + x = monitor.x[:,:,0] + px = monitor.px[:,:,0] + y = monitor.y[:,:,0] + py = monitor.py[:,:,0] + delta = monitor.delta[:,:,0] + zeta = monitor.zeta[:,:,0] + time = monitor.at_turn[:, 0, 0] * T_per_turn + + # compute actions. for x, remove the dp/p contribution: + action_x = (x**2/beta_x + beta_x*px**2) + # for y, simple compute: + action_y = (y**2/beta_y + beta_y*py**2) + emittance_x=np.mean(action_x, axis=1)/2 + norm_emittance_x=np.mean(action_x,axis=1)/2*gamma0*beta0 + norm_emittance_y=np.mean(action_y,axis=1)/2*gamma0*beta0 + + geo_emittance_x=np.mean(action_x,axis=1)/2 + geo_emittance_y=np.mean(action_y,axis=1)/2 + + # sigma_x_all_angles = np.array([np.sqrt(beta_x * geo_emittance_x) for angle in angle_list]) + # sigma_x_95 = np.percentile(sigma_x_all_angles, 95, axis=0) + p0c = particle_ref.p0c + momentum = p0c*delta+p0c for i in range(len(time_betacool) - 1, -1, -1): - if not np.isnan(time_betacool[i]): - last_non_nan_index = i - break + if not np.isnan(time_betacool[i]): + last_non_nan_index = i + break time_betacool = time_betacool[:last_non_nan_index] matched_indices = [np.abs(time - time_value).argmin() for time_value in time_betacool] - emittance_xsuite = [emittance_list[index] for index in matched_indices] + emittance_xsuite = [geo_emittance_x[index] for index in matched_indices] emittance_betacool = emittance_betacool[:last_non_nan_index] emittance_diff = emittance_xsuite - emittance_betacool mse_emittance = np.mean(emittance_diff**2) @@ -1245,44 +1307,44 @@ def test_ecooler(test_context): data_betacool = np.load('../test_data/electron_cooler/force_betacool.npz') v_diff_betacool = data_betacool['v_diff'] force_betacool = data_betacool['force'] - num_particles = int(1e4) + num_particles = int(1e3) dtk_particle = dtk.TestParticles( - mass0=mass0, - p0c=p0c, - x = np.random.normal(0, 1e-20, num_particles), - px = np.random.normal(0, 4*np.sqrt(emittance/beta_x), num_particles), - y = np.random.normal(0, 1e-20, num_particles), - py = np.random.normal(0, 1e-20, num_particles), - delta = np.random.normal(0, 0, num_particles), - zeta = np.random.normal(0, 0, num_particles), - q0=q0) + mass0=mass0, + p0c=p0c, + x = np.random.normal(0, 1e-20, num_particles), + px = np.random.normal(0, 4*np.sqrt(gemitt_x/beta_x), num_particles), + y = np.random.normal(0, 1e-20, num_particles), + py = np.random.normal(0, 1e-20, num_particles), + delta = np.random.normal(0, 0, num_particles), + zeta = np.random.normal(0, 0, num_particles), + q0=q0) dtk_cooler = dtk.elements.ElectronCooler( - current=current, length=cooler_length, radius_e_beam=radius_e_beam, - temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, - space_charge_factor=0) + current=current, length=cooler_length, radius_e_beam=radius_e_beam, + temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, + space_charge_factor=0) force, _, _ = dtk_cooler.force(dtk_particle) px_tot = p0c*dtk_particle.px - beta_diff = px_tot/(mass0*gamma) + beta_diff = px_tot/(mass0*gamma0) v_diff = beta_diff*clight sorted_indices = np.argsort(v_diff) v_diff = v_diff[sorted_indices] force = force[sorted_indices] for i in range(len(v_diff_betacool) - 1, -1, -1): - if not np.isnan(v_diff_betacool[i]): - last_non_nan_index = i - break + if not np.isnan(v_diff_betacool[i]): + last_non_nan_index = i + break v_diff_betacool = v_diff_betacool[:last_non_nan_index] matching_indices = [] for time_value in v_diff_betacool: - index = np.abs(v_diff - time_value).argmin() - matching_indices.append(index) + index = np.abs(v_diff - time_value).argmin() + matching_indices.append(index) force_xsuite = [force[i] for i in matching_indices] @@ -1292,4 +1354,4 @@ def test_ecooler(test_context): mse_force = np.mean(force_diff**2) assert mse_emittance <1e-9 - assert mse_force < 2 + assert mse_force < 10 \ No newline at end of file From 40dc93d791cca823b6970702a1bc560b64c3e50c Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 8 Jan 2025 16:35:11 +0100 Subject: [PATCH 33/43] cleanup test --- tests/test_elements.py | 43 ++++-------------------------------------- 1 file changed, 4 insertions(+), 39 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 047436ccb..0a28668df 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1182,8 +1182,7 @@ def test_ecooler(test_context): betx=beta_x, bety=beta_y, ) - ############################### - + arc_matching = xt.LineSegmentMap( qx=qx, qy=qy, length=circumference, @@ -1196,10 +1195,7 @@ def test_ecooler(test_context): line_matching.build_tracker() num_particles=int(1e3) - - #sigma_dp = 2e-3 # Standard LEIR value - sigma_dp = 5e-3 # from Schotttky: 5e-3 - + sigma_dp = 5e-3 gemitt_x = 14e-6 gemitt_y = 14e-6 @@ -1214,25 +1210,15 @@ def test_ecooler(test_context): line=line_matching, ) - # create desired beam - bunch_intensity = None - sigma_z=-bets0*sigma_dp - particles.delta = np.random.normal(loc=0.0, scale=sigma_dp, size=num_particles) - #particles.zeta = 0 particles.zeta = np.random.uniform(-circumference/2, circumference/2, num_particles) particles0=particles.copy() - # simulation parameters: simulate 1 s of cooling, and take data once every 10 ms max_time_s = 1 int_time_s = 1*1e-3 - - # compute length of simulation, as well as sample interval, in turns num_turns = int((max_time_s / T_per_turn).item()) save_interval = int((int_time_s / T_per_turn).item()) - - # create a monitor object, to reduce holded data monitor = xt.ParticlesMonitor(start_at_turn=0, stop_at_turn=1, n_repetitions=int(num_turns/save_interval), repetition_period=save_interval, @@ -1251,22 +1237,15 @@ def test_ecooler(test_context): temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field) - line = xt.Line(elements=[monitor, electron_cooler, arc],element_names=['monitor','electron_cooler','arc']) - + line = xt.Line(elements=[monitor, electron_cooler, arc],element_names=['monitor','electron_cooler','arc']) line.particle_ref = particle_ref context = xo.ContextCpu(omp_num_threads=4) line.build_tracker(_context=context) particles=particles0.copy() - #particles.q0=charge - #particles.delta = np.random.normal(loc=0.0, scale=sigma_dp_loop, size=num_particles) - # particles_emittance=particles_emittance0.copy() - - # just track all particles, and keep turn-by-turn data (memory expensive!) line.track(particles, num_turns=num_turns, turn_by_turn_monitor=False,with_progress=True) - # extract relevant values x = monitor.x[:,:,0] px = monitor.px[:,:,0] y = monitor.y[:,:,0] @@ -1275,22 +1254,10 @@ def test_ecooler(test_context): zeta = monitor.zeta[:,:,0] time = monitor.at_turn[:, 0, 0] * T_per_turn - # compute actions. for x, remove the dp/p contribution: action_x = (x**2/beta_x + beta_x*px**2) - # for y, simple compute: - action_y = (y**2/beta_y + beta_y*py**2) - emittance_x=np.mean(action_x, axis=1)/2 - norm_emittance_x=np.mean(action_x,axis=1)/2*gamma0*beta0 - norm_emittance_y=np.mean(action_y,axis=1)/2*gamma0*beta0 - geo_emittance_x=np.mean(action_x,axis=1)/2 - geo_emittance_y=np.mean(action_y,axis=1)/2 - - # sigma_x_all_angles = np.array([np.sqrt(beta_x * geo_emittance_x) for angle in angle_list]) - # sigma_x_95 = np.percentile(sigma_x_all_angles, 95, axis=0) p0c = particle_ref.p0c - momentum = p0c*delta+p0c - + for i in range(len(time_betacool) - 1, -1, -1): if not np.isnan(time_betacool[i]): last_non_nan_index = i @@ -1303,7 +1270,6 @@ def test_ecooler(test_context): emittance_diff = emittance_xsuite - emittance_betacool mse_emittance = np.mean(emittance_diff**2) - data_betacool = np.load('../test_data/electron_cooler/force_betacool.npz') v_diff_betacool = data_betacool['v_diff'] force_betacool = data_betacool['force'] @@ -1347,7 +1313,6 @@ def test_ecooler(test_context): matching_indices.append(index) force_xsuite = [force[i] for i in matching_indices] - force_betacool = force_betacool[:last_non_nan_index] force_diff = force_xsuite - force_betacool From c2930d5e15db18ede7807a8e2a7aa80af413a41e Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 10 Jan 2025 10:16:04 +0100 Subject: [PATCH 34/43] cleanup --- ducktrack/elements.py | 36 ++++++++--------- .../elements_src/electroncooler.h | 40 ++++++------------- 2 files changed, 30 insertions(+), 46 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 99a697f17..1d023877f 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -905,18 +905,17 @@ def force(self, p): V_e_perp = 1/gamma0*(qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity V_e_long = 1/gamma0*(qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity rho_larmor = me_kg * V_e_perp / (qe * magnetic_field) # depends on transverse temperature, larmor radius - elec_plasma_frequency = clight*np.sqrt(4*np.pi*electron_density*classical_e_radius) # electron plasma frequency + elec_plasma_frequency = np.sqrt(electron_density * qe**2 / (me_kg * epsilon_0)) + V_e_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections V_eff = np.sqrt(V_e_long**2 + V_e_magnet**2) # effective electron beam velocity spread mass_electron_ev = me_kg * clight**2 / qe #eV energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV - # Updated gamma and beta factors including offset energy energy_e_total = energy_electron_initial + self.offset_energy - # gamma_total = 1 + (energy_e_total / mass_electron_ev) - # beta_total = np.sqrt(1 - 1 / (gamma_total**2)) - - friction_coefficient = -4*electron_density*me_kg*q0**2*classical_e_radius**2*clight**4 # Coefficient used for computation of friction force + + friction_coefficient = electron_density*q0**2*qe**4 /(4*me_kg*(np.pi*epsilon_0)**2) # Coefficient used for computation of friction force + # compute angular frequency of rotation of e-beam due to space charge omega_e_beam = space_charge_factor*1/(2*np.pi*epsilon_0*clight) * current/(radius_e_beam**2*beta0*gamma0*magnetic_field) @@ -931,31 +930,30 @@ def force(self, p): E_diff_space_charge = dE_E * energy_e_total E_kin_total = energy_e_total + E_diff_space_charge - gamma_final = 1 + (E_kin_total / mass_electron_ev) - beta_final = np.sqrt(1 - 1 / (gamma_final**2)) + gamma_total = 1 + (E_kin_total / mass_electron_ev) + beta_total = np.sqrt(1 - 1 / (gamma_total**2)) # Velocity differences - dVz = beta * clight - beta_final* clight + dVz = beta * clight - beta_total* clight dVx = beta_x * clight dVy = beta_y * clight dVx -= omega_e_beam * radius * -np.sin(theta) # account for ebeam rotation dVy -= omega_e_beam * radius * +np.cos(theta) # account for ebeam rotation dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) - + V_real = np.sqrt(dV_abs**2 + V_e_long**2) + # Coulomb logarithm - rho_min = q0*classical_e_radius*clight**2/(dV_abs**2 + V_e_long**2) - #rho_min = (q0*qe**2/me_kg)/(dV_abs**2 + V_e_long**2) - # rho_max_1 = np.sqrt(dV_abs**2 + V_e_long**2) / elec_plasma_frequency - # rho_max_2 = np.sqrt(dV_abs**2 + V_e_long**2) * self.tau - #rho_max = min(rho_max_1, rho_max_2) - rho_max = np.sqrt(dV_abs**2 + V_e_long**2)/(elec_plasma_frequency + 1/self.tau) + rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_real**2) + rho_max_shielding = V_real/(elec_plasma_frequency) + rho_max_time = V_real*self.tau + rho_max = np.minimum(rho_max_shielding, rho_max_time) log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) friction_denominator = (dV_abs**2 + V_eff**2)**1.5 # coefficient used for computation of friction force - Fx = (friction_coefficient * dVx/friction_denominator * log_coulomb) # Newton - Fy = (friction_coefficient * dVy/friction_denominator * log_coulomb) # Newton - Fl = (friction_coefficient * dVz/friction_denominator * log_coulomb) # Newton + Fx = -friction_coefficient * dVx/friction_denominator * log_coulomb # Newton + Fy = -friction_coefficient * dVy/friction_denominator * log_coulomb # Newton + Fl = -friction_coefficient * dVz/friction_denominator * log_coulomb # Newton # If particle is outside electron beam, set cooling force to zero outside_beam_indices = radius >= radius_e_beam Fx[outside_beam_indices] = 0.0 diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 619c16348..938a84538 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -44,9 +44,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double V_e_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature double V_e_long = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature double rho_larmor = MASS_ELECTRON*V_e_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius - double elec_plasma_frequency = C_LIGHT * sqrt(4 * PI * electron_density * RADIUS_ELECTRON); // electron plasma frequency - //double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); - + double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); double V_e_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; // in eV @@ -54,7 +52,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double energy_e_total = energy_electron_initial + offset_energy; // in eV // compute constants outside per particle block - double friction_coefficient = -4*electron_density*MASS_ELECTRON*POW2(q0)*POW2(RADIUS_ELECTRON)*POW4(C_LIGHT); //coefficient used for computation of friction force + double friction_coefficient = electron_density*POW2(q0)*POW4(QELEM) /(4*MASS_ELECTRON*POW2(PI*EPSILON_0)); // Coefficient used for computation of friction force double omega_e_beam = space_charge_factor*1/(2*PI*EPSILON_0*C_LIGHT) * current/(POW2(radius_e_beam)*beta0*gamma0*magnetic_field); //start_per_particle_block (part0->part) @@ -87,42 +85,30 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double E_diff_space_charge = dE_E * energy_e_total; double E_kin_total = energy_electron_initial + offset_energy + E_diff_space_charge; - double gamma_final = 1 + (E_kin_total / mass_electron_ev); - double beta_final = sqrt(1 - 1 / (gamma_final*gamma_final)); + double gamma_total = 1 + (E_kin_total / mass_electron_ev); + double beta_total = sqrt(1 - 1 / POW2(gamma_total)); // Velocity differences - double dVz = beta * C_LIGHT - beta_final * C_LIGHT; + double dVz = beta * C_LIGHT - beta_total * C_LIGHT; double dVx = beta_x * C_LIGHT; double dVy = beta_y * C_LIGHT; dVx -= omega_e_beam * radius * -sin(theta); dVy -= omega_e_beam * radius * +cos(theta); double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); + double V_real = sqrt(POW2(dV_abs) + POW2(V_e_long)); // Coulomb logarithm - double rho_min = q0*RADIUS_ELECTRON*C_LIGHT*C_LIGHT/(POW2(dV_abs) + POW2(V_e_long)); - //double rho_min = (q0*POW2(QELEM)/MASS_ELECTRON)/(POW2(dV_abs) + POW2(V_e_long)); - double rho_max = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency + 1/tau); - - // double rho_max_1 = sqrt(POW2(dV_abs) + POW2(V_e_long))/elec_plasma_frequency; - // double rho_max_2 = sqrt(POW2(dV_abs) + POW2(V_e_long)) * tau; - // double rho_max = fmin(rho_max_1, rho_max_2); - - /* Betacool documentation/code have different implementation. - // Betacool code - // double rho_max_1 = sqrt(POW2(dV_abs) + POW2(V_e_long))/(elec_plasma_frequency); - // double rho_max_2 = sqrt(POW2(dV_abs) + POW2(V_e_long))/(1/tau); - // rho_max = rho_max_1 > rho_max_2 ? rho_max_2 : rho_max_1; - // Betacool manual - double rho_max = dV_abs/(elec_plasma_frequency + 1/tau); - */ - + double rho_min = q0 *POW2(QELEM)/(4*PI*EPSILON_0*MASS_ELECTRON*POW2(V_real)); + double rho_max_shielding = V_real/elec_plasma_frequency; + double rho_max_time = V_real * tau; + double rho_max = fmin(rho_max_shielding, rho_max_time); double log_coulomb = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); // coefficient used for computation of friction force - Fx = (friction_coefficient * dVx/friction_denominator * log_coulomb); // Newton - Fy = (friction_coefficient * dVy/friction_denominator * log_coulomb); // Newton - Fl = (friction_coefficient * dVz/friction_denominator * log_coulomb); // Newton + Fx = -friction_coefficient * dVx/friction_denominator * log_coulomb; // Newton + Fy = -friction_coefficient * dVy/friction_denominator * log_coulomb; // Newton + Fl = -friction_coefficient * dVz/friction_denominator * log_coulomb; // Newton Fx = Fx * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c Fy = Fy * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c From 245068105c36132889bc37569b616a076c09cf44 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 10 Jan 2025 12:19:10 +0100 Subject: [PATCH 35/43] fix impact parameter to include V_eff instead of only longitudinal --- ducktrack/elements.py | 4 ++-- xtrack/beam_elements/elements_src/electroncooler.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 1d023877f..c4df991b1 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -940,8 +940,8 @@ def force(self, p): dVx -= omega_e_beam * radius * -np.sin(theta) # account for ebeam rotation dVy -= omega_e_beam * radius * +np.cos(theta) # account for ebeam rotation dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) - V_real = np.sqrt(dV_abs**2 + V_e_long**2) - + V_real = np.sqrt(dV_abs**2 + V_eff**2) + # Coulomb logarithm rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_real**2) rho_max_shielding = V_real/(elec_plasma_frequency) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 938a84538..24bb489f9 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -95,7 +95,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p dVx -= omega_e_beam * radius * -sin(theta); dVy -= omega_e_beam * radius * +cos(theta); double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); - double V_real = sqrt(POW2(dV_abs) + POW2(V_e_long)); + double V_real = sqrt(POW2(dV_abs) + POW2(V_eff)); // Coulomb logarithm double rho_min = q0 *POW2(QELEM)/(4*PI*EPSILON_0*MASS_ELECTRON*POW2(V_real)); From 763b80b7d1a26591b78740fbbda5fc89ebe55aab Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Fri, 10 Jan 2025 14:43:37 +0100 Subject: [PATCH 36/43] renaming --- ducktrack/elements.py | 4 ++-- xtrack/beam_elements/elements_src/electroncooler.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index c4df991b1..f606cf2fc 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -945,8 +945,8 @@ def force(self, p): # Coulomb logarithm rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_real**2) rho_max_shielding = V_real/(elec_plasma_frequency) - rho_max_time = V_real*self.tau - rho_max = np.minimum(rho_max_shielding, rho_max_time) + rho_max_interaction = V_real*self.tau + rho_max = np.minimum(rho_max_shielding, rho_max_interaction) log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) friction_denominator = (dV_abs**2 + V_eff**2)**1.5 # coefficient used for computation of friction force diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 24bb489f9..8f867e0fc 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -100,8 +100,8 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p // Coulomb logarithm double rho_min = q0 *POW2(QELEM)/(4*PI*EPSILON_0*MASS_ELECTRON*POW2(V_real)); double rho_max_shielding = V_real/elec_plasma_frequency; - double rho_max_time = V_real * tau; - double rho_max = fmin(rho_max_shielding, rho_max_time); + double rho_max_interaction = V_real * tau; + double rho_max = fmin(rho_max_shielding, rho_max_interaction); double log_coulomb = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); // coefficient used for computation of friction force From c6b64cb04b3fcb9682a2fd7ab134cebacd5f152a Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Sun, 12 Jan 2025 12:22:37 +0100 Subject: [PATCH 37/43] some renaming --- ducktrack/elements.py | 10 +++++----- xtrack/beam_elements/elements_src/electroncooler.h | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index f606cf2fc..d9fe9c764 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -902,13 +902,13 @@ def force(self, p): electron_density = num_e_per_s*self.tau/volume_e_beam # density of electrons # Electron beam properties - V_e_perp = 1/gamma0*(qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity - V_e_long = 1/gamma0*(qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity - rho_larmor = me_kg * V_e_perp / (qe * magnetic_field) # depends on transverse temperature, larmor radius + v_perp_temp = 1/gamma0*(qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity + v_long_temp = 1/gamma0*(qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity + rho_larmor = me_kg * v_perp_temp / (qe * magnetic_field) # depends on transverse temperature, larmor radius elec_plasma_frequency = np.sqrt(electron_density * qe**2 / (me_kg * epsilon_0)) - V_e_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections - V_eff = np.sqrt(V_e_long**2 + V_e_magnet**2) # effective electron beam velocity spread + v_rms_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections + V_eff = np.sqrt(v_long_temp**2 + v_rms_magnet**2) # effective electron beam velocity spread mass_electron_ev = me_kg * clight**2 / qe #eV energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 8f867e0fc..b2152cb62 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -41,12 +41,12 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double electron_density = num_e_per_s * tau / volume_e_beam; // density of electrons // Electron beam properties - double V_e_perp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature - double V_e_long = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature - double rho_larmor = MASS_ELECTRON*V_e_perp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius + double v_perp_temp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature + double v_long_temp = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature + double rho_larmor = MASS_ELECTRON*v_perp_temp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); - double V_e_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections - double V_eff = sqrt(POW2(V_e_long) + POW2(V_e_magnet)); // effective electron beam velocity spread + double v_rms_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections + double V_eff = sqrt(POW2(v_long_temp) + POW2(v_rms_magnet)); // effective electron beam velocity spread double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; // in eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; // in eV double energy_e_total = energy_electron_initial + offset_energy; // in eV From 72026abe3141661bd9706b348dc3c57741740422 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Sun, 12 Jan 2025 13:28:52 +0100 Subject: [PATCH 38/43] remove gamma from electron temperature --- ducktrack/elements.py | 4 ++-- xtrack/beam_elements/elements_src/electroncooler.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index d9fe9c764..1ab1922b4 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -902,8 +902,8 @@ def force(self, p): electron_density = num_e_per_s*self.tau/volume_e_beam # density of electrons # Electron beam properties - v_perp_temp = 1/gamma0*(qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity - v_long_temp = 1/gamma0*(qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity + v_perp_temp = (qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity + v_long_temp = (qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity rho_larmor = me_kg * v_perp_temp / (qe * magnetic_field) # depends on transverse temperature, larmor radius elec_plasma_frequency = np.sqrt(electron_density * qe**2 / (me_kg * epsilon_0)) diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index b2152cb62..278fe4cb1 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -41,8 +41,8 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double electron_density = num_e_per_s * tau / volume_e_beam; // density of electrons // Electron beam properties - double v_perp_temp = 1/gamma0*sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature - double v_long_temp = 1/gamma0*sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature + double v_perp_temp = sqrt(QELEM*temp_perp/MASS_ELECTRON); // transverse electron temperature + double v_long_temp = sqrt(QELEM*temp_long/MASS_ELECTRON); // longitudinal electron temperature double rho_larmor = MASS_ELECTRON*v_perp_temp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); double v_rms_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections From 9ba019ef42731a4d009285c10cb92bf4c8e9bf51 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Mon, 13 Jan 2025 10:59:24 +0100 Subject: [PATCH 39/43] renaming --- ducktrack/elements.py | 34 +++++++++---------- .../elements_src/electroncooler.h | 29 ++++++++-------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 1ab1922b4..4634ee5f6 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -897,7 +897,7 @@ def force(self, p): # Compute electron density volume_e_beam = np.pi*(radius_e_beam)**2*length #m3 - num_e_per_s=current/qe # number of electrons per second + num_e_per_s = current/qe # number of electrons per second self.tau=length/(gamma0*beta0*clight) # time spent in the electron cooler electron_density = num_e_per_s*self.tau/volume_e_beam # density of electrons @@ -906,10 +906,8 @@ def force(self, p): v_long_temp = (qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity rho_larmor = me_kg * v_perp_temp / (qe * magnetic_field) # depends on transverse temperature, larmor radius elec_plasma_frequency = np.sqrt(electron_density * qe**2 / (me_kg * epsilon_0)) - v_rms_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections - V_eff = np.sqrt(v_long_temp**2 + v_rms_magnet**2) # effective electron beam velocity spread - + #V_eff = np.sqrt(v_long_temp**2 + v_rms_magnet**2) # effective electron beam velocity spread mass_electron_ev = me_kg * clight**2 / qe #eV energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV energy_e_total = energy_electron_initial + self.offset_energy @@ -934,22 +932,22 @@ def force(self, p): beta_total = np.sqrt(1 - 1 / (gamma_total**2)) # Velocity differences - dVz = beta * clight - beta_total* clight - dVx = beta_x * clight - dVy = beta_y * clight - dVx -= omega_e_beam * radius * -np.sin(theta) # account for ebeam rotation - dVy -= omega_e_beam * radius * +np.cos(theta) # account for ebeam rotation - dV_abs = np.sqrt(dVx**2+dVy**2+dVz**2) - V_real = np.sqrt(dV_abs**2 + V_eff**2) - + dVz = beta * clight - beta_total* clight # Longitudinal velocity difference + dVx = beta_x * clight # Horizontal velocity difference + dVy = beta_y * clight # Vertical velocity difference + dVx -= omega_e_beam * radius * -np.sin(theta) # Apply x-component of e-beam rotation + dVy -= omega_e_beam * radius * +np.cos(theta) # Apply y-component of e-beam rotation + dV_squared = dVx**2+dVy**2+dVz**2 + V_tot = np.sqrt(dV_squared + v_long_temp**2 + v_rms_magnet**2) # Total velocity difference due to all effects + # Coulomb logarithm - rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_real**2) - rho_max_shielding = V_real/(elec_plasma_frequency) - rho_max_interaction = V_real*self.tau - rho_max = np.minimum(rho_max_shielding, rho_max_interaction) - log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) + rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_tot**2) # Minimum impact parameter + rho_max_shielding = V_tot/(elec_plasma_frequency) # Maximum impact parameter based on charge shielding + rho_max_interaction = V_tot*self.tau # Maximum impact parameter based on interaction time + rho_max = np.minimum(rho_max_shielding, rho_max_interaction) # Take the smaller of the two maximum impact parameters + log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) # Coulomb logarithm - friction_denominator = (dV_abs**2 + V_eff**2)**1.5 # coefficient used for computation of friction force + friction_denominator = V_tot**3 # Compute this coefficient once because its going to be used three times Fx = -friction_coefficient * dVx/friction_denominator * log_coulomb # Newton Fy = -friction_coefficient * dVy/friction_denominator * log_coulomb # Newton diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index 278fe4cb1..db64e5953 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -5,7 +5,6 @@ #define POW2(X) ((X)*(X)) #define POW3(X) ((X)*(X)*(X)) #define POW4(X) ((X)*(X)*(X)*(X)) -#define POW1_5(X) ((X)*sqrt(X)) #ifndef XTRACK_ELECTRONCOOLER_H #define XTRACK_ELECTRONCOOLER_H @@ -46,7 +45,7 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double rho_larmor = MASS_ELECTRON*v_perp_temp/QELEM/magnetic_field; // depends on transverse temperature, larmor radius double elec_plasma_frequency = sqrt(electron_density * POW2(QELEM) / (MASS_ELECTRON * EPSILON_0)); double v_rms_magnet = beta0 * gamma0 * C_LIGHT * magnetic_field_ratio; // velocity spread due to magnetic imperfections - double V_eff = sqrt(POW2(v_long_temp) + POW2(v_rms_magnet)); // effective electron beam velocity spread + //double V_eff = sqrt(POW2(v_long_temp) + POW2(v_rms_magnet)); // effective electron beam velocity spread double mass_electron_ev = MASS_ELECTRON * POW2(C_LIGHT) / QELEM; // in eV double energy_electron_initial = (gamma0 - 1) * mass_electron_ev; // in eV double energy_e_total = energy_electron_initial + offset_energy; // in eV @@ -89,22 +88,22 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p double beta_total = sqrt(1 - 1 / POW2(gamma_total)); // Velocity differences - double dVz = beta * C_LIGHT - beta_total * C_LIGHT; - double dVx = beta_x * C_LIGHT; - double dVy = beta_y * C_LIGHT; - dVx -= omega_e_beam * radius * -sin(theta); - dVy -= omega_e_beam * radius * +cos(theta); - double dV_abs = sqrt(POW2(dVx)+POW2(dVy)+POW2(dVz)); - double V_real = sqrt(POW2(dV_abs) + POW2(V_eff)); + double dVz = beta * C_LIGHT - beta_total * C_LIGHT; // longitudinal velocity difference + double dVx = beta_x * C_LIGHT; // horizontal velocity difference + double dVy = beta_y * C_LIGHT; // vertical velocity difference + dVx -= omega_e_beam * radius * -sin(theta); // apply x-component of e-beam rotation + dVy -= omega_e_beam * radius * +cos(theta); // apply y-component of e-beam rotation + double dV_squared = POW2(dVx)+POW2(dVy)+POW2(dVz); + double V_tot = sqrt(dV_squared + POW2(v_long_temp) + POW2(v_rms_magnet)); // Total velocity difference due to all effects // Coulomb logarithm - double rho_min = q0 *POW2(QELEM)/(4*PI*EPSILON_0*MASS_ELECTRON*POW2(V_real)); - double rho_max_shielding = V_real/elec_plasma_frequency; - double rho_max_interaction = V_real * tau; - double rho_max = fmin(rho_max_shielding, rho_max_interaction); - double log_coulomb = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); + double rho_min = q0*POW2(QELEM)/(4*PI*EPSILON_0*MASS_ELECTRON*POW2(V_tot)); // Minimum impact parameter + double rho_max_shielding = V_tot/elec_plasma_frequency; // Maximum impact parameter based on charge shielding + double rho_max_interaction = V_tot * tau; // Maximum impact parameter based on interaction time + double rho_max = fmin(rho_max_shielding, rho_max_interaction); // Take the smaller of the two maximum impact parameters + double log_coulomb = log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)); // Coulomb logarithm - double friction_denominator = POW1_5(POW2(dV_abs) + POW2(V_eff)); // coefficient used for computation of friction force + double friction_denominator = POW3(V_tot); // Compute this coefficient once because its going to be used three times Fx = -friction_coefficient * dVx/friction_denominator * log_coulomb; // Newton Fy = -friction_coefficient * dVy/friction_denominator * log_coulomb; // Newton From d16bbf6fef18730b507a5eef5546660bf1c18ad0 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 22 Jan 2025 09:09:26 +0100 Subject: [PATCH 40/43] go back to xo_assert_close --- tests/test_elements.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 0537c487e..c52080b21 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1143,12 +1143,12 @@ def test_multipole_tilt_90_deg(test_context): pf.move(_context=xo.context_default) pfy.move(_context=xo.context_default) - assert np.allclose(pf.x, pfy.x, rtol=0, atol=1e-14) - assert np.allclose(pf.y, pfy.y, rtol=0, atol=1e-14) - assert np.allclose(pf.px, pfy.px, rtol=0, atol=1e-14) - assert np.allclose(pf.py, pfy.py, rtol=0, atol=1e-14) - assert np.allclose(pf.zeta, pfy.zeta, rtol=0, atol=1e-14) - assert np.allclose(pf.ptau, pfy.ptau, rtol=0, atol=1e-14) + xo.assert_allclose(pf.x, pfy.x, rtol=0, atol=1e-14) + xo.assert_allclose(pf.y, pfy.y, rtol=0, atol=1e-14) + xo.assert_allclose(pf.px, pfy.px, rtol=0, atol=1e-14) + xo.assert_allclose(pf.py, pfy.py, rtol=0, atol=1e-14) + xo.assert_allclose(pf.zeta, pfy.zeta, rtol=0, atol=1e-14) + xo.assert_allclose(pf.ptau, pfy.ptau, rtol=0, atol=1e-14) @for_all_test_contexts From 89f8dd2995eb0b326d3c79061bec0c475f794d21 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 22 Jan 2025 09:26:44 +0100 Subject: [PATCH 41/43] absolute test data path --- tests/test_elements.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index c52080b21..37d083034 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -5,6 +5,7 @@ import numpy as np import pytest +import pathlib from cpymad.madx import Madx import ducktrack as dtk @@ -14,6 +15,9 @@ from xobjects.test_helpers import for_all_test_contexts, fix_random_seed from xtrack.beam_elements.elements import _angle_from_trig +test_data_folder = pathlib.Path( + __file__).parent.joinpath('../test_data').absolute() + @for_all_test_contexts def test_constructor(test_context): @@ -1155,7 +1159,7 @@ def test_multipole_tilt_90_deg(test_context): def test_ecooler(test_context): """Test the electron cooler by comparing the cooling rate and cooling force with Betacool for LEIR. """ - data = np.load('../test_data/electron_cooler/emittance_betacool.npz') + data = np.load(test_data_folder/'electron_cooler/emittance_betacool.npz') emittance_betacool = data['emittance'] time_betacool = data['time'] @@ -1271,7 +1275,7 @@ def test_ecooler(test_context): emittance_diff = emittance_xsuite - emittance_betacool mse_emittance = np.mean(emittance_diff**2) - data_betacool = np.load('../test_data/electron_cooler/force_betacool.npz') + data_betacool = np.load(test_data_folder/'electron_cooler/force_betacool.npz') v_diff_betacool = data_betacool['v_diff'] force_betacool = data_betacool['force'] num_particles = int(1e3) From 62f94e917c5340f8525ed696333fddb889651231 Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 22 Jan 2025 15:28:53 +0100 Subject: [PATCH 42/43] update tests --- tests/test_elements.py | 145 ++++++++++-------- xtrack/beam_elements/elements.py | 23 ++- .../elements_src/electroncooler.h | 24 ++- 3 files changed, 125 insertions(+), 67 deletions(-) diff --git a/tests/test_elements.py b/tests/test_elements.py index 37d083034..9c5e98d72 100644 --- a/tests/test_elements.py +++ b/tests/test_elements.py @@ -1156,8 +1156,8 @@ def test_multipole_tilt_90_deg(test_context): @for_all_test_contexts -def test_ecooler(test_context): - """Test the electron cooler by comparing the cooling rate and cooling force with Betacool for LEIR. +def test_ecooler_emittance(test_context): + """Test the electron cooler by comparing the cooling rate with Betacool for LEIR. """ data = np.load(test_data_folder/'electron_cooler/emittance_betacool.npz') emittance_betacool = data['emittance'] @@ -1187,7 +1187,7 @@ def test_ecooler(test_context): betx=beta_x, bety=beta_y, ) - + arc_matching = xt.LineSegmentMap( qx=qx, qy=qy, length=circumference, @@ -1199,7 +1199,7 @@ def test_ecooler(test_context): line_matching=xt.Line([arc_matching]) line_matching.build_tracker() - num_particles=int(1e3) + num_particles=int(1e2) sigma_dp = 5e-3 gemitt_x = 14e-6 gemitt_y = 14e-6 @@ -1209,7 +1209,6 @@ def test_ecooler(test_context): particles = xp.generate_matched_gaussian_bunch( num_particles=num_particles, - # total_intensity_particles=bunch_intensity, nemitt_x=nemitt_x, nemitt_y=nemitt_y, sigma_z=4.2, particle_ref=particle_ref, line=line_matching, @@ -1217,7 +1216,6 @@ def test_ecooler(test_context): particles.delta = np.random.normal(loc=0.0, scale=sigma_dp, size=num_particles) particles.zeta = np.random.uniform(-circumference/2, circumference/2, num_particles) - particles0=particles.copy() max_time_s = 1 int_time_s = 1*1e-3 @@ -1244,84 +1242,101 @@ def test_ecooler(test_context): line = xt.Line(elements=[monitor, electron_cooler, arc],element_names=['monitor','electron_cooler','arc']) line.particle_ref = particle_ref - context = xo.ContextCpu(omp_num_threads=4) - line.build_tracker(_context=context) + line.build_tracker() - particles=particles0.copy() line.track(particles, num_turns=num_turns, turn_by_turn_monitor=False,with_progress=True) x = monitor.x[:,:,0] px = monitor.px[:,:,0] - y = monitor.y[:,:,0] - py = monitor.py[:,:,0] - delta = monitor.delta[:,:,0] - zeta = monitor.zeta[:,:,0] time = monitor.at_turn[:, 0, 0] * T_per_turn action_x = (x**2/beta_x + beta_x*px**2) geo_emittance_x=np.mean(action_x,axis=1)/2 - p0c = particle_ref.p0c - - for i in range(len(time_betacool) - 1, -1, -1): - if not np.isnan(time_betacool[i]): - last_non_nan_index = i - break - - time_betacool = time_betacool[:last_non_nan_index] - matched_indices = [np.abs(time - time_value).argmin() for time_value in time_betacool] - emittance_xsuite = [geo_emittance_x[index] for index in matched_indices] - emittance_betacool = emittance_betacool[:last_non_nan_index] - emittance_diff = emittance_xsuite - emittance_betacool - mse_emittance = np.mean(emittance_diff**2) + # Match Betacool and Xsuite indices to compare emittance + valid_indices = ~np.isnan(time_betacool) + time_betacool = time_betacool[valid_indices] + matched_indices = [np.abs(time - tb).argmin() for tb in time_betacool] + emittance_xsuite = geo_emittance_x[matched_indices] + emittance_betacool = emittance_betacool[:len(emittance_xsuite)] + + xo.assert_allclose(emittance_xsuite, emittance_betacool, rtol=0, atol=1e-5) + +@for_all_test_contexts +def test_ecooler_force(test_context): + """Test the electron cooler by comparing the cooling force with Betacool for LEIR. + """ + # Load Betacool force data data_betacool = np.load(test_data_folder/'electron_cooler/force_betacool.npz') v_diff_betacool = data_betacool['v_diff'] force_betacool = data_betacool['force'] - num_particles = int(1e3) - dtk_particle = dtk.TestParticles( - mass0=mass0, - p0c=p0c, - x = np.random.normal(0, 1e-20, num_particles), - px = np.random.normal(0, 4*np.sqrt(gemitt_x/beta_x), num_particles), - y = np.random.normal(0, 1e-20, num_particles), - py = np.random.normal(0, 1e-20, num_particles), - delta = np.random.normal(0, 0, num_particles), - zeta = np.random.normal(0, 0, num_particles), - q0=q0) - - dtk_cooler = dtk.elements.ElectronCooler( - current=current, length=cooler_length, radius_e_beam=radius_e_beam, - temp_perp=temp_perp, temp_long=temp_long, magnetic_field=magnetic_field, magnetic_field_ratio=0, - space_charge_factor=0) - - force, _, _ = dtk_cooler.force(dtk_particle) - - px_tot = p0c*dtk_particle.px - beta_diff = px_tot/(mass0*gamma0) - v_diff = beta_diff*clight + beta_rel = 0.09423258405 + gamma = 1.004469679 + current = 0.6 # Amperes + cooler_length = 2.5 # m + radius_e_beam = 25 * 1e-3 # m + temp_perp = 100e-3 # eV + temp_long = 1e-3 # eV + magnetic_field = 0.075 # T for LEIR + mass0 = 193729.0248722061 * 1e6 # eV/c^2 + clight = 299792458.0 # m/s + p0c = mass0 * beta_rel * gamma # eV/c + q0 = 54 # Charge + beta_x = 5 # m + emittance = 14 * 1e-6 # Initial geometric emittance (m·rad) + + # Reference particle + particle_ref = xp.Particles(p0c=p0c, mass0=mass0, q0=q0) + + # Electron cooler + cooler = xt.ElectronCooler( + current=current, + length=cooler_length, + radius_e_beam=radius_e_beam, + temp_perp=temp_perp, + temp_long=temp_long, + magnetic_field=magnetic_field + ) + + num_particles = int(1e4) + particles = xp.Particles( + mass0=mass0, + p0c=p0c, + q0=q0, + x=np.random.normal(0, 1e-20, num_particles), + px=np.random.normal(0, 4 * np.sqrt(emittance / beta_x), num_particles), + y=np.random.normal(0, 1e-20, num_particles), + py=np.random.normal(0, 1e-20, num_particles), + delta=np.zeros(num_particles), + zeta=np.zeros(num_particles) + ) + + line = xt.Line(elements=[cooler]) + line.particle_ref = particle_ref + line.build_tracker() + # Start internal logging for the electron cooler + record = line.start_internal_logging_for_elements_of_type( + xt.ElectronCooler, capacity=10000) + + line.track(particles) + force = record.Fx + + px_tot = p0c * particles.px + beta_diff = px_tot / (mass0 * gamma) + v_diff = beta_diff * clight + sorted_indices = np.argsort(v_diff) v_diff = v_diff[sorted_indices] force = force[sorted_indices] - for i in range(len(v_diff_betacool) - 1, -1, -1): - if not np.isnan(v_diff_betacool[i]): - last_non_nan_index = i - break - - v_diff_betacool = v_diff_betacool[:last_non_nan_index] - - matching_indices = [] - for time_value in v_diff_betacool: - index = np.abs(v_diff - time_value).argmin() - matching_indices.append(index) - force_xsuite = [force[i] for i in matching_indices] - force_betacool = force_betacool[:last_non_nan_index] + # Match Betacool and Xsuite indices to compare forces + v_diff_betacool = v_diff_betacool[~np.isnan(v_diff_betacool)] + matching_indices = [np.abs(v_diff - vb).argmin() for vb in v_diff_betacool] - force_diff = force_xsuite - force_betacool - mse_force = np.mean(force_diff**2) + force_xsuite = np.array([force[i] for i in matching_indices]) + force_betacool = force_betacool[:len(v_diff_betacool)] - assert mse_emittance <1e-9 - assert mse_force < 10 \ No newline at end of file + xo.assert_allclose(force_xsuite, force_betacool, rtol=0, atol=10) diff --git a/xtrack/beam_elements/elements.py b/xtrack/beam_elements/elements.py index 6f020a55f..8a5ad7fc8 100644 --- a/xtrack/beam_elements/elements.py +++ b/xtrack/beam_elements/elements.py @@ -2546,6 +2546,25 @@ def scale_coordinates(self, scale_x=1, scale_px=1, scale_y=1, scale_py=1, class ThinSliceNotNeededError(Exception): pass + +# class ElectronCoolerRecord(xo.HybridClass): +# _xofields = { +# '_index': RecordIndex, +# 'Fx': xo.Float64[:], +# 'at_element': xo.Int64[:], +# 'at_turn': xo.Int64[:], +# 'particle_id': xo.Int64[:], +# 'particle_delta': xo.Float64[:] +# } + +class ElectronCoolerRecord(xo.HybridClass): + _xofields = { + '_index': RecordIndex, + 'Fx': xo.Float64[:], + 'Fy': xo.Float64[:], + 'Fl': xo.Float64[:], + } + class ElectronCooler(BeamElement): """ Beam element modeling an electron cooler. In particular, this beam element uses the Parkhomchuk model for electron cooling. @@ -2603,10 +2622,12 @@ class ElectronCooler(BeamElement): 'magnetic_field_ratio' : xo.Float64, 'space_charge_factor' : xo.Float64 } - + _extra_c_sources = [ _pkg_root.joinpath('headers/constants.h'), _pkg_root.joinpath('beam_elements/elements_src/electroncooler.h')] + + _internal_record_class = ElectronCoolerRecord def __init__(self, current = 0, length = 0, diff --git a/xtrack/beam_elements/elements_src/electroncooler.h b/xtrack/beam_elements/elements_src/electroncooler.h index db64e5953..773b26123 100644 --- a/xtrack/beam_elements/elements_src/electroncooler.h +++ b/xtrack/beam_elements/elements_src/electroncooler.h @@ -11,6 +11,14 @@ /*gpufun*/ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* part0){ + // Check if record flag is enabled + ElectronCoolerRecordData record = ElectronCoolerData_getp_internal_record(el, part0); + RecordIndex record_index = NULL; + if (record){ + record_index = ElectronCoolerRecordData_getp__index(record); + } + + double current = ElectronCoolerData_get_current(el); double length = ElectronCoolerData_get_length(el); double radius_e_beam = ElectronCoolerData_get_radius_e_beam(el); @@ -114,10 +122,24 @@ void ElectronCooler_track_local_particle(ElectronCoolerData el, LocalParticle* p Fl = Fl * 1/QELEM * C_LIGHT; // convert to eV/c because p0c is also in eV/c } double delta_new = delta + Fl * gamma0 * tau/p0c; - + LocalParticle_update_delta(part,delta_new); LocalParticle_add_to_px(part,Fx * gamma0 * tau/p0c); LocalParticle_add_to_py(part,Fy * gamma0 * tau/p0c); + + // Handles cases where force is record + if (record){ + int64_t i_slot = RecordIndex_get_slot(record_index); + if (i_slot>=0){ + ElectronCoolerRecordData_set_Fx(record, i_slot, Fx/C_LIGHT); // Convert to eV/m + ElectronCoolerRecordData_set_Fy(record, i_slot, Fy/C_LIGHT); // Convert to eV/m + ElectronCoolerRecordData_set_Fl(record, i_slot, Fl/C_LIGHT); // Convert to eV/m + } + } + + + + //end_per_particle_block } From c4a49959c624018cd69359b30ffbffb17b9ea0af Mon Sep 17 00:00:00 2001 From: Peter Kruyt Date: Wed, 22 Jan 2025 15:40:50 +0100 Subject: [PATCH 43/43] remove ecooler from ducktrack --- ducktrack/elements.py | 135 +----------------------------------------- 1 file changed, 1 insertion(+), 134 deletions(-) diff --git a/ducktrack/elements.py b/ducktrack/elements.py index 4634ee5f6..e292c4752 100644 --- a/ducktrack/elements.py +++ b/ducktrack/elements.py @@ -9,7 +9,6 @@ from scipy.constants import mu_0 from scipy.constants import m_e as me_kg from scipy.constants import e as qe -from scipy.constants import physical_constants me = me_kg*clight**2/qe @@ -841,137 +840,6 @@ def track(self,p): if self.length > 0.0: raise NotImplementedError('Radiation is not implemented') -class ElectronCooler(Element): - - _description =[ - ("current","","",0.0), - ("length","","",0.0), - ("radius_e_beam","","",0.0), - ("temp_perp","","",0.0), - ("temp_long","","",0.0), - ("magnetic_field","","",0.0), - - ("offset_x","","",0.0), - ("offset_px","","",0.0), - ("offset_y","","",0.0), - ("offset_py","","",0.0), - ("offset_energy","","",0.0), - ("magnetic_field_ratio","","",0.0), - ("space_charge_factor","","",0.0), - - ("classical_e_radius","","",physical_constants['classical electron radius'][0]), - ("me_kg","","",me_kg), - ] - - def force(self, p): - current=self.current - length=self.length - radius_e_beam=self.radius_e_beam - temp_perp=self.temp_perp - temp_long=self.temp_long - magnetic_field=self.magnetic_field - magnetic_field_ratio=self.magnetic_field_ratio - space_charge_factor=self.space_charge_factor - classical_e_radius=self.classical_e_radius - me_kg = self.me_kg - - # All parameters are taken relative to the electron beam - x = p.x - self.offset_x - px = p.px - self.offset_px - y = p.y - self.offset_y - py = p.py - self.offset_py - delta = p.delta # offset_energy is implemented when longitudinal velocity is computed - x, px, y, py, delta = map(np.atleast_1d, (x, px, y, py, delta)) - - # Radial and angular coordinates - theta = np.arctan2(y, x) - radius = np.hypot(x,y) - - # Particle beam parameters - beta0, gamma0, q0, p0c, mass0 = p.beta0, p.gamma0, p.q0, p.p0c, p.mass0 - total_momentum = p0c * (1.0 + delta) - gamma = np.sqrt(1.0 + (total_momentum / mass0) ** 2) - beta = np.sqrt(1.0 - 1.0 / gamma**2) - beta_x = px * p0c / (mass0 * gamma) - beta_y = py * p0c / (mass0 * gamma) - - # Compute electron density - volume_e_beam = np.pi*(radius_e_beam)**2*length #m3 - num_e_per_s = current/qe # number of electrons per second - self.tau=length/(gamma0*beta0*clight) # time spent in the electron cooler - electron_density = num_e_per_s*self.tau/volume_e_beam # density of electrons - - # Electron beam properties - v_perp_temp = (qe*temp_perp/me_kg)**(1./2) # transverse electron rms velocity - v_long_temp = (qe*temp_long/me_kg)**(1./2) # longitudinal electron rms velocity - rho_larmor = me_kg * v_perp_temp / (qe * magnetic_field) # depends on transverse temperature, larmor radius - elec_plasma_frequency = np.sqrt(electron_density * qe**2 / (me_kg * epsilon_0)) - v_rms_magnet = beta0 * gamma0 * clight * magnetic_field_ratio # velocity spread due to magnetic imperfections - #V_eff = np.sqrt(v_long_temp**2 + v_rms_magnet**2) # effective electron beam velocity spread - mass_electron_ev = me_kg * clight**2 / qe #eV - energy_electron_initial = (gamma0 - 1) * mass_electron_ev #eV - energy_e_total = energy_electron_initial + self.offset_energy - - friction_coefficient = electron_density*q0**2*qe**4 /(4*me_kg*(np.pi*epsilon_0)**2) # Coefficient used for computation of friction force - - # compute angular frequency of rotation of e-beam due to space charge - omega_e_beam = space_charge_factor*1/(2*np.pi*epsilon_0*clight) * current/(radius_e_beam**2*beta0*gamma0*magnetic_field) - - Fx = np.zeros_like(x) - Fy = np.zeros_like(y) - Fl = np.zeros_like(delta) - - # Radial_velocity_dependence due to space charge - # -> from equation 100b in Helmut Poth: Electron cooling. page 186 - space_charge_coefficient = space_charge_factor *classical_e_radius / (qe * clight) * (gamma0 + 1) / (gamma0**2);# //used for computation of the space charge energy offset - dE_E = space_charge_coefficient * current * (radius / radius_e_beam)**2 / (beta0)**3 - E_diff_space_charge = dE_E * energy_e_total - - E_kin_total = energy_e_total + E_diff_space_charge - gamma_total = 1 + (E_kin_total / mass_electron_ev) - beta_total = np.sqrt(1 - 1 / (gamma_total**2)) - - # Velocity differences - dVz = beta * clight - beta_total* clight # Longitudinal velocity difference - dVx = beta_x * clight # Horizontal velocity difference - dVy = beta_y * clight # Vertical velocity difference - dVx -= omega_e_beam * radius * -np.sin(theta) # Apply x-component of e-beam rotation - dVy -= omega_e_beam * radius * +np.cos(theta) # Apply y-component of e-beam rotation - dV_squared = dVx**2+dVy**2+dVz**2 - V_tot = np.sqrt(dV_squared + v_long_temp**2 + v_rms_magnet**2) # Total velocity difference due to all effects - - # Coulomb logarithm - rho_min = q0 *qe**2/(4*np.pi*epsilon_0*me_kg*V_tot**2) # Minimum impact parameter - rho_max_shielding = V_tot/(elec_plasma_frequency) # Maximum impact parameter based on charge shielding - rho_max_interaction = V_tot*self.tau # Maximum impact parameter based on interaction time - rho_max = np.minimum(rho_max_shielding, rho_max_interaction) # Take the smaller of the two maximum impact parameters - log_coulomb = np.log((rho_max+rho_min+rho_larmor)/(rho_min+rho_larmor)) # Coulomb logarithm - - friction_denominator = V_tot**3 # Compute this coefficient once because its going to be used three times - - Fx = -friction_coefficient * dVx/friction_denominator * log_coulomb # Newton - Fy = -friction_coefficient * dVy/friction_denominator * log_coulomb # Newton - Fl = -friction_coefficient * dVz/friction_denominator * log_coulomb # Newton - # If particle is outside electron beam, set cooling force to zero - outside_beam_indices = radius >= radius_e_beam - Fx[outside_beam_indices] = 0.0 - Fy[outside_beam_indices] = 0.0 - Fl[outside_beam_indices] = 0.0 - - Fx = Fx * 1/qe # convert to eV/m - Fy = Fy * 1/qe # convert to eV/m - Fl = Fl * 1/qe # convert to eV/m - return Fx,Fy,Fl - - def track(self, p): - Fx,Fy,Fl=self.force(p) - Fx = Fx * clight # convert to eV/c because p0c is also in eV/c - Fy = Fy * clight # convert to eV/c because p0c is also in eV/c - Fl = Fl * clight # convert to eV/c because p0c is also in eV/c - p.delta += np.squeeze( Fl*p.gamma0*self.tau/p.p0c) - p.px += np.squeeze( Fx*p.gamma0*self.tau/p.p0c) - p.py += np.squeeze( Fy*p.gamma0*self.tau/p.p0c) - __all__ = [ "BeamBeam4D", "BeamBeam6D", @@ -992,6 +860,5 @@ def track(self, p): "SRotation", "XYShift", "LinearTransferMatrix", - "FirstOrderTaylorMap", - "ElectronCooler" + "FirstOrderTaylorMap" ]