Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
A measurement of the dielectric properties of water nanoclusters
(USC Thesis Other)
A measurement of the dielectric properties of water nanoclusters
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
A Measurement of the Dielectric Properties of Water Nanoclusters By Nicholas Greening Guggemos A dissertation presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In partial fulfillment of the requirements for the degree DOCTOR OF PHILOSOPHY (PHYSICS) June 2014 ii Acknowledgements I would like to thank the many people who helped me complete this project. First and foremost, I would like to thank my advisor, Professor Vitaly Kresin for his guidance, patience, and encouragement. His tireless efforts to help students in his research group have been invaluable and set an example for others to follow. I would like to express my gratitude to Professors Curt Wittig of USC, for use of his UTI- 100c probe when ours broke, and Petr Slavicek of the Institute of Chemical Technology of Prague for very useful discussion and sharing preliminary results of his simulations of neat and mixed water clusters Additionally, I would like to thank the staff of the USC Science and Engineering machine shop, and particularly Foreman Donald Wiggins, for their expert advice. I would like to thank Jennifer Shitanishi for her moral support over the many months I was collecting data and writing this dissertation. This work was supported by the Experimental Atomic, Molecular and Optical Physics Program of the National Science Foundation This dissertation is dedicated to my parents, Richard Guggemos and Katrina Greening. iii Contents Acknowledgements ..........................................................................................................................ii Abstract ......................................................................................................................................... viii 1 Introduction ............................................................................................................................ 1 2 Experiment .............................................................................................................................. 4 2.1 Cluster Beam Machine ..................................................................................................... 4 2.2 Counters ......................................................................................................................... 10 2.3 Detector Software .......................................................................................................... 18 2.3.1 Chopper Frequency ................................................................................................. 19 2.3.2 Dual Gated Counter ................................................................................................ 20 2.3.3 Simplest Timer ........................................................................................................ 21 2.3.4 Beam Profile with Multi-Volt Control ..................................................................... 23 2.3.5 Counter Spectrum ................................................................................................... 25 2.3.6 Movable Slit ............................................................................................................ 26 2.4 Utility Software .............................................................................................................. 27 2.5 Detector Performance .................................................................................................... 28 2.6 Cluster Mass ................................................................................................................... 34 3 Velocity Measurement .......................................................................................................... 35 3.1 MCS Record Normalization ............................................................................................ 39 3.2 Expected Velocities ........................................................................................................ 43 4 Beam Profile Determination ................................................................................................. 44 5 Statistical Bootstrapping ....................................................................................................... 46 6 Deflection Field ..................................................................................................................... 48 6.1 Deflection ....................................................................................................................... 49 6.2 Broadening ..................................................................................................................... 51 6.3 Calibration of Geometrical Constant ............................................................................. 52 6.4 Extraction of Dielectric Properties ................................................................................. 53 7 Results and Discussion .......................................................................................................... 54 7.1 Polarizability and Dipole ................................................................................................. 54 7.2 Beam Velocities .............................................................................................................. 63 iv 7.3 Future work .................................................................................................................... 66 References .................................................................................................................................... 68 Description of Appendices ............................................................................................................ 73 Appendix A – MATLAB Beam Speed Code .................................................................................... 73 vollmerSpeeder.m ..................................................................................................................... 73 waterStatisticator.m ................................................................................................................. 75 vollmerMean.m ......................................................................................................................... 76 toffitter.m ................................................................................................................................. 76 ssDistIntegrated.m .................................................................................................................... 78 readMCS.m................................................................................................................................ 78 readASC.m ................................................................................................................................. 79 maxBoltz.m ............................................................................................................................... 80 Appendix B – MATLAB Beam Profile Code ................................................................................... 80 consistentReduce.m .................................................................................................................. 80 calcpassAvg.m ........................................................................................................................... 86 decimateData.m........................................................................................................................ 86 fitGaussians.m ........................................................................................................................... 87 getCannonicalName.m.............................................................................................................. 87 getClusterName.m .................................................................................................................... 87 getDirectory.m .......................................................................................................................... 87 getMass.m ................................................................................................................................. 87 getNumHeaderLines.m ............................................................................................................. 87 getSteps.m ................................................................................................................................ 88 getVoltages.m ........................................................................................................................... 88 labelTimeSeries.m ..................................................................................................................... 88 plotTimeSeries.m ...................................................................................................................... 89 remBadData.m .......................................................................................................................... 89 remRedundant.m ...................................................................................................................... 90 setLineSpecs.m .......................................................................................................................... 90 v setupPlot.m ............................................................................................................................... 90 unfHeader.m ............................................................................................................................. 91 Appendix C – MATLAB Statistical Code ......................................................................................... 91 bootStrapVariance.m ................................................................................................................ 91 countIndicies.m ......................................................................................................................... 92 findN.m ..................................................................................................................................... 92 makeSynthSet.m ....................................................................................................................... 93 pickN.m ..................................................................................................................................... 93 pickRandom.m .......................................................................................................................... 93 Appendix D – LabVIEW Data Acquisition Programs and Functions .............................................. 94 7.4 simplest timer - v4.6 mx.vi ............................................................................................. 94 7.5 gate toggle mx.vi ............................................................................................................ 97 7.6 reset counter mx v1.vi .................................................................................................... 98 7.7 fancy frequency for integration mx v1.vi ....................................................................... 99 7.8 counter cluster.ctl ........................................................................................................ 100 7.9 dual gated interval counter mx v1.vi ........................................................................... 101 7.10 circular buffer averager.vi ........................................................................................ 102 7.11 number formatter.vi ................................................................................................. 103 7.12 DeSample.vi .............................................................................................................. 105 7.13 fixArrayWrapAround.vi ............................................................................................. 106 7.14 init gated counters mx v1.vi ..................................................................................... 108 7.15 Beam Profile UI multi-volt control v2 mx.vi ............................................................. 109 7.16 setup 5209.vi ............................................................................................................ 120 7.17 appendPassArray.vi .................................................................................................. 121 7.18 Counter Setup.ctl ...................................................................................................... 123 7.19 spectrum to dip v4-1.vi ............................................................................................. 124 7.20 sort positions v1-0.vi ................................................................................................ 126 7.21 find position index.vi ................................................................................................ 127 7.22 outside-inside.vi........................................................................................................ 128 vi 7.23 inside-outside.vi........................................................................................................ 129 7.24 5209 aux in formatter.vi ........................................................................................... 129 7.25 SR830 DAC controller.vi ............................................................................................ 130 7.26 UTI-100c with serial v2-1 mx.vi ................................................................................ 131 7.27 send 5209 string.vi .................................................................................................... 133 7.28 5209 ADC reader.vi ................................................................................................... 134 7.29 5209 DAC controller with verification.vi .................................................................. 136 7.30 5209 unit ready.vi ..................................................................................................... 138 7.31 execute 5209 string.vi............................................................................................... 139 7.32 read 5209 response.vi .............................................................................................. 140 7.33 5209 aux out formatter.vi ........................................................................................ 141 7.34 5209 DAC controller.vi .............................................................................................. 141 7.35 file output multivolt v1-2.vi ...................................................................................... 143 7.36 multivolt profile pass volt control v1-7 mx.vi ........................................................... 144 7.37 Pass Setup.ctl ............................................................................................................ 146 7.38 multivolt region descriptor line v1-0.vi .................................................................... 147 7.39 SpellmanPSU v2.vi .................................................................................................... 148 7.40 SwapElements v1-0.vi ............................................................................................... 151 7.41 Random Integer.vi .................................................................................................... 151 7.42 Fisher-Yates shuffle.vi ............................................................................................... 152 7.43 Create Shuffled Position List v1-1.vi ......................................................................... 153 7.44 getStartPoints.vi ....................................................................................................... 154 7.45 getWindowDimesions.vi ........................................................................................... 155 7.46 formatPoints.vi ......................................................................................................... 155 7.47 webInterface.vi ......................................................................................................... 156 7.48 GetDisplacement.vi .................................................................................................. 158 7.49 Stepper wrapper async mx.vi ................................................................................... 158 7.50 rawToDipRateConverter.vi ....................................................................................... 159 7.51 dipRateToLockinWaveform.vi .................................................................................. 160 vii 7.52 MakeMeasurement.vi .............................................................................................. 161 7.53 counter spectrum v3-3 mx.vi .................................................................................... 163 7.54 file output v1-0.vi ..................................................................................................... 167 7.55 spectrum pass v3-4 mx.vi ......................................................................................... 168 7.56 spectrum to dip v3-1.vi ............................................................................................. 172 7.57 pass cluster init.vi ..................................................................................................... 173 7.58 region descriptor line v1-1.vi .................................................................................... 174 viii Abstract Dielectric properties of neat (H 2 O) n clusters and mixed acid-water clusters, doped with deuterium chloride, in t h e ran ge 3 ≤ n ≤ 9 w ere m ea su re d b y ele c t ric f iel d d ef lec t i on of a neutral supersonic beam. Neutral acid-water clusters were produced by attaching acid molecules to pure clusters in an expanding supersonic jet of water. A synchronous detector was developed for this experiment. The detector is built from commodity hardware costing between one-tenth and one-fifth as much as comparable commercial alternatives. Sensitivity is more than an order of magnitude better than the analog system it replaced, and the design does not require complex setup to obtain optimal performance. The new detector additionally offers better immunity to noise than the aforementioned commercial systems through the use of digital optical isolators, which break ground loops. Cluster beam profiles are known to have a Gaussian shape, but it seems that no published formula exists to calculate the variance of the parameters of a Gaussian fit (unlike, e.g., the linear case). Prior experiments have used a quadratic approximation so that fitting p aram e t er var ian c es c o u ld b e es t imated . A p ro gr am w as w rit t e n t o i mp le men t t h e “Bo o t st rap ” statistical re-sampling technique to estimate the variance of the Gaussian beam fit parameters. Square-modulated cluster beam velocity measurement techniques from the literature require fitting a Multi-channel Scaler (MCS) record with certain properties to a time-resolved flux formula. A method and program for normalizing MCS records without these properties is presented. Further, the normalization and fitting method is able to accurately measure beam velocity from variable-length MCS records containing an arbitrary number of chopper cycles. Polarizabilities of neat clusters were found to correspond with previous experiments. Polarizability of mixed clusters, measured for the first time, was found to rise between n=5 and n=6, which may be evidence of disassociation of the DCl molecule. This experiment may offer insight into the problem of defining solvation for finite-sized systems. 1 1 Introduction Atomic and molecular clusters ("clusters") are finite-sized systems composed of two or more particles of the same species. Occupying a size regime between that of single atoms or molecules and bulk matter, clusters exhibit size-dependent properties [1]. By varying the size of these systems, it is possible to observe the evolution of material properties from the atom to the bulk. Additionally, size allows for the possibility of an extra "knob" for creating novel material properties. Clusters have historically been probed using a variety of techniques. Early workers examined clusters deposited on surfaces or captured in matrices. However, surface-cluster interactions distort cluster properties, so focus has shifted towards studying isolated clusters using cluster beam techniques in vacuum [1]. Conditions for effectively generating cluster beams have been extensively studied, first as a means for avoiding cluster formation in atomic and molecular beams and later to efficiently generate cluster beams with experimentally- desired size distributions [2]. Clusters ’ dielectric properties are a useful probe of cluster structure and charge distribution, and are of interest in their own right because they determine inter-cluster interactions, cluster binding forces, and the behavior of dopants attached to mixed clusters [1,3,4]. In particular, it is expected that the dipole moment of solvated, charge- separated molecules will be greater than that of the intact molecule [5]. A number of techniques have been used to study cluster dielectric properties, including hexapole defocusing. But perhaps the best method is by deflection of a beam of neutral clusters in an inhomogeneous field [1,2]. This probe of the Stark effect measures the influence of electric field on the potential energy of neutral particles. T h e b ea m d e f lect i o n meth o d p ro b es t h e t w o c o m p o n e n t s o f t h e c l u st ers’ d iele c t ric properties: A permanent dipole moment, which exists even without the presence of an external f ield ; an d a n “i n d u c ed ” d ip o le mo me n t w h ic h is a f u n c t ion o f t he external electric field [1,3,4]. The former is caused by the distribution of charges within clusters, while the latter has contributions both from the static electronic polarizability of the cluster and reorientation of the permanent dipole in the field [1]. Generally, the induced effective dipole gives rise to a uniform deflection of the beam, in an amount proportional to the polarizability of the cluster [3]. Contribution of permanent dipoles to the field profile is significantly more complicated. On ly a f ew class es o f c lu s t ers ( “f loppy” c lu s t ers a n d c ertain t ype s o f rigid c l u st ers) p erm i t quantitative analysis [3]. It can be stated that broadening of the beam when the field is turned 2 on is indicative of a polar species, but lack of broadening does not indicate a non-polar species. Floppy polar clusters, in particular, are expected to deflect uniformly, without broadening. Water is one of the most familiar substances, yet displays many so-called anomalous properties: Liquid and solid bulk water both have negative thermal expansion coefficients in certain temperature ranges; the thermal expansion coefficient is an increasing function of p re ssu re ; a n d b u lk w at er o f f ers a rich p h ase d iagr am. B u lk w at er’s d iel ect ric p ro p erties a lso make it an excellent solvent, particularly for salts and biologically-relevant molecules. Water clusters have attracted interest for, among other reasons, their role in atmospheric chemistry [6,7]. In common with clusters of other species, size-varying properties of water clusters have been observed in the laboratory [8,9]. For example, the dipole moment of pure water clusters has been observed to jump from about 1.3 D (1 D = 3.3x10 -30 C m) clusters with 8 or fewer molecules to about 1.6 D for clusters with 9 or more molecules (with a gradually rising dipole moment as the number of molecules increases). Neither of these values, it should be noted, corresponds to the value of the gas-phase molecule (1.855 D [10]) or bulk liquid water (~2.9 D [11]). Water clusters also offer the possibility of studying the size-dependent interactions between solvent and solute. As first proposed by Arrhenius [12], many acids undergo complete ionization in bulk water. Yet, acid monohydrates in gas phase, for example, seem to remain undissociated [13]. Acid-water clusters, then, present a useful tool for studying the relationship between solvation and reactivity, and, in particular, measuring the number of water molecules required to solvate an acid [6]. Gas-phase acid-water clusters have attracted considerable attention in recent years. Theoretical work has sought minimum energy structures for both pure water clusters and those doped with acids molecules, such as HCl [14,15], HBr [14,16], and HF [17,18], among others. M o d e ls su gges t t h a t acid mo n o h ydr a t es i n gas p h ase f o r m h y d ro ge n b o n d s w it h t h e w at er’s oxygen. Ad d it i o n al h yd r o gen b o n d s ar e f o rme d b et w ee n t h e w at er’s h yd ro gen an d acc ep t o r sites on the acid molecule, if present (for example in H 2 SO 4 and HNO 3 ) [6]. As waters are added, rings of water molecules begin to form and, particularly as the number of waters in increased, a large number of isomers can coexist with closely-spaced energies [6]. A comprehensive theoretical study of HCl (H 2 O) n structure was recently undertaken by Lin and Paesani [15] f o r 4≤ n ≤1 0, w h ic h re p o rt ed o n s t ru c t u ral a n d t h erm o d yna mic p ro p er t ies o f t h e clusters. It was found that the minimum energy structures of many HCl (H 2 O) n clusters in the study were built from Eigen and Zundel prototype cations (Figure 1-1), suggesting that the HCl molecule is at least partially ionized for n>4. As in other studies, a large number of closely- spaced isomers (< 2 kcal mol -1 ) were found. 3 Importantly, for the temperatures relevant to supersonic beam experiments (and probably atmospheric chemistry, as well), minimum energy structures of the n=4 and 5 clusters were dominated by those isomers which held the Cl - anion adjacent to a hydronium (H 3 O) + cation, a configuration known as a contact ion pair. Ion separation distance trends upward as water molecules are added, but an unpublished study by the group of Petr Slavíč ek using Molecular Dynamics (MD) simulations found that water molecules tended to partially screen the enhanced dipole moment as ion separation grows. However, the picture is different for very low temperatures (< 1K): The n=4 cluster is dominated by an isomer consisting of the Cl - anion separated from a Zundel cation by two waters. This leads to greater ion separation in colder clusters. Considerably fewer experimental results have been reported, owing to the difficulty of producing sufficiently-intense beams [6]. Several groups have reported IR spectral measurements of cold HCl(H 2 O) n in h eliu m n a n o d ro p le t s ( T ≈0 .3 7 K). G u t b erle t an d c o w o rk ers reported [19] that an absorption band at around 3745 nm appeared when a fourth H 2 O was added to HCl(H 2 O) 3 clusters, and further claimed that this band corresponds to a stretching mode between an Eigen cation (see Figure 1-1a) and Cl anion, while another group [20] assigned the band to (HCl) 2 (H 2 O) 2 . Experimental studies on HBr-water clusters [21,22] and HNO 3 -water clusters [23]have also been reported. The HBr and HNO 3 studies found traces of solvation starting with n=5 and n=4 water molecules, respectively, in agreement with previously mentioned theoretical results. This work reports measurements of (H 2 O) n and DCl(H 2 O) n effective polarizability for c lu st ers i n t h e ran g e 3 ≤ n ≤ 9, a n d est ima t es f o r t h e d ip o l e mo m en t o f t h e same . E f f ect ive polarizabilities were obtained from deflection of neutral supersonic cluster beam in an inhomogeneous field. Also presented is a detailed description of the techniques used to perform the above measurement, including a novel low-cost, high-sensitivity synchronous detector. 4 Figure 1-1: Prototype cations 2 Experiment 2.1 Cluster Beam Machine The measurement of neat and mixed water cluster polarizabilities was performed by deflecting a collimated beam in an inhomogeneous electric field. A schematic representation of the experiment is presented in Figure 2-1. The beam is produced in the source chamber by expanding water vapor (temperature 400 K, pressure 2000 Torr) through a converging- diverging nozzle of diameter 75 um (temperature 450 K). The gas of water vapor reaches the local speed of sound at the nozzle throat and expansion of the gas as it exits the throat produces a supersonic jet with a narrow speed distribution. Immediately in front of the nozzle, inside the expansion region is the end of a stainless steel capillary tube (OD 1.58 mm), which has been formed to an approximately ellipsoidal cross- section (semi- maj o r axis ID ≈2 mm) . The capillary points downward, perpendicular to the beam, as shown in Figure 2-2. The opening of the capillary is positioned so that it is in contact with the front face of the nozzle, and vertically offset from the center of the beam by approximately 1 mm. Gas passes into the tube first via a two-stage pressure regulator rated for corrosive gas use (Airgas Model 400-125-705V constructed of type 316 stainless steel and PTFE), followed a ball valve for gas shutoff and then a Swagelok dual-needle valve for fine gas control. In mixed- 5 cluster experiments, a lecture bottle of DCl with its own shutoff valve is attached to the regulator inlet, and the outlet pressure is set to approximately 500 Torr. As is usual for this type of regulator, the outlet pressure depends on the control set point, the inlet pressure, lab temperature, and the gas flow rate. Gas pressure in the tube between the regulator and needle valves also varies with flow rate, so the gas flow was allowed to settle for a period of 10 minutes before measuring the beam profile. Ad d i t ion a lly, t h e r egu la t o r’s p r essu re c o n t ro l is t o o c o arse t o control gas flow with the precision needed for the deflection experiment. Gas flow is precisely adjusted using the dual needle valve, which is typically adjusted in quarter-turn increments. Optimal gas flow is determined by monitoring the synchronous detector (described below) and adjusting the needle valve to achieve maximum signal of the mixed cluster to be measured. Attenuation of adjacent neat clusters is less than 10% at optimum flow rate. DCl gas is shut off for pure water cluster experiments. DCl molecules exiting the capillary tube are picked up by water clusters near the expansion region to form mixed DCl-water clusters. The jet of mixed (gas on) or neat clusters (gas off) passes into the detector chamber through a circular skimmer (0.4 mm diameter, 25 to 50 mm from the source nozzle) and gate valve (which serves to isolate the two chambers). A rectangular collimator (0.25 mm by 1.0 mm) is placed 175 mm from the skimmer, which serves two purposes: First, it restricts the cluster beam to a known volume of deflection region so that the deflection field and gradient may be estimated. Second, it reduces beam divergence by removing particles not traveling parallel with the beam line. The cluster beam next passes into an i n h o m o gen e o u s “t w o - w ire” o r “Rab i” ele c t ric f ield [2], approximately 150 mm long, produced by a pair of machined and electro-polished aluminum plates (curvature radius 2.39 mm, spacing 2.41 mm) with negligible leakage current. A potential of 28 kV is applied to the plates to deflect the beam, giving field strength of 75 kV/cm and gradient of 355 kV/cm 2 in the beam region. The plates are connected to a high voltage power supply with a 4 m length of RG- 8/U coaxial cable. 6 Figure 2-1: Schematic representation of water cluster deflection machine. An inhomogeneous electric field deflects a collimated supersonic beam of water clusters. 7 Figure 2-2: Nozzle and acid capillary detail. A 316 stainless steel capillary tube carries gaseous deuterium chloride to the water cluster beam. The capillary terminates approximately 1mm above the beam axis, and is in contact with the front face of the expansion nozzle. Nozzle is heated by tantalum wire wrapped on a grooved ceramic former “spool.” Heater current is approximately 1 A at 8 V. The illustrated nozzle tip thermocouple is connected to a PID temperature controller, which adjusts average heater power by pulse-width modulation (pulse period approximately 3 seconds). A second thermocouple (not shown) is clamped to the reservoir body and used by a second temperature controller to regulate average power to the band heater (90V, 150 mA). 8 The beam next passes through a spinning chopper wheel driven by a Globe 18A1004-2 motor from a California Instruments 1502T three- p h ase p o w er su p p ly . T h e p o w er su p p ly ’s frequency is phase-locked to a quartz oscillator and operated in the range of 85 Hz to 160 Hz (140 Hz typical). Following the chopper is a translatable plate with a rectangular slit (long axis vertical in the lab frame, approximately 0.25 mm by 5 mm), which shall henceforth be referred t o as t h e “m o vab le slit .” After passing through the slit, the clusters are ionized by electron bombardment (electron energy 70 eV, current 2.0 mA) and mass-selected by a quadrupole mass spectrometer (UTI 100c, mass range 0-300 amu). Ions passing though the quadrupole are detected by a pulse-counting electron multiplier, newly installed for this experiment (DeTech Inc. Model 311). A single-threshold discriminator, Advanced Research Instrument F-100TD (typical threshold 75 mV) produces a TTL-level square pulse for each detected multiplier output pulse. The square pulses pass through 50-Ohm coaxial cables and a high-speed digital isolator (NVE model IL710, 2.5 kV RMS isolation) on their way to the detectors. The isolator is required to eliminate ground loops, which induce excessive 60 Hz (and harmonics) noise. T h e is o lat o r’s u se o f t h e GM R e f f ect allo w s t h e d evic e t o o p era t e a t mu c h higher frequencies than optical isolators (up to 110 MHz), but it also requires a powered input amplifier (unlike optical isolators) which must be in a powered state prior to transitions between the two input states. Figure 2-3 shows the power supply circuit for the isolator input amplifier. Power for the input amplifier is supplied by the two capacitors, which are charged through the diode by the incoming pulses. The diode is required to prevent the capacitors from discharging into the transmission line after the end of each pulse, which would leave the isolator unpowered when the next pulse arrives. Due to t h e iso lat o r’s low q u iescen t c u rre n t and operating voltage, counting rates of just a few ions per second (well below the background rate of the mass spectrometer) are sufficient to keep the input capacitor charged. This simple power supply does not present a matched 50 Ohm load to the transmission line, causing reflections. However, the ARI discriminator has a 50 Ohm output terminator, which suppresses additional reflections. Output amplifier power is supplied by a grounded power supply located near the synchronous detector. 9 Figure 2-3: Schematic of discriminator isolator power supply. Diode allows signal pulses to charge power-supplying capacitors Output from the IL710 is routed to a line driver module, which passes pulses to both the synchronous detector (exhaustively detailed in section 2.2) and an Ortec MCS-pci multi-channel scaler (MCS). V ersio n 2.1 3 o f Or t ec’s M CS -32 software was used in conjunction with the MCS- pci hardware. Data was exported in Ortec binary format, and a Matlab function was written to extract spectra and meta-data from the binary files. The synchronous detector was built from a National Instruments PCI-6602 counter board, a few TTL logic gates, and software written in LabVIEW 6.0.2 with traditional NI-DAQ. The software has since been ported to LabVIEW 2013 and modified to work with NI-DAQmx. A personal computer hosts the counter board and detector software. The same computer als o c o n t r o ls t h e d ef l ect io n p lat es’ h igh vol t age p o w er supply, the quadrupole mass filter, and the movable slit. A second computer hosts the MCS board. The deflection plate power supply and quadrupole are both controlled by small DC analog voltages. Ground loops are able to generate large potentials, and it was found that standard differential output digital-to-analog PCI boards provided insufficient isolation: several output drivers were damaged while trying to control the mass spectrometer and high voltage power supply via their analog control inputs. Instead of generating analog voltages directly from the control and detection computer, the auxiliary analog outputs on a lock-in amplifier were used. Three lock-in amplifiers were used in the course of building and testing the experiment: SRS model SR830 (±10.50 V, 0.3 mV resolution) and SR530 (±10.24 V, 2.5 mV resolution); and EG&G 5209 (±15.00 V, 1 mV resolution). Software was written in LabVIEW to drive all three units, however only the EG&G unit was used to produce the results presented in Section 7. The lock-in shares an equipment rack and ground point with the power supply and quadrupole, and is connected to the control computer by an optically-isolated RS-232 serial port. 10 A 200 steps-per-revolution Slo-Syn stepper motor drives a micrometer (25.4 mm travel) attached to the movable slit. Ground loops are not a concern with the stepper motor because the motor coils are connected to the motor housing only by non-metallic materials. A driver c ircu it t h a t re s p o n d s t o t w o b in ary sig n als, ” d irec t ion ” a n d “st e p ”, c o n t ro ls t h e mo t o r. The Direction signal is driven by one of the PCI- 66 02 b o ard ’s general-purpose input/output pins, and the Step signal is driven by the output of one of the counters. A software driver was written in LabVIEW to generate pulse trains for the stepper controller. The water deflection experiment is able to run autonomously for several hours at a time. PID controllers regulate nozzle and reservoir temperature of the source. Stagnation pressure in the source is a function of the temperature setpoint of the reservoir PID controller (typically 403 K). The nozzle is held at 448 K to prevent freezing. Liquid nitrogen is added automatically to the cryo-traps from a 160 L dewar. Acquisition software writes raw data to a file as a set of Javascript functions, which plot the data when opened with a web browser. This feature allows the experiment to be monitored from outside the lab. Several attempts were made to monitor vacuum chamber pressure by measuring the output of ion gauge controllers. It was found that connecting the ion gauge controller output to either the lock-in or National Instruments analog to digital converter created an unacceptable amount of noise on the analog control signals. The mechanism by which noise coupled to the analog outputs was not determined before the monitoring system was abandoned for lacking sufficient merit to justify spending further time. 2.2 Counters Lock-in amplifiers (LIAs) are widely used across many disciplines of physics to measure small signals in the presence of large amounts of noise [24 –26]. LIAs are able to extract useful data from signals with signal-to-noise ratios (SNRs) <1 by creating very narrow band-pass filters [27]. In comparison with a line frequency notch filter made of inductors and capacitors, w h ic h migh t h ave a “Q” o f 4, an LIA o p era t in g at a similar f re q u e n c y migh t h av e an e f f ec t ive Q more than 500 times greater. Performance in commercial LIAs has been improved by the introduction of digital signal processing, enabled by invention of high-speed analog to digital converters with excellent linearity over many decades of range [28]. DS P allo w s f o r “p er f ect ” filters with arbitrarily-long time-constants [27,29,30], which translates into greater Q and dynamic reserve. However, it is still necessary to reduce noise sources which act in the signal band because the filtering action of an LIA cannot discriminate these from true signal. Ground loops are just one example of a source of such noise, and eliminating ground loops is so time- consuming that special instruments have been developed to detect and break them [31]. Mass spectrometers have long used pulse-counting techniques to achieve high sensitivity [32 –34]. Instead of amplifying the picoamp average current output of the electron 11 multiplier, the bursts of electrons are fed to a discriminator/pulse-generator (usually located immediately adjacent to the electron multiplier) which produces a single (typically TTL-level) pulse for each detected ion. The square pulses may be fed to a rate-meter with an analog output for use with an traditional detection scheme (e.g. an LIA) [35]. It is essential at this point to make a small digression to note, as it is often a point of c o n f u si o n , t h at t h e re l evan t q u a n t i t y (p u lse ra t e) is st ill a c o n t in u o u s ( o r “ an alo g”) q u a n t i t y. Although the pulses are transmitted as a nominally binary signal, with only two discrete states ( “h igh ” a n d “lo w ”), the b in ary st a t e o f t h e w ire is not what transmits information through this channel. Rather, it is the average time interval between successive low-to-high transitions that carries useful information, and there are no theoretical grounds on which the time-interval should be quantized (at least within many orders of magnitude of the time intervals relevant to this experiment). Qua n t i z at io n ( “a n alo g t o d igit al c o n versio n ”) occurs only when the pulse train is measured by a detector with a fixed gating interval. In any case, transmitting the signal in this way confers numerous advantages: First, time interval is the physical quantity that can be most accurately measured. Commercial atomic clocks have accuracy of one part in 10 15 , and a simple un-compensated quartz oscillator has short term stability better than 0.1 parts per million. Second, the fast edges of the discriminator pulse give the pulse-counting technique great immunity to external sources of noise: any noise less than the counter input hysteresis can only skew the pulse time of arrival by about half t h e p u lse’s rise -time (the ARI discriminator has a specified rise time of < 2 ns). Finally, digital isolators may be used at or near the discriminator to break ground loops, which both reduce noise pickup at the multiplier and discriminator and noise arriving at the pulse counter. Many researchers —and instrument manufacturers, too —have taken the obvious next step of combining pulse counting and synchronous detection [36 –39]. However, the commercial synchronous pulse counters cost many thousands of dollars, and building sy n c h ro n o u s d et ect o rs d escrib ed in t h e li t era t u re re q u ires “h o m e b re w in g ” c o mp lex c irc u it s from discrete components. This presents the experimenter with a dilemma of either spending lots of money or lots of time to acquire the instruments required to make a measurement. As described below, a pulse counting synchronous detection system was built, which is both inexpensive to acquire and simple to build. In fact, a reproduction of the detector could be built in an afternoon by a graduate student with little electronics experience. The system also demonstrates outstanding performance when compared to the continuous-signal system used in previous water-deflection experiments. The detection system for the water deflection experiment is analogous to the continuous-signal detector methods used in similar molecular beam experiments [8]. Figure 12 2-4a schematically illustrates the signal flow in the traditional lock-in detector: A molecular beam is passed through a mechanical chopper and is detected with a continuous-mode electron multiplier. A pico-ammeter measures the current and passes a voltage to the lock-in amplifier. The lock-in is synchronized to the chopper by an LED-photodiode pair on opposite faces of the chopper disc (frequency between 80 and 150 Hz). Each of the above continuous-signal components was replaced by a digital analog (fig 1b): A pulse-counting electron multiplier replaces the continuous-mode multiplier. The quasi- Gaussian distribution of pulse amplitudes [40] is detected by a single-threshold discriminator (ARI FT-100D, with threshold set to approximately 50% of the most probable amplitude, per manufacturer recommendations [41]). Following the discriminator, the TTL-level pulses pass to an NVE model IL710 GMR isolator (to break ground loops) before entering the synchronous detector. For proper galvanic isolation, it is important that the discriminator be located as close as practicable to the multiplier, and the isolator between it and the detector. Figure 2-4: Schematic representation of signal path. New synchronous detection system (b) replaces lock-in amplifier(a). Little hardware is required to build the synchronous detection system block in Figure 2-4: a personal computer, a National Instruments PCI-6602 counter board installed in the computer, and a single AND logic gate. Software for the system is, of course, easily copied. As detailed later, newer general-purpose National Instruments acquisition boards (for PCI-Express slots, based on the STC-3 chipset) containing both counters and analog I/O can be used in place of the PCI-6602 without needing the external gate. It is worth highlighting the fact that the detector uses few resources on the host computer--it is unnecessary to buy a computer to host the detector because the counter board may be installed in any computer that happens to be in the lab for other purposes. The 13 external gate (as well as one of the counters) is required only because of two limitations of the PCI- 66 02 ’s arch i t ect u re , which prevent reliably generating pulse trains with an arbitrary number of pulses and reliably starting all armed counters simultaneously. Eight 32-bit counters (designated as NI-TIO by LabVIEW) within the PCI-6602 are arranged as four pairs. An internal link connects the terminal-count (overflow) output of each counter to the gate input its partner, which allows the partner counter to be gated at precisely- programmed time intervals (12.5 ns resolution at 80 MHz). The counters may also be programmed to share certain increment and gate inputs (a feature heavily used by the detector). Figure 2-7 and Figure 2-8 are provided below to aid in explaining operation of the synchronous detector. Figure 2-7 shows a timing diagram of all the various signals described in the text and Figure 2-8 show an MCS record overlaid with a subset of the signals. The design of the detector is not dissimilar to commercial dual-channel gated counters [39], and operates on a similar range (0 to 80x10 6 pulses per second, though the water deflection experiment generally operates in the range of around 1000 to 1 million pulses per second). One counter accumulates ion pulses when the chopper is closed while the other accumulates pulses when the chopper is open. These are named the B and A accumulators, respectively. The finite speed of the beam and distance between the chopper and detector prevent using the chopper reference signal to directly gate the two accumulators. Instead, the accumulators are gated by a sy n t h et ic c h o p p er sign al, gen e rat e d b y t h e 66 0 2’s c o u n t ers, w h ic h is delayed from the real chopper reference by the time required by the beam to travel from the chopper to the ion detector. The chopper period was observed on an oscilloscope to vary over both long and short time scales. The long scale drift is caused by the three-phase chopper power supply, which drives the chopper at different speeds as its internal oscillator drifts (typically on the order of 0.1% of the nominal frequency). Periodic short scale variation is especially evident when the driving voltage of the power supply is reduced, and appears to be the result of the chopper rotor acting as a harmonic oscillator within the rotating reference frame fixed to the magnetic field generated by the chopper stator (as large as 10% percent of nominal, but usually better than 0.5%). An additional source of very short scale variation is the result of the holes cut in the chopper disk being of unequal size, both with respect to each other and to the solid regions of the disk (typically under 0.1%). The non-ideal characteristics of the chopper may be ignored by sacrificing a small fraction of the measurement time (i.e., setting the synthetic chopper pulse width to approximately 90 to 95% of the real chopper reference pulse width) and triggering on both chopper edges (rising and falling). The dual edge trigger ensures that the counter nominally 14 synchronized to the falling edge of the chopper gate does not have additional chopper skew resulting from the extra half-period of time since the synchronization pulse. The gate dead time also allows for variations that occur over one half-cycle. The gate generator creates the synthetic chopper signal using a single NI-TIO counter w it h t h e “Ret rigger ab le Pu lse G en era t io n ” f ea t u r e o f Lab V IEW. T h is c au s es t h e c o u n t er t o em it a single pulse with a software- d e f in e d t rigger d el ay a n d p u lse w id t h ea c h t ime t h e c o u n t er’s gate input makes a low-to-high transition, and the pulse is routed internally to the (A or B) accumulator gate. Using the internal 20 MHz oscillator, both the delay and width may be specified with 50 ns resolution (one count) and durations up to 214 seconds (2^32 counts), which makes this system suitable for a wide range of experimental applications. An external frequency reference as high as 80 MHz may be used to achieve even better resolution (as small as 12.5 ns) and the programmable prescaler can be used to implement longer delays (with a corresponding decrease in resolution). Figure 2-5 shows one gated accumulator as described in the preceding paragraph. A total of four counters c o mp rise t w o gat ed acc u m u lat o rs, w h ic h mea su r e t h e “ o p e n ” a n d “closed ” c o u n t s sy n c h r o n o u sly w it h t h e c h o p p er. The four counters share just two input pins (a common pulse input from the discriminator and a common chopper reference), which saves the experimenter from the burden of building signal splitters in the 50 Ohm transmission line environment. The two gated accumulator pairs use the same delay, triggering on opposite edges of the chopper reference. The software also has a provision to add a small additional delay to one of the gate generators, in case the chopper reference sensor has differing internal delays for the high-low and low-high transitions. It was determined that this extra delay was not necessary for the chopper photogate in the water deflection experiment by measuring a hydrocarbon fragment (not present in the beam) over a 60 second period--so it was set to zero. This detection system could also be used with, for example, a molecular beam laser depletion experiment (e.g. [36,42,43]) simply by modifying the trigger edges, gate delays and widths. 15 Figure 2-5: Schematic representation of a gated counter, as implemented with NI-TIO counters. Modern multi-tasking operating systems may occasionally cause long delays between programming and arming the various counters, especially when a CPU-intensive task is running at the same time. Unfortunately, the NI-TIO counters on the PCI-6602 lack both a working start trigger and a means to stop both gate generators simultaneously. This limitation may cause one counter to effectively run for hundreds of chopper cycles longer than the other. Therefore, it is necessary to introduce a mechanism to synchronously start and stop the two gate gen era t o rs. Ad d it io n ally , a simp l e “r u n / in h ib i t ” g at e o n t h e c h o p p er sign a l is n o t s u f f ic ien t because a real-time operating system cannot guarantee low enough latency to prevent opening or closing the gate in the middle of a choppe r c yc le ( t h is c o u l d c au se a “r u n p u lse” t o ap p ea r o n the chopper reference input to the gate generators, which would cause both accumulators to count the same pulses for an unknown amount of time). A fifth counter and an external logic gate ensure that the counters are measuring an equal, non-overlapping, whole number of chopper cycles. The fifth counter is programmed to generate a single pulse triggered by the rising edge of the real chopper reference, after which time the counter is automatically disarme d . T h is “C p u lse” a n d t h e r ea l c h o p p er re f e re n c e are passed to an AND gate, (Figure 2-6 -- one gate on a 74HC08 quad-AND chip is used, but any TTL or CMOS AND gate would also work) which produces a gated real chopper reference for use by the synthetic chopper generators. 16 Figure 2-6: Chopper gate for synchronization of two gated counter channels. The width of C pulse is set to an integer number of chopper cycles and delayed by 75% of one chopper cycle. This ensures that the output of counter 5 only changes when the chopper phase is low (thus, not modifying the chopper reference, except to turn it off and on), as shown in Figure 2-7. Figure 2-7 : Timing diagram showing relationship of various signals in pulse-counting synchronous detector. 17 The gating action of the C pulse effectively starts and stops both accumulators at the same time, which makes the measurement result immune to software delays. The complete counter setup is shown schematically in Figure 2-9. After the C pulse, the LabVIEW program reads out the A and B accumulators: The difference A-B is proportional to the signal of interest (the mass-selected ion flux of the beam in the water deflection experiment). Figure 2-8: Illustration of timing relationship between electron multiplier signal and several synchronous detector internal signals. Notice that the gate width is less than half the chopper period so that the transition is not measured. 18 Figure 2-9 : Schematic representation of full synchronous detector implemented with NI-TIO counters. 2.3 Detector Software The software component of the detector is written entirely in LabVIEW (though it could be rewritten in any other language with support for the NI-DAQmx API, such as Python with the PyDAQmx library). LabVIEW is a visual dataflow-based programming language. LabVIEW 19 “V irt u al In s t ru m en t s” ( V I s) t ak e t h e p lace o f f u n c t ion s i n a t ra d it io n al p ro g ram min g la n gu ag e lik e C. T h e “f ro n t p an e l” o f a V I se rves b o t h as t h e f u n c t io n p ro t o t yp e a n d as a u se r in t er face. A number of built-in user-interface elements allow function input and output to be displayed graphically or numerically, and LabVIEW allows one VI to call another using the same prototype as the user interface. The synchronous detector consists of a main VI, which calls a number of sub-VIs to implement various common functions. For example, one of the sub-VIs provides a high-level interface to configure counters for synchronous detection. LabVIEW software for running the experiment is found in Appendix D. 2.3.1 Chopper Frequency It is well known that synchronous detectors cannot reject noise of the same frequency as chopper or one of its (sub-) harmonics [27], so it is sometimes necessary to adjust the chopper frequency to improve noise rejection. As mentioned above, the actual chopper frequency (c.f. the nominal frequency set by the controls on the power supply) also varies over time. Thus, the synchronous detector must have some mechanism to compensate for variations in the chopper frequency. The chosen method is to measure the chopper frequency at the beginning of each experiment and automatically generate appropriate delays and durations for the three gate generators in the detector. Several experimental factors constrain the design on the chopper frequency mea su re m en t V I (n ame d “f a n c y f re q u e n c y f o r in t egra t io n .v i”). First , t h e V I m u st measure the frequency in a fixed amount of time. This allows the chopper frequency to be measured while the water deflection experiment is, for example, translating the movable slit. Second, the measurement VI should work over a wide range of frequencies. Finally, the VI should give accurate results even when the measurement period is short, as this will allow more frequent frequency measurement in future refinements of the experiment. To meet these constraints, a measurement program inspired by Dual Timestamp Counting [44] was implemented. This method works by configuring a c o u n t e r in “b u f f ere d eve n t c o u n t in g ” mo d e . Each rising edge of the chopper synchronization signal captures the current value of the counter (running from the internal 20 MHz crystal oscillator), and these captured events are transferred b y o n e o f t h e b o a rd ’s D M A c h a n n els t o a mem o ry b u f f e r o n t h e h o s t c o mp u t er. T h e V I wait s for a user-defined period of time before reading the buffer. Each element of the buffer contains the number of 1/(20 MHz) =50 ns periods elapsed since the counter was armed, and the index represents the number of chopper periods elapsed since the counter was armed. This data is fit to a line, the slope of which represents the chopper frequency in fractions of the reference oscillator frequency (20 MHz). 20 Chopper frequencies as high as about 1MHz (limited by PCI bus bandwidth) can be measured using this method, and the lowest frequency is limited by the measurement time (one complete chopper period must elapse between arming the counter and reading the buffer in order to capture two rising edges, which is the minimum required to calculate the slope). Chopper period resolution at experimentally-practical frequencies (70 to 300 Hz) and measurement times (10 sec) is much better than 50 ns. This is a direct result of the fitting procedure, which effectively averages over many chopper cycles (typically 1200 to 1500 cycles) [44]. Sensitivity to photo-gate slew rate and jitter is also reduced by this method [44]. 2.3.2 Dual Gated Counter Operation of the synchronous detector was described in section 2.2. Software running on the host computer is required to program PCI-6602 registers to implement the system as described, w h ic h is t h e p u rp o se o f t h e “ init gated counters ” V I. Fo r t u n at e l y, N ID AQmx p ro vid es an API for programming the counter board in a portable way (so the counter setup VI should work in other versions of LabVIEW with other, newer, counter boards). The API is accessed by a set of LabVIEW VIs. Another important sub-VI , “ dual gated interval counters, ” performs the basic synchronous measurement by calling the above VI. “dual gated interval counters ” takes as inputs the chopper parameters (from the chopper measurement VI above), measurement time, and a list of counters to use. Results of the measurement are r et u rn e d i n a “cl u st er ” (the LabVIEW data structure, similar to C structs, not be be confused with atomic or molecular clusters) containing two floatin g p o in t n u m b ers: “ D ip ” an d “T o t al Rat e: ” Lock-in Rate Dip is proportional to the ion signal depletion resulting from the chopper action on the beam, and has a mathematical range of -2 to +2. By convention, the synthetic chopper delays and trigger polarities are set such that the accumulator difference of a cluster beam is always positive. The cluster beam in the water deflection experiment rarely accounts for more than half of total counts, and so the range in practice is about 0 to 1.30. A poorly-aligned or absent cluster beam will yield no depletion at the detector, which should, in principle, produce a Dip of 0. In practice, when aligning the beam, it is necessary to use relatively short averaging time-constants (typically no more than 10 seconds so that the 21 response to a stimulus can be observed in an experimentally-reasonable amount of time). As a result, the Dip will tend to fluctuate with a fluctuation amplitude between about 0.05 (where background counts are on the order of 1000 per second) and 0.002 (where background counts are on the order of 1 million per second). 2.3.3 Simplest Timer Simplest Timer is VI (see Figure 2-10 and Appendix D for front panel controls), intended to aid tuning the machine, including source alignment. This VI shows the total rate and synchronous component (dip) in large text, and lock-in rate in somewhat smaller text so these values may be viewed on a screen across the room from the deflection machine. Lock-in rate is particularly useful when tuning the mass spectrometer ionizer voltages because certain combinations of settings can increase dip, but sufficiently reduce total rate such that the lock-in rate is reduced, which represents a net loss of signal. This program also exposes all of the synchronous d et ect o r’s t u n in g p ar ame t ers ( gat e d ela ys an d w id t h s) o n t h e f r o n t p a n el and implements a simple variable-order Finite Impulse Response (FIR) filter. 22 Figure 2-10: Front panel of “Simplest Timer.vi” program. Synchronous counter timing parameters can be adjusted using front panel controls. Parameters related to chopper frequency may be set automatically by selecting the “Auto Period” control. FIR filter order and measurement time are set using controls in upper left corner of panel. Equation 2-1 gives the general form for an N th order discrete-time FIR filter, where x[n] and y[n] are the unfiltered inputs and filtered outputs at the n th measuring interval and b i are the filter weights. The filter in Simplest Timer sets {b i }= 1, which allows for implementation by taking the arithmetic mean of the elements in a simple first-in-first-out (FIFO) queue. Equation 2-1 An Infinite Impulse Response (IIR) filter was briefly tested and found to be unsatisfactory. IIR filters are characterized by use of both unfiltered inputs, x[n], and previously filtered outputs, y[n], for calculation of the next filtered output, y[n+1]. In other words, IIR filters make use of feedback. Although IIR filters can have reduced computational complexity 23 compared to FIR filters 1 , the use of feedback means that (for un-quantized inputs and outputs) the filtered response of an input impulse only asymptotically approaches zero (which is the origin of the name). IIR filters can be designed to be stable and fast, but FIR filters are guaranteed to be unconditionally stable (a finite-order FIR filter can never generate unbounded output in response to bounded inputs), and the additional CPU load of the FIR filter as implemented is so small as to be virtually unmeasurable on a modern desktop computer. An additional consideration is simplicity for the experimenter when tuning the water deflection machine: simply counting to N as Simplest Timer refreshes the screen allows the experimenter to determine when the effect of adjusting a tuning parameter has been fully realized by the filter. 2.3.4 Beam Profile with Multi-Volt Control “Beam Pr o f i le with Multi- V o lt Con t ro l” (See Figure 2-11 and Appendix D) is the main program for measuring beam deflections. This VI measures beam profiles by scanning the movable slit (see section 2.1) across range of positions and measuring the synchronous intensity at each one. Beam profiles for several field strengths can be collected simultaneously by interleaving measurements from a list of deflection plate voltages. This VI allows for fully-automatic collection of water cluster deflection —after setting the experiment parameters and starting the program, the experimenter must only monitor the experiment in progress for several hours. Slit position, deflection voltage, and mass selection are all controlled by the VI. Chopper frequency is measured at the beginning of the experiment and appropriate values are passed the synchronous detector setup VI. Beam profiles are saved at the end of the experiment, along with all configuration parameters and experiment description in an ASCII file with comma-separated fields. A detailed description of beam profile acquisition process is given in Section 4. Beam profiles are taken by measuring the synchronous intensity of the beam at several times at each of various deflection voltages and slit positions. A profile typically consists of 15 slit positions, and each position is measured between 3 and 15 times, though the program allows an arbitrary number for both parameters. An unlimited number of deflection voltages may be specified in program setup, though, in practice, for the water deflection results detailed in Section 7, profiles are measured at only two voltages: 0 and 28 kV. During the development phase, water clusters were measured several times with three or four quadratically-increasing voltages as a test of system response. It was found that beam deflection followed the expected quadratic voltage law very well, but that measuring multiple 1 Consider the simplest IIR filter, y[n] = (y[n-1]+x[n])/2, requires only two operations: A single addition and a division by 2. 24 voltages increased measurement times without a corresponding increase in measurement accuracy. Figure 2-12 shows deflection magnitudes for several substances as a function of the square of the potential applied to the deflection plates. The deflections are normalized to unity at the maximum potential (28 kV). A line is drawn to show the expected deflection behavior. Figure 2-11: Front panel of “Beam Profile with Multivolt Control.vi” data acquisition program. 25 Figure 2-12: Illustration of linearity of deflection system. Deflection expected to be proportional to square voltage (see text). Deflection voltages are always measured in increasing order due to a confluence of t h re e f act o rs: t h e d e f lec t ion p la t es’ l o w lea k age c u rre n t , c a b le’s f in i t e c a p acit an c e, a n d p o w er su p p ly ’s i n ab i lit y t o si n k c u rre n t ( o n ly sou rce it ) . These factors yield an approximately 3 second time constant when reducing plate voltage and approximately 100 millisecond time constant when raising it. Thus it is necessary to wait about 10 second between lowering the plate voltage and measuring the beam, whereas the waiting time is only about 1 second when raising plate voltage. Additionally, measuring the greatest voltage last allows the slit to be moved without additional experimental delays as the voltage settles. 2.3.5 Counter Spectrum Prior to the installation of the pulse-counting electron multiplier, mass spectra were acquired by scanning the UTI-100c mass control voltage across a range and digitizing the output of a lock-in amplifier connected to the UTI- 1 00 c ’s p ic o -ammeter. However, the pico-ammeter is incompatible with the pulse- c o u n t in g arra n geme n t , so a n ew V I, n ame d “c o u n t er s p ect r u m” was written to acquire mass spectra with the synchronous counter method. Two regions can b e d ef i n ed o n t h e “cou n t er sp ec t ru m” f r o n t p an el ( see Figure 2-13 and Appendix D), each of 26 which allows for control of starting and ending mass, number of steps, and time per mea su re m en t ( c alle d “d w ell t ime ” o n t h e V I’s f r o n t p an el). Figure 2-13: Front panel of “Counter spectrum.vi” data acquisition program. Two mass ranges are scanned in alternating sequence. Front panel controls allow user to specify mass range, number of steps, measurement time per step, and chopper phase. Chopper frequency is measured automatically. 2.3.6 Movable Slit Four Vis are associated with movement of the previously-mentioned movable slit and stepper motor : “si n gle s t ep .v i,” “st ep p er c o n t r o ll er.vi,” “st e p p er w rappe r vi,” an d “st ep p er w rap p er u i.v i.” Labview front panels and wiring diagrams are provided in Appendix D. All four VIs generate pulse trains using two of the PCI- 6 60 2’s c o u n t ers ( t h o u gh t h e “sin gle s t ep ” V I always generates a train with exactly one pulse). The pulse trains are fed to one input of stepper motor driver circuit, which advances the stepper by one step each time a pulse is received. Direction of the stepper motor is controlled by a second input on the driver circuit. LabVIEW-based stepper controllers in other experiments have used software-generated pulse trains to control the stepper driver circuit, but they are not without limitations. The general-purpose computers which host the LabVIEW environment are used for many miscellaneous laboratory tasks, an example of which is using a web browser to inspect manufacturer specifications or manuals for commercial equipment. Unfortunately, many 27 websites seem to be written with the philosophy that any processor cycle not used is wasted. As a consequence, a software-generated pulse train which generates a few hundred pulses per second under normal conditions may sometimes generate only a few pulses per second when another resource-intensive task is running. “stepper controller.vi ” generates pulse trains directly, and takes as input the number of steps to advance and the direction to move. “S t e p p er w rap p er.vi” is a sim ilar p r o gram w h ic h takes as input a linear displacement of the stepper motor, calculates the required number of st ep s a n d t h en c alls “s t e p p er c o n t ro ller .v i” w it h t h at n u m b er as a n ar g u m en t . “s tepper w rap p er vi” d o es n o t k ee p t r ack o f t h e microm et e r’s p o si t ion w h ile ru n n in g. In st ea d , it is the responsibility of the user or calling VI to keep track o f t h e microme t er’s ab solu t e p o sit io n . A more user-friendly program, which keeps track of the micrometer position, was also written ( “st ep p er w rappe r UI .v i”). In t h e c o u rse o f a n o r mal exp eri ment, t h e mic ro met e r’s p o sit io n is first set to zero by the experimenter, after which the deflection measurement program keeps track of the micrometer position. 2.4 Utility Software Several utility VIs were written to support data acquisition, though they are designed so that they may be used independently. These include VIs for setting the Quadrupole Mass Spectrometer (QMS) mass, the deflection voltage, and the slit position. It was found that programming the QMS from a single-ended (c.f. differential) analog-output board was unfeasible. First, ground loops tended to cause the QMS mass setting to vary at the noise frequency. Second, the ground loops sometimes destroyed individual output channels. To avoid this, the auxiliary analog outputs on a lock-in amplifier (EG&G Model 5207, ±10V, 1mV resolution) were used to program the QMS and deflection plate power supply. ASCII commands sent over a serial port were used to set the lock- in ’s o u t p u t vo lt age, a n d an o p t ic al isolator was used to break ground loops. “UTI- 10 0c” controls a UTI 100c QMS, which accepts an analog voltage between 0 and 10V for masses between 0 and 300 amu. The user inputs the desired QMS mass, and the appropriate control voltage is calculated using two calibration constants saved within the program. Calibration constants are calculated by performing a linear fit of the neat water cluster peaks to the known masses of water clusters. Day-to-day variation in the calibration is less than 0.1 amu after warm up. When first turned on, the quadrupole center mass was consistently 0.5 amu lower than commanded, but the center mass gradually drifted into the calibrated position after a 1 hour to 2 hour warm-up period. 28 “S p ellm a n PS U” set s the selected output voltage of a Glassman high voltage power supply. Spellman high voltage power supplies are also supported. Measurement with a Fluke 80K-40 high voltage probe and Fluke 77 II multimeter revealed that the power supply output voltage operated within specifications (about 2% of the commanded set-point with 0.1% repeatability). This VI contains no adjustable calibration constants, but does internally store a conversion factor so that program generates the appropriate control voltage when the user enters the desired output voltage. 2.5 Detector Performance Overall, the performance of the pulse counting synchronous detector is outstanding. Analog input LIAs are often characterized [27] by a figure-of- m erit k n o w n as “d yna mic re serve.” At first glance, the dynamic reserve of the synchronous detector may appear to be very unsatisfactory. In fact, the sy st em ’s d yna mic r ese r ve, as traditionally defined, is 0 dB. That is, the maximum noise level that can be rejected by the detector is the same as the full-scale signal range. In comparison, LIAs commonly advertize dynamic reserve of 100 dB. This means a LIA on, for example, the 1 μ V ran g e c an re je c t n o ise 100 db greater (i.e., 100 mV pp ). However, this apparent deficiency is actually a result of the counting m et h o d ’s s u p erio r dynamic range. In order to measure a 1 μV signal, the LIA scale range must be set near 1 μV or else linearity and resolution suffer. Additionally, setting the LIA to a more sensitive range, say 100 nV, reduces the amount of noise that can be rejected. The counter method, on the other hand, has no range setting (the closest analog is a divide-by-n prescaler, which could be trivially added if it were necessary). The counter is always able to distinguish individual counts, even when background noise is near the absolute full scale of the detector. Another advantage of the pulse-counting technique is that it is intrinsically perfectly linear by design: One additional pulse from the discriminator always 2 yields one additional count in the result, from null input to full scale, or anywhere in between. The PCI- 66 0 2 b o ar d ’s co u n t i n g ra t e (80 MHz without pre-scalers, or 125 MHz with internal programmable divide-by-eight prescaler) limits the full scale input of the detector. In p u t levels are f u rt h er l i mit ed in t h e w at er d ef l e c t ion exp erim en t b y t h e d isc rimin at o r’s minimum pulse pair resolution (about 20 ns for the Advanced Research Instruments F-100TD). In practice, the electron multiplier is the limiting factor in the detector. Significant pulse overlap begins around 20 to 40 million pulses per second, which prevents the discriminator from distinguishing adjacent pulses. This is manifested by a reduction in overall system gain (i.e., increasing ion input to the multiplier by a factor a results in less than a factor of a increase in the number of TTL pulses produced by the discriminator). 2 Barring gross equipment malfunction, of course. 29 Quantitatively, this detector routinely makes measurements at -125 dB full scale on signals with -40 dB SNR (during a beam deflection experiment, when a movable slit attenuates the beam, the lock-in counting rate at the beam center can be lower than 50 Hz while the total rate is tens or hundreds of thousands of counts per second--see Figure 2-16 through Figure 2-18) using a measurement time of about 300 seconds per point. Figure 2-14 shows a typical mass spectrum of water clusters with regularly spaced peaks. Noise is on the order of a few hundred counts per second, while the intense water trimer peak has around half a million counts per second. Figure 2-15 shows an expanded view of another mass spectrum near the pure water pentamer with the DCl gas both on and off. There is a clear rise in the ion signal at 74 amu from (H 2 O) 4 D + , the result of attaching DCl to water clusters. Future Work: PCI-6602 boards are still available new from National Instruments (after nearly 15 years of production), but it is probable that they will be discontinued in the not too distant future. Besides the updated PCI-express interface, newer National Instruments boards have additional capabilities. NI-STC3-based boards have four enhanced counters, as well as analog input and output (which opens the possibility of driving the mass spectrometer and high voltage supply d irect ly ) . T h ese b o a rd s a lso h ave a “ f in i t e p u lse t r ain ” f ea t u re an d a w o rk in g st ar t t rigger, which eliminates the need for the fifth counter and AND gate. 30 Figure 2-14: Mass spectrum acquired with “Counter spectrum.vi” program shows progression of equally-spaced peaks corresponding to pure water clusters. Inset shows expanded view of larger clusters. 31 Figure 2-15: Two data series illustrate the mass spectrum with DCl on and off. The pure cluster mass peak is attenuated and a small peak corresponding to the mass of a mixed cluster appears when DCl is turned on. 32 Figure 2-16: Beam profile of neat trimer at three different deflection potentials, fitted to Gaussian. Gaussian parameters amplitude (A), center (B), and standard deviation (C) are listed inset. Curves shift to the right and are slightly attenuated as the deflection plate voltage increases. 33 Figure 2-17: Beam profile of mixed pentamer. Notice that beam intensity is considerably less than the neat trimer illustrated in Figure 2-16. 34 Figure 2-18: Beam profile of mixed nonamer. This figure is included to demonstrate the sensitivity of the synchronous detector. Peak intensity at center of the beam is just 50 ions per second. 2.6 Cluster Mass Previous work [25,45,46] has found that pure water clusters (H 2 O) n shed one hydroxyl group upon electron-bombardment ionization —that is, the ionized fragment (H 2 O) n-1 H + is observed. Experiments with mixed water clusters containing a guest molecule, X(H 2 O) n , such as DCl [25,45], HBr [22] amino acids or water [47] have found that ionization fragments the guest and leaves behind an (H 2 O) n D + or (H 2 O) n H + anion. Because the beam is not mass-selected prior to ionization, and because a substantial number of pure water clusters reach the detector when the gas is turned on, it is impossible to distinguish a (H 2 O) m H + fragment originating in a (H 2 O) m+1 pure cluster from one that originated in a HCl(H 2 O) m cluster. Thus, it is necessary to dope the clusters with DCl instead of HCl. Mixed cluster fragments, (H 2 O) n D + , are then separated from neat fragments, (H 2 O) n H + , by 1 amu, which is readily resolvable on the UTI-100c quadrupole (see Figure 2-15). It can be stated generally that pure water cluster fragments appear at the masses 18*(n-1)+1 (Figure 2-14) and 35 mixed cluster fragments appear at the masses 18*n+2 (Figure 2-15). Adjacent fragment in the mass spectrum, then, originate from clusters with different numbers of water molecules. As in previous work, synchronous intensity of mixed cluster fragments was always substantially less than the adjacent pure cluster fragments, so care must be taken to ensure that deflection measurements are performed on the correct cluster. When the quadrupole scans across the mass spectrum, the nominally delta-function-like cluster masses are convolved w it h t h e f il t er’s t ran s f er f u n c t io n . T h e o b serve d s p ect ru m c o n t ain s a serie s o f p ea k s w it h a FWHM of around 1 amu (though the UTI-100c allows the operator to trade sensitivity for resolution using a knob hidden behind the front panel). The amplitude of each peak is proportional to current of ions with that mass, though the constant of proportionality is a complicated function of several factors. Discussion of mass spectrometer sensitivity will be ended here, as it is unimportant to the present experiment. Contribution from both ions is observed when the mass spectrometer is set midway between two adjacent peaks. However, setting the spectrometer more than about 0.75 amu from a peak was observed to reduce the contribution of that peak to less than the background noise. Thus, it is important to ensure that the mass spectrometer is set to within ±0.25 amu of the mixed cluster peak when measuring deflection profiles of mixed clusters. One complication with meeting this requirement in practice is that mass spectrometer ’s cali b rat io n drifted slightly from day to day and also as it warmed up 3 , so it is necessary to verify that intense pure clusters are n o t ‘lea k in g’ i n t o t h e d et ec t o r w h en t h e q u a d r u p o le is se t t o a mixed c l u st er f ragm en t mass. In addition to taking mass spectra and generally being careful while setting up the experiment, an additional step was taken immediately prior to starting the deflection program: With the apparatus ready to measure a deflection profile, the ball valve in series with the DCl pipe was turned off for approximately 60 seconds and then back on. If the quadrupole is set correctly, the synchronous signal should drop to a negligibly small value about 20 to 30 seconds after closing the valve and then come up to the previous value about 20 seconds after opening the valve. 3 Velocity Measurement An accurate determination of cluster beam velocity is required for beam deflection experiments. Equation 6-3 shows that effective polarizability is directly related to beam velocity, so velocity uncertainty directly translates into uncertainty of the effective dipole. 3 This effect, approximately 0.25 amu over the course of 45 to 60 minutes after the ionizer is switched on, seems to be correlated with ionizer filament current, and it is currently hypothesized that the filaments heat the front of the quadrupole and slightly adjust the spacing between the rods or deform the ion optics between the ionizer and rods. Rod spacing is a calibration-critical dimension. 36 Time of flight (TOF) is just one of many techniques used to measure the velocity of neutral cluster beams [2]. TOF techniques measure the time required for a beam of particles to transit a fixed distance and calculate the velocity using the definition . A large number of variants of the basic TOF principle exist. Ignoring those based on the Fizeau principle, the distance and time relevant to the TOF measurement are those between a b ea m m o d u lat o r a n d a b ea m d et ect o r. M an y me an s o f mo d u la t in g ( o f t en c alle d “ch o p p in g”) the beam are available, though the most common use radiation to deplete the beam (such as the laser in [48]) or mechanical device to physically block the beam [2,49]. Mechanical chopper sy st em s c o me i n ma n y f o rms, su c h as o sc illa t in g “t u n in g f o rk ” c h o p p ers a n d o n e o r mo re spinning disks cut with holes [2,49]. Disk choppers are generally preferred due to their higher speed and consequently greater resolution, and the holes may be equally-spaced or in pseudo- random patterns [2]. Unfortunately, time delays of unknown magnitudes in the detector system add error, and the delays may even exhibit cluster size dependence [49,50]. Error is also added by the unknown time between the chopper synchronization signal and actual cluster beam breaking. Historically, TOF measurements with chopper wheels used very narrow slits so as to produce almost short bursts of clusters. Although the burst smears out as a result of the finite width of the cluster velocity distribution, the width of the arriving burst is short compared to the time of flight, so the arrival time is easily computed from the envelope of the detector signal. The major limitation of this technique is that only a small fraction of the original beam is transmitted to the detector. It is usually impossible to perform a deflection experiment while simultaneously measuring velocity in this way. This limitation was partially lifted by Vollmer [48], who derived a formula for measuring velocity using only the rising edge of a photo- d ep let ed c lu st er b ea m. In V o llmer ’s work, t h e cluster beam was effectively modulated by a square wave instead of the delta-function in a traditional TOF. Later work by Tikhonov [49] b u il t o n V o llmer ’s l ea d i n g -edge method with a sophisticated double-chopper arrangement [51]. The use of two choppers, and running them in both directions, allows for very accurate velocity measurements by intrinsically canceling all of the systematic time-measurement errors, while maintaining the ability to conduct a deflection experiment simultaneous with velocity measurement. The water deflection experiment uses a simplified variant of the Vollmer-Tikhonov method: A single mechanical chopper is used to modulate the beam. Simplification is justified in this case because, unlike Tikhonov, highly precise absolute measurements of cluster polarizabilities are not sought. Size-dependent timing errors should contribute less than in other experiments due to the small mass range of the water deflection experiment. 37 Additionally, the magnitude of velocity errors expected from systematic timing delays contribute very little compared to the beam deflection measurement error. In any case, the effective polarizabilities of neat water clusters measured using the single-chopper setup are in line with those found in the literature (as will be discussed in a later chapter). A time-resolved cluster flux signal is required to implement the Vollmer velocity measuring technique. As mentioned in section 2.1, electron multiplier pulses are fed through a series of electronics to a Multichannel Scaler (MCS). The MCS records beam flux in discrete t ime i n t ervals ( t ypically 5 0 t o 20 0 micros econ d s p er c h an n el o r “b i n ”). Figure 3-1 shows an example of a typical MCS spectrum for the pure water trimer. Start trigger for the first bin (time = 0) is sourced from the chopper photo-gate, and channel dwell time is derived from an internal 1 MHz crystal oscillator. MCS record lengths are typically 5 to 20 ms and measured for 20 to 40 minutes with the movable slit fully retracted. It was found that measuring MCS spectra with the slit in place produced records that were too noisy to reliably interpret. Figure 3-1: MCS spectrum of water trimer. The record represents approximately 80% of a complete chopper cycle. Vollmer obtained [48] an expression (Equation 3-1) for the beam flux as a function of time and distance from the depletion event by integrating the product of beam speed, u, and an ansatz for the cluster speed distribution, f(u). Equation 3-1 is intended to be fit to the falling 38 edge of the beam flux signal as the beam is modulated, corresponding to roughly the time domain 0 to 3000 microseconds in Figure 3-1 above. Equation 3-1 The well known [52]supersonic beam distribution (Equation 3-2) is used for f(u), where C n is a normalization constant. The value of n depends on the quantity being measured (number density, particle flux, or energy flux) as well as presence or absence of a velocity selector [2] (n=3 for the water deflection experiment). Equation 3-2 Flux downstream of the modulator is then given by Equation 3-3, where g(w/v,z) is on the order of unity for physically reasonable parameters [48]. Equation 3-3 This resulting expression for time-domain flux assumes an un-modulated beam flux of S 0 and that the modulator fully extinguishes the beam (i.e., that the detector measures zero signal in the fully-modulated phase). It also assumes that the beam shut-off time is negligibly short, which is adequately approximated by the chopper wheel: With typical experimental settings, the time for the edge of the chopper to cross the beam is roughly 50 microseconds 4 , or about the width of a multi-channel scaler bin. Background gases in the detector chamber and dark counts violate this assumption, so a background subtraction is required before applying Equation 3-3 to MCS spectra. 4 The chopper period is roughly 8 ms, giving a wheel period of 16 ms. Chopper radius is roughly 50 mm, and the beam is roughly 1 mm vertically. The beam passes near the rim of the chopper wheel. 39 As noted above, Equation 3-3 represents the falling edge of beam flux as the chopper is closed. The flux expression is not p eri o d ic , s o it is o n ly a n “i d ea l” re p re se n t at io n o f t h e e f f ec t o f a single chopper cycle —the expression approaches S 0 for t << x/v and 0 for t >> x/v. However, the real time-resolved flux is periodic, so it is necessary to ensure that it is fit to data spanning only about half of a chopper period. To simplify analysis, S 0 is fixed at unity and MCS profiles are normalized (using a process described below) to approximately the range [0,1]. The relevant time interval of each MCS profile is extracted, and the resulting interval of MCS data is then fit to Equation 3-3. The fitting procedure only fits for parameters w and v (x is fixed at the measured chopper-detector distance, and S 0 is fixed at unity). 3.1 MCS Record Normalization Normalization is applied to the points in the MCS record using the formula given in Equation 3-4, where <MCS depleted > and <MCS undepleted > represent the average of the depleted and undepleted ranges. However, there is a significant complication: Cluster, molecular, and atomic beams may have radically different velocities, depending on the source conditions and beam composition. In particular, the water cluster beam had a speed approximately 3 times that of a Krypton b ea m u sed f o r c ali b rat i n g t h e d e f lect io n mac h in e’s geo m et rical c o n st a n t . Additionally, MCS profiles do not have a fixed record length or temporal resolution. Equation 3-4 A f u n c t io n , c alle d “ t o f f i t t er” w as w rit t en in M AT L AB t o a u t o mat ic ally a p p l y corr ect normalization to MCS profiles and obtain the best fit parameters for Equation 3-3. Toffitter requires no user input to correctly normalize MCS records and works even on noisy MCS records and those covering an arbitrary number of chopper cycles (though at least one falling edge must occur in the record). M CS r ecor d s are imp o rt e d t o M AT LAB u si n g o n e o f t w o f u n c t io n s, “ r ea d M CS” an d “re ad ASC” f o r Ort ec binary and ASCII files, respectively. Ortec was unwilling to share a specification for the binary format produced by the MCS-32 software, so the meaning of the fields in the binary file format were determined by saving a series of profiles with various setup parameters and examining the resulting files (see comments in readMCS.m for details of the file format). Nearly all of the fields were identified. The metadata is required to, at a minimum determine the number of channels in the MCS record and the dwell time at each channel. It should be noted that readMCS may not work correctly for MCS channel widths less than 1 microsecond. 40 After importing raw MCS data (Figure 3-1), the TOF fitter begins with a pre- normalization step by subtracting the mean of the MCS profile from every channel and setting the peak-to-peak amplitude to 2 ( sh o w n as t h e “ Pr en o rma liz ed M CS” ser i es in Figure 3-2). This results in record with a range of nominally -1 to +1. However, records may span a different range. Figure 3-3 shows a synthetic and exaggerated example of a time-resolved flux for the combination of fast beam beam and sub-period MCS record length. The large beam velocity means that the time-resolved flux profile has only a few un-depleted channels at the beginning of the record (the last clusters to pass through the chopper arrive only 650 microseconds after it closes), so the mean over all channels is dominated by bins in depleted region (when the chopper is blocking the beam). This shifts the prenormalized MCS profile upward (notice the vertical scale runs from -0.5 to +2.5, whereas the scale was from -1.5 to 1.5 in Figure 3-2) because the average value is closer to the depleted value than the undepleted value. A very slow beam would show the opposite effect —the prenormalized profile would be shifted downward due to the large number of undepleted channels at the beginning of the profile. 41 Figure 3-2: Illustration of MCS channels used for normalization of MCS record (see text for definition of “intro” and “outtro”). Cosine fit is use to estimate channel numbers to use for intro and outtro regions. 42 Figure 3-3: Simulated MCS spectrum of fast cluster beam and sub-period record length to illustrate effect on normalization process (see text). In this example only four channels measure un-depleted ion fluxes near the beginning of the record. Next, a cosine function is fit to the pre-normalized MCS profile of Figure 3-2 using the least squares method. Phase, frequency and amplitude are adjustable parameters for the fit, and the values obtained for data series in Figure 3-2 are printed in the figure. All data after the first 5/8ths of the cosine period is discarded. Two ranges (depleted and undepleted) are extracted based on the phase and frequency of the cosine. These ranges are highlighted in red filled circle (depleted) and green filled squares (undepleted) on Figure 3-2. The means of these ranges are computed and used in Equation 3-4 to obtain the normalized MCS profile, shown in Figure 3-4. Note that the normalized profile ends at the rightmost point highlighted red in Figure 3-2. Formulas for the beginning and ending of the highlighted ranges are given in Table 3-1, where T is the fitted period, φ is the fitted phase, τ is the channel width, N is the number of channels in the MCS record, and E is the ending channel of the outtro region. In all cases the Floor function is applied to the formulas in the table so that only integer channel indices are generated. 43 Region Beginning Channel Ending Channel Intro 0 Max(10, (T/8+T* φ)/ τ) Outtro Min(E - 10, (7*T/16 + T* φ)/ τ) Min(N, (5*T/8 + T* φ)/ τ) Table 3-1 Figure 3-4: Illustration of result of the MCS record normalization process described in text. The final step in toffitter (Appendix A) uses the MATLAB function lsqcurvefit to obtain parameters v and w to fit Equation 3-3 the normalized profile in Figure 3-4. The fit and values for v and w are printed in Figure 3-4. 3.2 Expected Velocities Although the parameters for the Vollmer equation have been obtained, the story is not over: The v parameter is not the expected velocity, of the beam. Vollmer does give an expression for (Equation 3-5), but the effective dipole calculations require the factor . Mathematica was used to obtain Equation 3-6, which gives in terms of v and w. Results of the fitting procedure are given in Section 7. 44 Equation 3-5 Equation 3-6 4 Beam Profile Determination Water cluster beam profiles are obtained by measuring the synchronous intensity of a single ion fragment passing through the movable slit. A motor moves the slit to several positions in front of the beam (typically 15), which allows an intensity-position profile to be mapped out. Beam intensity is known to fluctuate. In particular, for the typical source conditions used for the water experiment, beam intensity tended to gradually rise for the first hour or two and then gradually fall for the remainder of the experiment, or until the water in the source was exhausted. Profile measurements require long measurement times (typically 1 to 6 hours), so beam intensity fluctuations obviously have the potential to cause systematic errors. To mitigate systematic errors that would arise from these fluctuations, the measurements are broken up and measured several times for shorter intervals. The order in which the slit positions are measured is also made random. More specifically, the control program makes a list of the slit positions to be measured based on user input (start and end of the measurement range as well as the number of positions to be measured). A Fisher-Yates shuffle 5 [53] is applied to the list before the beam is measured. The program then steps through the positions in the shuffled list and measures the synchronous intensity at each one. When the end of list is reached, the list is again shuffled and the process repeated. Each set of sh u f f led p o sit ion s is re f err ed t o as a “p ass,” an d t h e program measures as many passes as the user specifies. Because the list is shuffled after each pass, the order in which positions are measured also varies from pass to pass. 5 The Fisher-Yates algorithm has the desirable property that each element of the unshuffled list has an equal probability of appearing at any position in the shuffled list. Other shuffling algorithms may have non-uniform probabilities (for example, an element might not be allowed to remain in its original position after the shuffle, or an element from one end of the unshuffled list might have a very low probability of appearing at the other end of the shuffled list). 45 It should be noted that the beam intensity is actually measured multiple times at each list position during each pass. This is so that each deflection voltage (typically just two, 0 and 28 kV) can be measured. For technical reasons explained in section i, deflection voltages are always measured in increasing order. This has the potential to add systematic error. However, since each measurement is short and long-term variations in source intensity are relatively slow, this should be a small effect. In typical experiments, the intensity of the water cluster beam varies by less than a factor of 2 over the course of 6 to 8 hours, so the difference beam intensity over the measurement period of two deflection voltages should be less than 0.5%. Each measurement of synchronous intensity is typically takes place over a period of 30 seconds. A pass of 15 positions with 2 deflection voltages and 30 dwell periods requires about 17 mi n u t es o f “w all t ime ” w h en d ela ys f o r volt ag e set t lin g an d mo t o r mo veme n t are in c lu d e d . The measuring sequence is then as is shown in Table 4-1. 1 Set slit to position i from list 2 Measure beam intensity 3 Set deflection voltage j 4 Measure beam intensity ⁞ n Set deflection voltage N-1 n+1 Measure beam intensity n+2 Set deflection voltage 0 Return to step 1 Table 4-1 At the end of the profile measurement, the control program saves a list of position- intensity tuples. Each tuple represents the intensity of the beam over a narrow range of time (typically 60 seconds for two voltage measurements) for the several measurements at different deflection voltages. Therefore, the list contains one tuple per pass per position. It is the responsibility of the MATLAB data analysis code to sort the tuples by slit position (if necessary). Before analyzing the tuples, the MABLAB program “con sist en t Re d u c e” (Appendix B) first normalizes the synchronous intensity data. The data is split into blocks representing each pass of the deflection measurement, and the mean synchronous intensity (over all slit positions and voltages) of each block is calculated. Finally, the synchronous intensity data of the n th block is mu lt i p lied b y t h e ra t io o f t h e f irst b lock ’s m ea n o v er t h e n th b l o c k ’s m ea n . Deflected and un-deflected beam profiles are fitted to a Gaussian (Equation 5-1), as shown in Figure 2-16, after the experiment, and the b parameter is taken as canonical beam position. Beam deflection is measured as the difference in b parameters of the deflected and 46 un-deflected beams. Fits w ere p erf o rme d w it h M AT LAB ’s “ lsq c u rve f it ” f u n c t ion u sin g t h e original position-intensity tuples (i.e., without first averaging the intensity at common slit positions). Uncertainty in measuring the beam position is the largest contributor to uncertainty in the effective dipole calculation. Uncertainty of the b parameters was calculated as described in Section 5, and then propagated to the effective dipole moment using standard formulas. 5 Statistical Bootstrapping Deflection in the water experiment is measured by taking the difference of deflected (field on) and un-deflected (field off) beam positions. In common with other cluster beam experiments [24,49], the water beam has a roughly Gaussian profile with finite width. Position of the beam is defined by fitting a beam profile to a Gaussian function, and variance in the beam position directly translates into vari a n c e o f t h e c lu st e rs’ e f f ec t ive d i p o le mo me n t ( t h e physical quantity of interest). Thus, it is highly desirable to estimate the variance of the fit parameters for a particular fit. In contrast with the linear and quadratic fits, there seems to be no published formula to est imate t h e varian c e o f t h e Gau ssian ’s f i t p aram et ers. Se veral d eriva t io n s o f s u c h a f o rmu la were performed using Bevington [54] as a guide. Unfortunately, the derivations consistently yielded useless identities or required calculating the inverse of a singular matrix. Additionally, the goodness-of-fit parameter output by common software does not contain information about the variance of the parameters. However, statistical re-sampling techniques provide a useful solution to this problem. Rigorous descriptions of a re-sampling technique known as statistical bootstrapping are given in the literature [55], but the implementation of bootstrapping and its application to the water deflection experiment will be presented in this chapter. 47 As described in previous sections, a LabVIEW program makes a synchronous measurement of the beam intensity by moving a vertical slit to several positions over a series of passes. Each position is measured once per pass, in random order, and all measurements are recorded separately. Thus, there are several (equal to the number of passes) measurements of the intensity at each position. These position-intensity pairs are fitted to a Gaussian function (Equation 5-1 ) u sin g M A T LAB ’s l sq c u rve f it f u n c t i o n ( Ap p e n d ix C), which returns the parameters a, b, and c that minimize square error. Equation 5-1 In addition to the true beam profile above, a set of synthetic beam profiles can be generated from a subset of the data. Fits of the se sy n t h et ic p ro f iles ( “syn t h et ic f it s”) s h o u ld produce a set of curves which are slightly perturbed variations of the true curve. These synthetic fits must have varying parameters (otherwise they would exactly match the original). It is possible, then, to calculate the variance of each of the fit parameters across the set of synthetic fits —in fact, in the Bootstrap method this is the variance of the parameters in the original profile. The key to the bootstrap method is in the recipe for generating the synthetic beam profiles by statistical re-sampling. As noted above, the data collection program measures the synchronous intensity, f, of each position N times, (N > 1) so the beam intensity of the i th position of the profile, f i , is: Statistical bootstrapping calculates the mean intensity of a particular position in a slightly different way: instead, the N measurements, f i,j , are “p u t in t o a h a t ” an d d rawn a t random N times, with replacement, to obtain a re-sampled set of intensity measurements, f i,k . The synthetic mean is then: It should be noted that values used to calculate the synthetic mean are not the same as those used to calculate the true mean. The critical distinction here is that N values are drawn without replacement for the true mean and drawn with replacement for the synthetic mean. There is approximately a 30% chance that any given measurement will be used more than once in a particular synthetic profile, which of course implies that some measurements will not be used at all in that profile [55]. 48 Several MATLAB functions were written in furtherance of the Bootstrap implementation. The code given in Appendix C generates synthetic profiles from the true profile data using the Bootstrap recipe. It then performs a Gaussian fit and saves the resulting parameters. After repeating this process (typically) 300 times 6 , the variance of each fitted parameter is calculated, and the results are written to a file with the original parameters. Only the variance of the b parameter is propagated to the effective polarizability calculation. 6 Deflection Field Inhomogeneous electric fields are required to deflect beams of neutral particles. Many c o n f igu r at io n s ar e re al iz ab le, b u t t h e “t wo- w ire ” o r Rab i f iel d [2] is by far the most common configuration for studying the dipole moments of neutral clusters. Two-wire electric fields are typically realized by a pair of metal plates, carefully c o n st r u c t ed t o ma t c h t w o o f t h e f i eld ’s equi-potential surfaces. Figure 6-1 shows a cross-section of the plate geometry and the approximate location of the beam as it passes between the plates. As will be discussed in the next section, neutral clusters respond to the product of the field and the field gradient. Two-wire fields have the desirable property that both the field and gradient- field product vary only slowly in the region of space occupied by the beam. This allows for the approximation (to better than 5% [49]) that all clusters within the beam may be considered on an equal basis, without regard to their position within the beam. Details of the two-wire field are exhaustively discussed elsewhere [1,3,49,56]. 6 In general, the bootstrap method should give better variance estimates as the number of synthetic profiles increases. The number 300 was chosen somewhat arbitrarily, using feedback from several initial experimental profiles: It is large enough to generate a reasonably diverse set of synthetic profiles (there are (n!)^m possible synthetic profiles [55], where n is the number of passes and m is the number of measured positions in a profile), yet small enough to be computed in a few minutes on a modern notebook computer with an Intel Atom CPU. Reference [55] gives a multitude of practical examples of using a bootstrap on real data (using 100 to 1000 synthetic data sets), and com m e n ts t h at it is n o t n e ce s s ar y t o generat e a n “ e xt ra o rd in ar y ” n u m b e r o f syn th e tic data sets. 49 Figure 6-1: Cross-section of deflection plates. The collimated cluster beam passes through the region shaded blue. 6.1 Deflection From classical electromagnetic theory, the energy of a dipole in an electric field is given by [57], and thus the force will be . Only the z-component of force (Equation 6-1, with K determined by electrode radius, spacing and potential) is of interest: The y-component is symmetric with respect to the z-axis, and weakly centers the beam [2,49], while the x-component vanishes, except near the ends of the plates. Equation 6-1 If fringing effects are ignored, clusters in a beam with velocity v spend a time between the plates and experience an average force proportional to the time-averaged projection of the dipole on the z-axis, <p z >. This leads to an acquired impulse proportional to , w h ere m is t h e c lu st e r’s mass . After leaving the plates, clusters drift 50 perpendicular to the beam axis for a time until the beam reaches the movable slit. It should be no surprise, then, that Equation 6-2 gives the well-known [2,3,24,49] displacement relation of a single particle. C is a geometrical constant which depends on (among other factors) the length of the plates, distance between the plates and movable slit and plate geometry. Equation 6-2 To obtain an expression for <p z >, one begins by taking the first two terms of a Taylor expansion of the dipole moment [1]: A permanent dipole moment due to asymmetries of the charge distribution outside an external field; and an additional field-induced dipole moment Perhaps the simplest case to consider is that of a particle with no intrinsic dipole moment ( ). Example systems include closed-shell atoms and centrally-symmetric molecules. Such a particle exposed to an electric field is polarized according to its polarizability [57]: , where α is in general a tensor [57]. However, the off-diagonal elements are typically much smaller than diagonal elements and the particle, even in the ground state, rotates sufficiently fast that the measured polarizability can be taken as the average of the diagonal elements: [1]. Ignoring fringing effects, the time- averaged dipole projection is simply . Equation 6-3 gives the displacement of such a particle. Equation 6-3 Note that the constant-gradient assumption has been applied and the geometrical constant now includes a factor relating the gradient to the field (because E within the beam region). It is also worth mentioning explicitly that non-polar polarizable particles experience uniform deflection--that is, with the foregoing assumptions, the beam shifts uniformly without broadening. The picture is considerably more complicated for polar particles. In general, it is still possible to measure an effective polarizability, α, which the sum of both the static polarizability, discussed in the preceding paragraph, and a term related to reorientational polarizability. In 51 certain classes of systems [3,24], it is possible to go a step further and relate the observed effective polarizability to the dipole moment. One such class of systems are “ f lo p p y clu s t ers,” [1 –3,8] whose dipole moment can be easily re o ri en t ed w it h re sp ect t o t h e c lu s t ers’ b o d y axes (c.f. "rigid" or "frozen" clusters, in which the dipole moment is locked to the body axes). The Langevin-Debye law (Equation 6-4) gives an approximation for an ensemble of thermally-equilibrated polar particles in the limit pE/k B T << 1 [3]. It is not difficult to meet the small fraction condition for economically realizable fields and realistic temperatures. However, it is not completely obvious that an isolated (i.e microcanonical) system, such as the free clusters in a beam, remains thermally equilibrated, especially after entering the deflection field, where the equilibrium distribution of dipole orientations shifts. One solution [3] is to assume that the cluster enters adiabatically and further that the vibrational degrees of freedom form a heat bath with which the dipole moment may equilibrate, lifting it from the micro canonical to the canonical ensemble. Thus, the relevant temperature in Equation 6-4 is the vibrational temperature, which is not necessarily equal to the temperature of other (e.g. rotational) degrees of freedom. Equation 6-4 It follows from Equation 6-4 that floppy clusters act like non-polar particles with an enhanced polarizability of , and are expected to uniformly deflect without significant broadening. 6.2 Broadening Nothing in the above discussion, up to Equation 6-2, gives a preferred direction for the deflection of the particles comprising the beam —that depends only on the average dipole projection while in the field 7 . Indeed, a hypothetical beam of particles with negative polarizability would deflect in the opposite direction. More physically, d ip o le m o m en t s rigid ly l o c k ed t o t h e p ar t ic le’s b o d y axes are not significantly reoriented in weak fields, so the distribution of <p z > in the field region approximates that of the population before entering the field region. Clearly, then, a beam with a statistical distribution of p z must broaden as the constituent particles are deflected 7 However, it should be mentioned that beams composed of Langevin-type floppy clusters and static polarizable particles always deflect in the direction of the field gradient--that is, they are "high field seekers" [3] 52 according to their zero-field p z . In fact, presence of broadening is usually taken as an indicator that the beam is composed of particles having a locked, permanent dipole [1,2]. Previous work has shown that while water molecule beams do exhibit significant broadening [24], water cluster beams do not [8]. The uniform deflection of water cluster b ea ms s u ggest s t h a t t h e “f loppy c lu s t er” p ic t u re i s an a d eq u a t e r ep re se n t at ion [3] 8 . In this case, the polarizability of Equation 6-3 is now an effective polarizability (Equation 6-5), where α el is the static electronic polarizability of the cluster and α res is some residual polarizability. Equation 6-5 Subtracting a static electronic polarizability of α el = n * 1.2 Å 3 [23,58] for (H 2 O) n clusters leaves a roughly constant residual polarizability in the ranges of n=[3, 8] and n=[10, 15] [8]. Replacing α res with the induced-dipole polarizability from Equation 6-4 gives Equation 6-6. Equation 6-6 6.3 Calibration of Geometrical Constant The geometrical constant of Equation 6-2 and Equation 6-3 depends on a number of experimental factors, including deflector-detector flight distance, deflection region length, plate curvature and spacing, and beam alignment within the plates. It is usually impractical to identify and measure all the factors with sufficient accuracy to calculate the geometrical constant from first principles. Instead, the usual approach is to measure the deflection of a non-polar particle with known polarizability. Typical candidates include closed-shell atoms, such as the noble gasses, and spherically symmetric molecules like SF 6 . Butane and CO 2 are both appealing but useless for calibration: Butane has several isomers with differing static polarizabilties, and at least one of the isomers was suspected of having a permanent dipole, while CO 2 has an anisotropic polarizability. Ar beams produced by reasonable source stagnation pressures tended to flood the source chamber, choking the diffusion pump (a minimum pressure is required to maintain supersonic flow —and narrow beam velocity distribution —at the nozzle throat). Beams with broad velocity distributions require significantly more attention. Beams of SF6, a gas used in other published work, were 8 Theoretical work [15,74] suggesting that water clusters of experimentally-relevant temperatures should be in a liquid-like phase reinforces this idea. 53 tested briefly, but two electron multipliers exposed to those beams showed markedly reduced gain and increased dark counts. A representative from the manufacturer (DeTech Inc.) hypothesized that SF 6 mi gh t p o iso n t h e mu l t ip li er ’s su rf ace. T h is is c u rio u s id ea in ligh t o f t h e fact that many other experiments used SF 6 as a calibrant. In the end, a supersonic beam of Kr ( α=2.465Å 3 [59]) atoms was used to calibrate the geometrical constant. Obtaining the geometrical constant of the machine is straightforward: The source produces a supersonic beam of the calibrant. Beam velocity is measured using the method in chapter 3. Beam profiles are measured with the deflection field on and off. Profiles are fitted to Gaussians, and the shift in center position is taken as the left side of Equation 6-3. The only unknown is the geometrical constant. 6.4 Extraction of Dielectric Properties The same procedure outlined at the end of section 6.3 for obtaining the geometrical constant is followed for obtaining effective polarizabilites, except that one solves the deflection equation for α instead of C. Extracting cluster dipole moment from effective polarizability requires care, as the Langevin expression requires knowledge of cluster vibrational temperature and the static electronic polarizability (Equation 6-6). Unfortunately, neither of these is known to a high degree of precision. As mentioned at the end of Section 6.2, previous measurements of the pure water cluster dipole used estimates of T vib ≈200 K a n d α el ≈n * 1.2 Å 3 [8], based the results of earlier work on evaporative ensemble theory [60] and DFT simulations of water clusters [58]. Evaporative ensemble temperature estimates depend on cluster binding energy. Equation 6-7, found in reference [61], gives an estimate of the upper temperature limit of an evaporating cluster 9 , where E A is the energy lost through evaporation, G is the Gspann p aram e t er ( som et ime s c alle d γ i n t h e lit er at u re a n d u su ally est ima t e d as γ ≈ 25 [60,61]), and C N is the cluster heat capacity with constant number of particles. Recent DFT simulations of pure water clusters suggest that the energy of evaporation varies radically with cluster size and temperature [62]. Moreover, the presence of a DCl molecule on the surface of a cluster may shift the energy of evaporation and heat capacity of the cluster, which might result in differing temperatures for pure and mixed clusters. Simulations of pure [63,64] and mixed [15] water clusters suggest that heat capacities are not materially different. Equation 6-7 9 That the cluster has already evaporated at least one constituent is among the assumptions used in obtaining this formula. 54 For the purposes of discussion, it will be assumed that the polarizability of mixed clusters is simply the sum of the polarizability of DCl and that of pure water clusters. Table 6-1 gives the assumed static polarizability of neat and mixed clusters. The values of 1.2 Å 3 and 2.84 Å 3 are obtained from refs [58] and [59] respectively. Further, it will be assumed that pure and mixed clusters have the same vibrational temperature. Cluster (H 2 O) n DCl(H 2 O) n Polarizability n*1.2 Å 3 n*1.2 Å 3 + 2.84 Å 3 Table 6-1: Assumed static polarizability of neat and mixed water clusters, in cubic Angstroms, from values found in [58,59]. 7 Results and Discussion 7.1 Polarizability and Dipole V alu es f o r t h e e f f ect ive p o lariz a b ilit y, α eff , of neat and mixed water clusters are plotted in Figure 7-1 and listed in Table 7-1. Error bars are derived from the standard deviations in the measurement of d water , d Kr , and α el,Kr . Also included in Figure 7-1, for comparison, are the results of previous experimental work by Moro et. al. on neat water clusters [8]. Heavy lines show the mean effective polarizability of neat (dashed) and mixed (solid) clusters for n=[3, 5] and n=[6, 9]. In agreement with previous work under similar source conditions, the effective polarizability of neat water clusters exhibits a gentle rise starting with the hexamer. Our newly- reported data on mixed DCl-water clusters show an abrupt rise between the DCl(H 2 O) 5 (mixed pentamer) and DCl(H 2 O) 6 (mixed hexamer) clusters. V alu es f o r t h e e f f ect ive p o lariz a b ilit y, α eff , of neat and mixed water clusters are plotted Figure 7-1 and listed in Table 7-1. Error bars are derived from the standard deviations in the measurement of d water , d Kr , and α el,Kr . Also included in Figure 7-1, for comparison, are the results of previous experimental work by Moro et. al. on neat water clusters [8]. Heavy lines show the mean effective polarizability of neat (dashed) and mixed (solid) clusters for n=[3, 5] and n=[6, 9]. The shaded areas represent error bars for the averages. In agreement with previous work under similar source conditions, the effective polarizability of neat water clusters exhibits a gentle rise starting with the hexamer. Our newly-reported data on mixed DCl-water clusters show an abrupt rise between the DCl(H 2 O) 5 (mixed pentamer) and DCl(H 2 O) 6 (mixed hexamer) clusters. 55 Figure 7-1: Effective polarizability of neat and mixed clusters measured in the present experiment, in cubic Angstroms. Error bars represent ±1 standard deviation. Vertical extent of shaded areas represents ±1 standard deviation of mean values. n (H 2 O) n DCl (H 2 O) n 3 31 ± 3 84 ± 8 4 47 ± 6 78 ± 7 5 38 ± 4 89 ± 8 6 55 ± 8 110 ± 10 7 39 ± 6 110 ± 10 8 39 ± 7 110 ± 10 9 52 ± 7 110 ± 10 Table 7-1: Effective polarizability of neat and fixed clusters measured in the present experiment, in cubic Angstroms. Uncertainties represent ±1 standard deviation. Table 7-2 and Figure 7-2 compare the neat and mixed cluster dipole moments using the equations in section 6.4 using T vib = 200 K and the static polarizability given in Table 6-1. Table 7-3 additionally compares the mean dipole moments of the reported data for the ranges n=[3, 5] and n=[6, 9] with those measured by Moro [8]. Finally, Table 7-4 compares the mean dipole moment of pure and mixed clusters for the same ranges, as well as their differences. It should 56 be noted that the error bars include only the uncertainty of the effective polarizability measurement, and that uncertainty in temperature is not included. The dipole moment data allows for several broad observations. As might be expected from the pure cluster effective polarizabilities, there is reasonable agreement (within 15-20%) between pure cluster dipole moments calculated for the present experiment and those previously reported by Moro [8]. One cannot, in general, add the magnitude of the dipole moments of two reactants to arrive at the dipole moment of the product. Nevertheless, it is interesting to note that the dipole enhancement of small clusters upon adding the DCl molecule (0.89 D) is comparable to that of DCl in the gas phase [65] (1.12 D). Figure 7-2: Dipole moment of neat and mixed clusters measured from the present experiment, in Debye. Also plotted are reference values measured by Moro [8]. Error bars represent ±1 standard deviation 57 Dipole moment of neat and mixed clusters measured in present experiment, in Debye. Uncertainties represent ±1 standard deviation Dipole moment of neat clusters (this work) (D) Dipole moment of neat clusters (previous work) (D) Mean (n=[3, 5]) 1.66 1.3 Mean (n=[6, 9]) 1.75 1.5 Table 7-3: Mean dipole moment of neat clusters in Debye. Previous values are those measured by Moro [8]. Pure Dipole (D) Mixed Dipole (D) Difference (D) Mean (n=[3, 5]) 1.66 2.55 0.89 Mean (n=[6, 9]) 1.75 2.92 1.17 Table 7-4: Mean dipole moment of neat and mixed clusters measured in present experiment, in Debye. Mixed clusters with 3 to 7 water molecules were st u d i ed b y t h e gro u p o f Pe t r Slavíč ek using MD simulations [66]. Several least-energy isomers found in the literature were simulated at 200 K, and the time-averaged RMS dipole moments calculated. Results of the study are tabulated in Table 7-5. Figure 7-3 shows the most stable isomers of mixed HCl-water clusters with four to seven waters at 200 K, as reported by Lin and Paesani [15] (Diagrams from ref). As noted in Section 1, it was hypothesized that ionization of acid in water should be accompanied by increased polarity [5]. This does not, however, match the results of the MD study. Although the time- and ensemble-averaged dipole moment was found to rise between n=5 and n=6, simulated acid-water cluster isomers did not have a systematic rise in dipole moment when moving from an undissociated isomer to a dissociated one (see Table 7-6). Relative abundance of various isomers is of prime importance: While there was not a systematic rise in dipole moment of dissociated isomers, radical variations of the time-averaged dipole moment were found for different dissociated isomers of the same clusters size. For example, two contact ion pair isomers of the hexamer in the MD study differed by 1.75 D. If MD simulations are a faithful replica of real acid-water clusters, then the clusters will tend to remain fixed in whichever isomer they evaporate into. However, this does not imply n Dipole moment of (H 2 O) n clusters (D) Dipole moment of DCl(H 2 O) n clusters (D) 3 1.5 ± 0.1 2.6 ± 0.1 4 1.9 ± 0.1 2.5 ± 0.1 5 1.6 ± 0.1 2.6 ± 0.1 6 2.0 ± 0.1 3.0 ± 0.1 7 1.6 ± 0.1 3.0 ± 0.1 8 1.6 ± 0.1 2.9 ± 0.1 9 1.9 ± 0.1 2.9 ± 0.1 Table 7-2 58 that all isomers will be equally abundant in the beam. The rate constant for evaporative ensembles goes as , where the pre-exponential factor ω depends on , where T D is the temperature of the evaporation product [61]. This brings with it an implicit dependence on heat capacity. Isomers with lower heat capacity (higher temperature for the same energy) are thus favored child products of an evaporation event. Additionally, the 1/T factor in the exponential (this temperature being the one belonging to the evaporation parent) favors long life of low heat-capacity parents. It has also been noted [61] that the decay rate of evaporating clusters (as distinct from the rate constant) is proportional to heat capacity. Riding atop all of this is the activation energy, E A , which varies with both cluster size and isomer. Thus, calculating the population of isomers in evaporated clusters is a challenging problem that warrants further study (see Section 7.3 below). Although the relative abundance of acid-water isomers in the water deflection is not known, it is nevertheless interesting to compare the experimental results with those of the simu lat io n s u n d er t h e as su mp t i o n t h at Lin a n d Pa esan i’s a b u n d a n c es (based on heat capacity of the various isomers) are correct. Cluster temperature is not well known for the present experiment, and Lin and Paesani found that isomer populations are in some cases strong functions of temperature. Figure 7-4 shows the stability of various mer isomers As a result, Table 7-7 is, at best, an educated guess of the cluster abundances in the water deflection experiment. Performing a weighted average of the isomers in Table 7-5 using the Table 7-7 weights give the first column of Table 7-8, also shown in Figure 7-5. These moments are substantially higher than those found in the experiment (the far right column of Table 7-8). However, let us define a normalization constant, C: Equation 7-1 For the present experiment, we find , so the difference in magnitude between experiment and simulations could be accounted for by, e.g., a factor of 2 temperature difference (Or less, considering the strong temperature dependence of the relative abundances and of the dipole moments of the various isomers. Additionally, the method used for the simulations yields too-large dipole moments for water molecules and pure clusters [66]). The middle column of Table 7-8 shows the product of the left column and the normalization constant defined above (see also the normalized series on Figure 7-5). 59 Upon inspection, there is surprisingly good agreement between the normalized simulation dipole moments and the experimental results. In both cases, there is a jump in the dipole moment between n=5 and n=6, and the jump is even of roughly the same magnitude. 60 DCl (H 2 O) n Isomer Dipole Moment (D) n=3 Un-dissociated 3.34 4 Un-dissociated 3.48 4 Solvent separated pair #1 3.37 4 Solvent separated pair #2 3.43 4 Contact ion pair #1 3.67 4 Contact ion pair #2 3.43 5 Un-dissociated 3.09 5 Contact ion pair #1 3.85 5 Contact ion pair #2 3.52 6 Un-dissociated 4.72 6 Contact ion pair #1 3.56 6 Contact ion pair #2 5.32 7 Contact ion pair #1 3.93 7 Contact ion pair #2 4.43 7 Contact ion pair #3 4.38 7 Solvent separated pair 4.46 Table 7-5: Time and ensemble-averaged RMS dipole moments of simulated mixed clusters in Debye. Values from [66]. Un-dissociated Dipole Moment (D) Average Dissociated Dipole Moment (D) 4 3.48 3.48 5 3.09 3.69 6 4.72 4.44 Table 7-6: Average dipole moment of simulated clusters (see text) DCl (H 2 O) n Weighting n=3 100% un-dissociated 4 75% CIP, 25% SSP 5 100% CIP 6 100% CIP 7 Equal weighting all isomers Table 7-7: Isomer weightings used to calculated average dipole moment of simulated mixed clusters. Weightings estimated from relative abundance calculations by [15] (see text). DCl (H 2 O) n Simulation Dipole Moment (D) Normalized Sim D ip o l e M o m’t ( D ) Experiment Dipole Moment (D) n=3 3.34 2.43 2.59 4 3.51 2.55 2.46 5 3.69 2.68 2.62 6 4.44 3.23 2.95 7 4.30 3.13 2.96 Table 7-8: Isomer-abundance weighted average of simulated mixed clusters. 61 Figure 7-3: Lowest-energy structures of mixed HCl-water clusters (illustration from [15]) 62 Figure 7-4: Predicted relative abundances of various isomers of several mixed acid-water clusters (illustration from ref [15]). 63 Figure 7-5: Dipole moment of measured and simulated mixed water clusters. Data series marked “Normalized Simulations” use the normalization method described in the text. 7.2 Beam Velocities A previous report [25] of attaching DCl to water clusters used a different geometry. A pick-up cell was located a sufficient distance from the source that the parents of mixed clusters had reached their final state before interacting with the acid, and it was estimated that water clusters evaporated an average of one water molecule upon attachment of the acid. The collision processes and parents of mixed clusters in the present experiment are less clear. Figure 7-6 shows the results of applying the method discussed in Section 3 to the neat and mixed water cluster beams. Three data series are shown: One for neat clusters and two for mixed clusters, taken on different days. Also shown in the figure is a data series which represents the predicted speed of mixed clusters if the mixed clusters are the result of a single totally inelastic collision between a pure water cluster and DCl molecule which does not undergo evaporation before being observed. It is assumed that the DCl molecules have no average momentum along the beam axis. 64 Figure 7-6: Speed of mixed and neat clusters as measured using MCS Time of Flight measurement described in text. Mixed clusters have considerably higher speeds than predicted by conservation of momentum. Mixed clusters observed in this experiment clearly do not obey the speed law predicted by momentum conservation. However, the prediction neglected to account for heat added to the mixed clusters due to the inelastic collision and the DCl-cluster binding energy. Internal energy gained from the inelastic collision may be calculated from momentum conservation. Taking , the following identity is obtained: Using the average pure cluster speed of 1150 m/s, the kinetic energy of the DCl molecule in the cluster frame of reference is about 0.256n / (n+2) eV per molecule, or about 5.8n/(n+2) kcal per mole. This energy must be transferred to internal degrees of freedom or lost via evaporation of water molecules. Recent MD simulations of pure water clusters [62] 65 suggest energy of evaporation on the order of several kcal per mol of clusters (1 kcal per mole = 44 meV = 7x10 -21 J per cluster). Thus, it is expected on energetic grounds that roughly 1 to 2 water molecules must evaporate when a DCl molecule is attached. However, the magnitude of the enthalpy of evaporation falls as the cluster temperature rises according to [62]. Ref [15] calculates the heat capacity of HCl(H 2 O) n c l u st er f o r 4 ≤ n ≤ 10 , which can be approximated as for T=200 K. Temperature rise for various clusters is given in Table 7-9 using the 200 K heat capacities given in [15]. N C v /k B ∆T 4 20 110 5 23 87 6 31 71 7 38 60 8 44 52 9 54 46 Table 7-9: Heat capacity and temperature rise calculated for inelastic collisions between neat water clusters and DCl molecules. See text for description of calculation. Referring again to [62], the 250 K enthalpies of large clusters (n > 7) are roughly half those for clusters at 200 K. Thus, roughly twice as many (2-4) molecules should evaporate due to DCl attachment, so DCl(H 2 O) n clusters observed in this experiment may be the children of DCl(H 2 O) n+4 precursors. Figure 7-7 is a revised version of Figure 7-6, which shows the predicted speed of mixed clusters under the assumption that four water molecules were evaporated between DCl attachment and observation. Note that precursors with 7 or fewer water molecules are not expected to survive because the enthalpy curves of reference [62] show that it is energetically favorable for those clusters to explode. Evaporation rate can be calculated from Equation 6.1 in reference [61]: , where E A is activation energy, T is t h e microca n o n ic al t em p era t u re o f t h e c lu st er’s in t ernal degrees of freedom, and ω is a rate constant. For the purposes of this section, it will be assumed that the rate is constant across all isomers. The pre-exponential rate constant is a function of the mass, collision cross-section and temperature of the child fragment, but can be taken as roughly 1 picosecond -1 for first-order estimates [61]. Using activation energy of 10 -20 J an d t em p era t u r e o f 3 00 K, w e o b t ain k ≈ 90 GH z . T h e time-scale of the evaporation process is thus on the order of t = 1 / k ≈ 0.0 1 n an o seco n d s , during which the cluster will travel on the order of 10 nanometers. Hansen notes that ω may vary by one or more orders of magnitude from the simple first approximation in the previous paragraph [61]. Even so, it is clear that, whatever the formation process, the time required for mixed clusters to reach their final temperature is much shorter 66 than that required for the clusters to traverse the distance between the source and first skimmer. Therefore, no additional fragmentation is expected to occur between deflection and detection of clusters. In other words, evaporation of molecules from mixed clusters does not affect the dielectric results presented earlier in this section because the deflection measurements are performed on the final products. Figure 7-7: Speed of mixed and neat clusters as measured using MCS Time of Flight measurement described in text. Mixed clusters speeds, as predicted by momentum conservation, show good agreement with measured values when it is assumed that four water molecules are lost after the collision (see text). 7.3 Future work A considerable amount of uncertainty surrounds the mixed cluster formation process for the deflection experiment. Although the revised velocity predictions make a pretty picture when overlaid with the measured mixed cluster velocities, it is not conclusive evidence that the collision process is as described above. The velocity discrepancy could also be resolved by, e.g., assuming that DCl molecules collide with multiple water molecules and/or clusters as they migrate to the central part of the expanding jet (which is the only part observed by the experiment). Such collisions would cause the DCl molecules to acquire momentum along the beam axis, contrary to the assumptions above. It is also not known, because the acid capillary 67 is so close to the nozzle, whether the pure parent clusters colliding with the acid molecules h ave re ac h ed t h eir “e va p o rat iv e e q u ili b riu m ” t e mp era t u re b e f o r e t h e c o llision . Modifying the experiment so that acid molecules are attached further from the source (a more standard configuration for pick-up experiments) could give insight to the dynamics of the mixed cluster formation processes. The capillary can be trivially extended up to 10 mm from the nozzle within the source chamber (though doing so puts it in the supersonic expansion zone of the jet, which may cause asymmetric shockwaves and ruin the beam). The pick-up cell used by Moro et. al. for HNO 3 and DCl experiments could also be repurposed for an acid pick-up in the detection chamber. Acids are not the only molecules solvated by water. Salt-water clusters have already received some theoretical treatment [67 –69], as well as some experimental attention [70]. A review by Dedonder-Lardeux et. al. [71] hints that salts may require a considerably greater number of water molecules to achieve ion sepparation. It seems salt-water cluster beams have not yet been reported, and this is perhaps not surprising: Alkalai Halides have melting points above 1000 K, and correspondingly low vapor pressures. Isomer populations in evaporation-produced clusters warrant further study if any headway is to be made in analyzing acid-water cluster dipole moments. Already, Lin and Paesani have calculated heat capacity of various isomers of mixed clusters [15], and two groups have recently published the results of experimental investigations of the heat capacity of protonated and depronated water clusters [72,73]. Pure water cluster binding energies have received theoretical treatment [62], but it seems there is no analogous study for acid-water clusters. A comprehensive analysis of all decay channels using the best activation energies and heat capacities may allow a correct statistical weighting of the various mixed isomers. 68 References [1] S. Heiles and R. Schäfer, Dielectric Properties of Isolated Clusters (Springer Netherlands, Dordrecht, 2014). [2] H. Pauly, Atom, Molecule, and Cluster Beams, Vol II (Springer-Verlag, Heidelberg, 2000). [3] W. A. de Heer and V. V Kresin, in Handbook of Nanophysics, edited by K. D. Sattler (CRC Press, Boca Raton, 2010), pp. 1 –26. [4] M. Broyer, R. Antoine, I. Compagnon, D. Rayane, and P. Dugourd, Physica Scripta 76, C135 (2007). [5] A. W. Castleman, B. D. Kay, V. Herman, P. M. Holland, and T. D. Mark, Surface Science 106, 179 (1981). [6] K. R. Leopold, Annual Review of Physical Chemistry 62, 327 (2011). [7] V. Vaida, The Journal of Chemical Physics 135, 020901 (2011). [8] R. Moro, R. Rabinovitch, C. Xia, and V. Kresin, Physical Review Letters 97, 1 (2006). [9] J. Boulon, I. Braud, S. Zamith, P. Labastie, and J.- M . L’Hermite, T h e Jo u r n al o f Che mical Physics 140, 164305 (2014). [10] S. A. Clough, The Journal of Chemical Physics 59, 2254 (1973). [11] A. V. Gubskaya and P. G. Kusalik, The Journal of Chemical Physics 117, 5290 (2002). [12] S. A. Arrhenius, Z. Phys. Chem. 1, 631 (1887). [13] M . F r n k, M. Weimann, and M. A. Suhm, The Journal of Chemical Physics 118, 10120 (2003). [14] S. Odde, B. J. Mhin, S. Lee, H. M. Lee, and K. S. Kim, The Journal of Chemical Physics 120, 9524 (2004). [15] W. Lin and F. Paesani, The Journal of Physical Chemistry. A 117, 7131 (2013). [16] C. Conley and F. Tao, Chemical Physics Letters 301, 29 (1999). [17] S. Re, The Journal of Physical Chemistry A 105, 9725 (2001). 69 [18] S. Odde, B. J. Mhin, K. H. Lee, H. M. Lee, P. Tarakeshwar, and K. S. Kim, The Journal of Physical Chemistry. A 110, 7918 (2006). [19] A. Gutberlet, G. Schwaab, O. Birer, M. Masia, A. Kaczmarek, H. Forbert, M. Havenith, and D. Marx, Science (New York, N.Y.) 324, 1545 (2009). [20] S. D. Flynn, D. Skvortsov, A. M. Morrison, T. Liang, M. Y. Choi, G. E. Douberly, and A. F. Vilesov, The Journal of Physical Chemistry Letters 1, 2233 (2010). [21] V. Poterya, M. Fárník, P. Slavícek, U. Buck, and V. V Kresin, The Journal of Chemical Physics 126, 071101 (2007). [22] S. M. Hurley, T. E. Dermota, D. P. Hydutsky, and a W. Castleman, Science (New York, N.Y.) 298, 202 (2002). [23] R . M o r o , J. H ei n rich, V . V . K r esin , A. S o l o v y o v, and E. Surdutovich, AIP Conference Proceedings 1197, 57 (2009). [24] R. Moro, J. Bulthuis, J. Heinrich, and V. Kresin, Physical Review A 75, 1 (2007). [25] R. Moro, R. Rabinovitch, and V. V Kresin, The Journal of Chemical Physics 124, 146102 (2006). [26] V. Mohindra, Ph.D. Dissertation, Massachusettes Institute of Technology, 1996. [27] SRS, About Lock-In Amplifiers (App Note 3) (Stanford Research Systems, 2011). [28] W. C. Goeke, Hewlett Packard Journal 40, 8 (1989). [29] MODEL SR830 DSP Lock-in Amplifier Manual (Stanford Research Systems, 2011). [30] G. L. Samuelson, Review of Scientific Instruments 40, 676 (1969). [31] P. M. Bellan, The Review of Scientific Instruments 78, 065104 (2007). [32] L. a. Dietz, Review of Scientific Instruments 36, 1763 (1965). [33] C. M. Hohenberg, Review of Scientific Instruments 51, 1075 (1980). [34] D. I. Carroll, I. Dzidic, R. N. Stillwell, M. G. Horning, and E. C. Horning, Analytical Chemistry 46, 706 (1974). [35] K. E. Broekhuizen, Ph.D. Dissertation, Massachusetts Institute of Technology, 2002. [36] B. Pelissier and N. Sadeghi, Review of Scientific Instruments 67, 3405 (1996). 70 [37] G. Zambra, M. Bondani, A. S. Spinelli, F. Paleari, and A. Andreoni, Review of Scientific Instruments 75, 2762 (2004). [38] Y. Hayasaki, K. Ishiji, H. Hashizume, N. Hosoito, K. Omote, M. Kuribayashi, G. Srajer, J. C. Lang, and D. Haskel, Journal of Physics: Condensed Matter 16, 1915 (2004). [39] SRS Photon Counters (Stanford Research Systems, 2012). [40] Channeltron Electron Multiplier Handbook for Mass Spectrometry Applications (Burle, 2001). [41] Advanced Research Instruments Corp (Personal Communication). [42] E. Loginov, L. F. Gomez, N. Chiang, A. Halder, N. Guggemos, V. V. Kresin, and A. F. Vilesov, Physical Review Letters 106, 233401 (2011). [43] L. F. Gomez, E. Loginov, A. Halder, V. V. Kresin, and A. F. Vilesov, International Journal of Nanoscience 12, 1350014 (2013). [44] S. Johansson, New Frequency Counting Principle Improves Resolution (Pendulum Instruments, Bromma, Sweden, 2005). [45] B. D. Kay, Ph.D. Dissertation, University of Colorado at Boulder, 1982. [46] C. E. Klots and R. N. Compton, The Journal of Chemical Physics 69, 1644 (1978). [47] R. Moro, R. Rabinovitch, and V. V Kresin, The Journal of Chemical Physics 123, 074301 (2005). [48] M. Vollmer, K. Selby, V. Kresin, J. Masui, M. Kruger, and W. D. Knight, Review of Scientific Instruments 59, 1965 (1988). [49] G. Tikhonov, Ph.D. Dissertation, University of Southern California, 2001. [50] W. S. Young, Review of Scientific Instruments 44, 715 (1973). [51] G. Tikhonov, K. Wong, V. Kasperovich, and V. V. Kresin, Review of Scientific Instruments 73, 1204 (2002). [52] D. J. Auerbach, in Atomic and Molecular Beam Methods, edited by G. Scoles (Oxford, New York, 1988). [53] R. Durstenfeld, Communications of the ACM 7, 420 (1964). 71 [54] P. Bevington and K. Robinson, Data Reduction and Error Analysis for the Physical Sciences, 3rd ed. (McGraw-Hill, Boston, 2002), p. 338. [55] B. Efron, The Jackknife, the Bootstrap and Other Resampling Plans (Stanford University, Stanford, 1980). [56] N. Ramsey, Molecular Beams (Oxford University Press, New York, 1986), p. 466. [57] D. J. Griffiths and C. Inglefield, American Journal of Physics 73, 574 (2005). [58] M. Yang, P. Senet, and C. Van Alsenoy, International Journal of Quantum Chemistry 101, 535 (2005). [59] T. Miller, in CRC Handbook of Chemistry and Physics, edited by R. Weast, 67th ed. (CRC Press, Boca Raton, 1987), pp. E66 –E75. [60] C. E. Klots, The Journal of Physical Chemistry 92, 5864 (1988). [61] K. Hansen, Statistical Physics of Nanoparticles in the Gas Phase (Springer Netherlands, Dordrecht, 2013). [62] B. Temelso, K. A. Archer, and G. C. Shields, The Journal of Physical Chemistry. A 115, 12034 (2011). [63] A. Borner, Z. Li, and D. A. Levin, AIP Conference Proceedings 1333, 847 (2011). [64] J. M. Pedulla and K. D. Jordan, Chemical Physics 239, 593 (1998). [65] E. W. Kaiser, The Journal of Chemical Physics 53, 1686 (1970). [66] P. Slavícek (Personal Communication). [67] P. Jungwirth, The Journal of Physical Chemistry A 104, 145 (2000). [68] R. Z. Li, C. W. Liu, Y. Q. Gao, H. Jiang, H. G. Xu, and W. J. Zheng, Journal of the American Chemical Society 135, 5190 (2013). [69] G. Grégoire, M. Mons, C. Dedonder-Lardeux, and C. Jouvet, The European Physical Journal D - Atomic, Molecular and Optical Physics 1, 5 (1998). [70] X.-B. Wang, H.-K. Woo, B. Jagoda-Cwiklik, P. Jungwirth, and L.-S. Wang, Physical Che mist ry Ch em ic al P h ys ic s : PCC P 8, 4294 (2006). 72 [71] C. Dedonder-Lardeux, G. Grégoire, C. Jouvet, S. Martrenchard, and D. Solgadi, Chemical Reviews 100, 4023 (2000). [72] M. Schmidt and B. von Issendorff, The Journal of Chemical Physics 136, 164307 (2012). [73] J. Boulon, I. Braud, S. Zamith, P. Labastie, and J.- M . L’Hermite, T h e Jo u r n al o f Che mical Physics 140, 164305 (2014). [74] T. Kaneko, T. Akimoto, K. Yasuoka, A. Mitsutake, and X. C. Zeng, Journal of Chemical Theory and Computation 7, 3083 (2011). 73 Description of Appendices Appendix A contains MATLAB code for calculating the speed of a supersonic beam using the method described in the text. The main script, vollmerSpeeder, computes the beam speed for all of the MCS (Multi-Channel Scaler) records in the working directory by fitting the record to an integrated speed distribution (Vollmer, 1988) and then using the fit parameters to obtain and . MCS records are normalized and truncated using a method described in the text. vollmerSpeeder uses a number of functions, the most important of which are toffitter and readMCS. The former performs the actual fitting and the latter reads Ortec binary MCS files. Appendix B contains MATLAB code for obtaining the position of the beam by fitting beam profile data to a Gaussian. consistentReduce prompts the user for the filename of the data, and the specific passes to use for analyzing the beam profile. The script plots the beam profile data as a time series and prompts the user for a list of passes to discard (any passes with dropouts or noise). Finally, the script fits to a Gaussian the beam profiles for each of the voltages measured in an experiment, plots the results, and prints the Gaussian parameters to a file. Variance of the parameters is also printed, using code from Appendix C. Appendix C contains MATLAB code to implement the statistical bootstrapping technique described in the text, which estimates the variance of the parameters used to fit a model to a data set. The function bootstrapVariance performs this estimate using other functions in Appendix C. Appendix D contains representations of LabVIEW VIs used for the water deflection experiment. The representations follow the official National Instruments guide for LabVIEW documentation, though reconstructing VIs from the representations in Appendix D may be challenging. Electronic copies of all LabVIEW files are available as a zip archive from the author. Appendix A – MATLAB Beam Speed Code vollmerSpeeder.m % % vollmerSpeeder.m calculates the speed of all MCS records in the current % working directory. % % set length tolerance to a small value lengthtol = 0.0001; % use vollmerInverseSquareMean to calculate 1/v^2 from fit results speedFunction = @vollmerInverseSquareMean; calcSpeed = @(x,y) 1/sqrt(speedFunction(x,y)); % get file listing files = dir('*.Mcs'); % open file of cluster names ("trimer", etc) fID = fopen('names.csv'); 74 textdata = textscan(fID,'%s %d'); numdata = textdata{2}; textdata = textdata{1}; fclose(fID); % open file for results using name of speed function filestring = sprintf('vollmer-speeds-%s.csv',func2str(speedFunction)); fID = fopen(filestring,'w+'); % write headers fprintf(fID, 'name\t expected speed\t %s\t v\t w\t size\t type\t machine length (tol=%f)\t description\t \r\n',func2str(speedFunction),lengthtol); speeds = zeros(size(files,1)); clustNeat = zeros(size(files,1)); clustNum = zeros(size(files,1)); % loop through all files in directory for i=1:size(files,1) file = files(i); % attempt to categorize cluster based on file name for j=1:size(textdata) if (1 == size(findstr(lower(file.name),textdata{j}))) clustNum(i)=numdata(j); end if (1== size(findstr(lower(file.name),'neat'))) clustNeat(i)=1; end if (1== size(findstr(lower(file.name),'mix'))) clustNeat(i)=2; end end if (~isempty(findstr(lower(file.name),'mcs'))) filereader = @readMCS; else %disp(lower(file.name)); filereader = @readASC; end % calculate MCS record fit parameters [v, w, machinelen, desc] = toffitter(file.name); % calculate 1/v^2 and v using fit parameters speed1 = vollmerMean(v,w); speed2 = calcSpeed(v,w); % write results fprintf(fID,'%s\t %f\t %f\t %f\t %f\t %i\t %i\t %f\t', file.name, speed1, speed2, v, w, clustNum(i), clustNeat(i),machinelen); fprintf(fID,'%s',desc(2:end)); fprintf(fID,'\r\n'); %disp(pstr); %fprintf(fID,pstr); speeds(i) = speed2; end fclose(fID); %mean(speeds) return; 75 waterStatisticator.m % % waterStatisticator calculates the mean speed of beam profiles, % categorized by cluster type % % open speeds results file fID = fopen('vollmer-speeds-vollmerInverseSquareMean.csv'); %eat the header fgetl(fID); % import data cells = textscan(fID, '%s %f %f %f %f %d %d %f %s','delimiter','\t'); fclose(fID); names = cells{1}; speeds = cells{3}; sizes = cells{6}; types = cells{7}; neatClusters = zeros(9,size(speeds,1)); numNeat = zeros(9,1); mixedClusters = zeros(9,size(speeds,1)); numMixed = zeros(9,1); avgSpeeds = zeros(9,2); avgVars = zeros(9,2); % loop through records, add to appropriate bins and plot figure(2); hold on; for i=1:size(names,1) k = sizes(i); if(types(i)==1) numNeat(k) = numNeat(k) + 1; neatClusters(k,numNeat(k)) = speeds(i); plot(k,speeds(i),'ro'); end if(types(i)==2) numMixed(k) = numMixed(k)+1; mixedClusters(k,numMixed(k)) = speeds(i); plot(k,speeds(i),'b+'); end end % display human-readable results fprintf('cluster number, neat speed (avg), mixed speed (avg)\n'); for i = 1:9 neati = neatClusters(i,1:numNeat(i)); mixi = mixedClusters(i,1:numMixed(i)); avgSpeeds(i,1) = mean(neati); avgSpeeds(i,2) = mean(mixi); avgVar(i,1) = var(neati); avgVar(i,2) = var(mixi); fprintf('%d, %d, %d\n',i,round(avgSpeeds(i,1)),round(avgSpeeds(i,2))); end %disp(numNeat); %disp(numMixed); 76 %disp(avgSpeeds); %disp(avgVar); % calculate linear fits for speed vs. size plots % neat (pure) cluster estimate x0n = [8.3,1100]; line = @(parm, cheddar) parm(1)*cheddar+parm(2); % mixed estimaate x0m = [8.3,975]; X = transpose(3:9); % calculate fits neatline = lsqcurvefit(line,x0n,X,avgSpeeds(3:9,1)); mixedline = lsqcurvefit(line,x0m,X,avgSpeeds(3:9,2)); return; vollmerMean.m function speed = vollmerMean(v,w) % This function returns the value of the integral of u*f(u)*du from 0 to % infinity (i.e., the expectation value of the velocity <u>), where u is % the expected speed of the beam and v and u are results of fitting f to % an MCS record. q = w/v; speed = v * (1+ 3*q^2 + (3/4)*(q)^4)/(1+(3/2)*(q^2)); function speed = vollmerInverseSquareMean(v,w) % This function returns the value of the integral of f(u)/u^2*du from 0 to % infinity (i.e., the expectation value of the reciprocal of the velocity % squared, or <1/u^2>), where v and u are parameters of fitting the % speed distribution, f to an MCS record. q = v/w; num1 = exp(-(q^2))*w; denom1 = sqrt(pi)*v*(2*v^2+3*w^2); num2 = 1 + erf(q); denom2 = 2*v^2+3*w^2; speed = num1/denom1 + num2/denom2; toffitter.m function [speed, width, len, desc] = toffitter (fileName,varargin) % % This function fits the supersonic speed distribution to an MCS record. % fileName is the filename of an MCS record to read and varargin is % MATLAB's variable-number-of-arguments mechanism. % % varargin is a cell array, so cell array syntax must be used % varargin{1}: optional start and end times for MCS record % varargin{2}: optional non-default file reader (mostly for ASCII files) % varargin{3}: optional delta for TOF distance endtime = 6000; fronttime = 500; % 77 % Set default file reader filereader = @readMCS; lengthbounds = 0.001; % read in the variable number of arguments if ~isempty(varargin) times = varargin{1}; endtime = times(1); if (length(times)>1) fronttime = times(2); end end if (length(varargin) > 1) filereader = varargin{2}; end if (length(varargin) > 2) lengthbounds = varargin{3}; end % read in MCS record [data desc len]= filereader(fileName); % convert microseconds to seconds len = len(1) / 1e6; % apply record pre-normalization described in text trs = data - mean(data); trs = 2*trs/(max(trs)-min(trs)); X = transpose((len:len:(len*size(trs,1)))); wave = @(x,y)x(3)*cos(2*pi*(x(1)*y-x(2))); guess = [150; 0;1]; lb = [1e1, -pi, 0.7]; ub = [1e4, pi, 1.3]; options = optimset('TolFun',1e-9); waveparms = lsqcurvefit(wave,guess,X,trs,lb,ub,options); % apply record normalization described in text T = 1/waveparms(1); intro = max(10,floor(((2/16)*T+T*waveparms(2))/len)); outro = floor(min(((10/16)*T+T*waveparms(2))/len,size(data,1))); inout = min(floor(((7/16)*T+T*waveparms(2))/len),outro-10); data = data(1:outro); mindat = mean(data(inout:end)); data = data - mindat; maxdat = mean(data(1:intro)); data = data/maxdat; % generate bin times for fitting X = (len:len:(len*size(data,1))); % lsqcurvfit documentation doesn't say that the x and y points must have % the same dimensions, but they do data = transpose(data); machinelength = 0.7; 78 x0 = [400;200;machinelength]; lb = [100;50;machinelength*(1-lengthbounds)]; ub = [1400;500;machinelength*(1+lengthbounds)]; opts = optimset('Display','off'); [hat] = lsqcurvefit(@ssDistIntegrated,x0,X,data,lb,ub,opts) % set return values speed = hat(1); width = hat(2); len = hat(3); ssDistIntegrated.m function trs = ssDistIntegrated(parms, t) % This function calculates the integrated supersonic speed distribution % from the Vollmer paper using the parameters passed in parms and data % passed in t. % This function is used by lsqcurvefit to check for goodness. v = parms(1); w = parms(2); x = parms(3); h = 0.00;%parms(4); tinv = 1./t; z = -(v/w)+(x/w)*tinv; expz = zeros(size(t,1)); for i=1:size(t,1) expz(i)=exp(-(z(i)^2)); end r = w/v; gnum = (1 + (3/2)*r.*z + (r^2).*(1+z.^2) + (3/8)*(r^3).*(z+(2/3)*z.^3)); gdenom = (1 + 3*(r^2) + (3/4)*(r^4)); g = (2 / (sqrt(pi)))*gnum/gdenom; S1 = (1/2)*(erf(v/w)+erf(z)); S2 = (w/v)*(expz)*g; S = S1-S2; trs = S+h; readMCS.m function [ data desc binLength] = readMCS( fName ) % % readMCS parses Ortec .MCS binary files % % The MCS files contain 256 bytes of metadata at the beginning % Byte 1 and 2: File marker? always 252 and 255 (decimal) % Byte 3 Start trig: ext = 1, int = 0 % Byte 4 Channel trig: ext = 1, int = 0 % Byte 5 This appears to have something to do with the dwell time. It is % always 3 for nanosec dwells and 0, 1, or 1 otherwise % Byte 6 Repeated ext MCS triggering: Sum = 1, Replace = 0 % Byte 7 (lsB) to 10 (msB) contains number of us per bin -- automatically % set to 1s (1e6 us) if chan trig is external. 79 % Byte 11 (lsB) and 12 (msB) contains the number of bins in the MCS specrum % Byte 13 (lsB) to 16 (msB) contains the actual number of passes % Byte 17 (lsB) to 20 (msB) contains the preset number of passes (0 if % none). % Byte 21 to 36 contains time and date in hh:mm:ssddmmyyyy (ASCII) format % Byte 37 ? % Byte 38 always 0? % Byte 39 always 1? % Byte 40 to 52 always zero in all files seen % Byte 53 to 56 seems to be always 11,70,179,63 (decimal) % Byte 57 to 61 always zero in all files seen % Byte 62 to 64 seems to be always 1,170,1 (decimal) % Byte 65 % Byte 66 through 79 contains name of the computer & MCB idenifier as ASCII % Byte 80 to 128 always zero (padding for name/id string?) % Byte 129 % Byte 130 to 192 contains an ASCII, null-terminated description of the % sample, typed by the MCS operator. % Byte 225, 226 PLL setting? Building a u16 from these bytes generates a % number which increases monotonically (but non-linearly) with dwell time. % For dwells close to 1 us it becomes close to linear, so I suspect this is % a simple clock divider with a fudge factor (maybe from a lookup table) to % make sure the bins clock at the right time. fID = fopen(fName); header = fread(fID, 256, 'uint8'); numBins = header(11)+256*header(12); uSec = 0; nSec = 0; if (3 == header(5)) nSec = header(225)+header(226)*256; else for i = 1:4 uSec = uSec + header(6+i)*256^(i-1); end end desc = char(transpose(header(129:192))); data = fread(fID,numBins, 'uint32'); fclose(fID); binLength(1) = uSec; binLength(2) = nSec; end readASC.m function [ data desc binLength] = readASC( fName ) %readMCS parses Ortec .ASC ASCII MSC files % The MCS files contain no metadata % Each row contains two fields. The first is a representation of the % channel start time in decimal milliseconds. The second field in the number of % counts accumulated in that channel. fdata = dlmread(fName, ' '); desc = ''; data(:,1) = fdata(:,2); binLength(1) = (fdata(2,1)-fdata(1,1))*1000; 80 binLength(2) = 0; end maxBoltz.m function F = maxBoltz2(x, xdata) %maxBoltz computes the value of the maxwell-boltzmann PDF %for the given x and a a = x(1); xoff = x(2)-sqrt(2)*abs(a); F = 2*(xdata>xoff).*((xdata-xoff).^3).*exp(-((xdata-xoff).^2)/(a^2))/(a^2); %F = - x(1)*(xdata-x(2)).^2; Appendix B – MATLAB Beam Profile Code consistentReduce.m % % This script is a variant of waterReduce.m. Fewer options are available % so that data will be treated more consistently. % % set line colors for profile plots lineSpecs = setLineSpecs(); %read in the data filename = input('Enter filename: ','s'); prettyName = getCannonicalName(filename); dir = getDirectory(filename); headerLength = getNumHeaderLines(filename); a = importdata(filename, ',', headerLength); data = a.data; %getfield(a, 'data'); header = a.textdata; %getfield(a, 'textdata'); % get QMA mass setting from header amuMass = num2str(getMass(header)); %disp(['The cluster mass is ']); %disp(amuMass); nMer = getClusterName(header); % % get the deflection voltages as numbers and strings % numVoltages = getNumVolts(header); voltageList = getVoltages(header); voltageStrings = cell(numVoltages,1); for i=1:numVoltages voltageStrings(i,1) = {sprintf('%3.0f kV',voltageList(i))}; end % % Get the number of steps per pass (this is important) % numSteps = getSteps(header); % Old headers sometimes contain an incorrect number of passes and it is not % possible to calculate the number of passes using only data in the header % (we also need the total number of data points) so we must calculate the 81 % number of passes explicitly numPasses=size(data,1)/numSteps; redundant = data; data = remRedundant(data, numVoltages); data(isnan(data))=0; passAvg=zeros(numPasses,(numVoltages+1)); % set 'effective pass' number for decimated data for i=1:numPasses passAvg(i,1) = (i - 0.5)*numSteps; end % % XXX This is an important step! This is where we calculate the average % rate of the signal in a given pass. We use MATLAB's decimate function % for now because a low pass filter is more-or-less the same thing as % taking the mean of the pass (and much easier). It may be sensible to % revisit this decision later and write a more case-specific mean function % % % Last parameter: % = 1: boxcar % = 2: MATLAB decimate (nth order bessel) % = 3: no normalization % normType = ''; if isempty(normType) normType=1; end passAvg = calcPassAvg(passAvg,data,numSteps,normType); % % add a column for the mean of the passAvg of a given row % for i=1:size(passAvg,1) passAvg(i,(numVoltages+2)) = mean(passAvg(i,2:numVoltages+1)); end allMean = 0; % calculate mean lock-in counts over all passes and voltages for i=1:size(passAvg,2)-1 allMean = allMean + mean(passAvg(:,i+1)); end allMean = allMean / size(passAvg,2); % allMean = mean([mean(passAvg(:,2)) mean(passAvg(:,3)) ... % mean(passAvg(:,4))]); % apply normalization to data for i=1:size(data,1) bucket = floor(((i-1)/numSteps)+1); % % XXX This is an important step! It's not completely obvious how best % to say what the "the" average rate is for a given pass because there % can be considerable variation between voltages. % normalization = allMean / mean(passAvg(bucket,2:(numVoltages+1))); for j=2:(numVoltages+1) data(i,j)=data(i,j)*normalization; end 82 end % % At this point, the variable "data" contains a normalized set of just the % lock-in data. The variable redundant contains unnormalized data % (including the the total rate and dip % % % Plot data, starting with a time-series of the lock-in and raw counts. We % also plot the normalization curve and the "normalization of the % normalized data." % fig1 = figure(1); clf; hold off; % plot normalization of original data plotTimeSeries(passAvg(:,1), passAvg(:,2), -.25, ':k+'); hold on; % plot normalization of normalized data if (numPasses > 1) filtOrder = 8; if (size(data,1) <= filtOrder * 3) filtOrder = floor((size(data,1)-1)/3); end plotTimeSeries(passAvg(:,1),decimate(data(:,2),numSteps, ... filtOrder),.75,':k*'); end % plot un-normalized data plotTimeSeries(redundant(:,4),0,'r'); % plot normalized data plotTimeSeries(data(:,2),1,'b'); % plot raw counts plotTimeSeries(redundant(:,2),2,'m'); % % The MATLAB annotation function is annoying, so we cheat by plotting lines % to visually separate the data % plot(xlim,[1 1], 'k'); plot(xlim,[2 2], 'k'); plot(xlim,[3 3], 'k'); % % set titles % labelTimeSeries(nMer, prettyName); legend('Pass avg of unnormalized lock-in', ... 'Pass avg of normalized lock-in', ... 'Unnormalized lock-in', 'Normalized lock-in', 'Total rate') ylim([0,4]); print (fig1, '-dpng', [dir nMer ' time series']); % % Ask the user to make some judgements about the data % disp('Choose the range of data to be analyzed.') firstPass = ''; lastPass = ''; 83 arbPasses = ''; exludes = []; firstPass = input('Enter first pass to be used for analysis (1 if blank):'); lastPass = input(strcat('Enter the last pass to be used for ' , ... ' analysis (', num2str(numPasses), ' if blank): ')); arbPasses = ... input('Enter any other passes to exclude, separated by spaces: '... ,'s'); if isempty(firstPass) firstPass = 1; end if isempty(lastPass) lastPass = numPasses; end if isempty(arbPasses); excludes = []; else % read the whitespace-separated text numbers into numbers excludes = strread(arbPasses); end % % This is where we actually analyze the data % We want to fit beam profiles to a gaussian and extract the fitted % coefficients. The coefficients are saved in a matrix, which will be % output as a spreadsheet later. % data = remBadData(data, numSteps, firstPass, lastPass, excludes); % Make the data nice for plotting: we sort the data (so points with the % same slit position are adjacent in the matrix) then decimate (to % effectively take the average of points with the same slit position. % % This is another place where we should consider if MATLAB's decimate % function is really the best way to do things. % sorted = sortrows(data); decimated = decimateData(sorted,numSteps,numVoltages); % % Now plot the decimated beam profiles % fig2 = figure(2); clf; hold off; for i=1:numVoltages plot(decimated(:,1),decimated(:,i+1),strcat(char(lineSpecs(i,1)),'+')); hold on; end fitdata=sorted; decimated = decimateData(sorted,numSteps,numVoltages); 84 fig2 = figure(2); clf; hold off; for i=1:numVoltages plot(decimated(:,1),decimated(:,i+1),strcat(char(lineSpecs(i,1)),'+')); hold on; end setupPlot(voltageStrings, nMer, prettyName); print (fig2, '-dpng', [dir nMer ' decimated profiles']); % % Fit gaussian to profile data % outputMat = zeros(numVoltages,4); fitArray = cell(numVoltages); gofArray = cell(numVoltages,2); expData=[]; fitVariances = []; for i = 1:numVoltages yData = fitdata(:,i+1); [fitOb, gof] = fit(fitdata(:,1),yData,'gauss1'); [fitOb2, gof2] = fit(fitdata(:,1),yData,'gauss2'); expData(:,1)=fitdata(:,1); expData(:,2)=yData; fitVariances(i,:) = bootStrapVariance(expData,'gauss1',300); disp(fitVariances); fitArray(i)={fitOb}; gofArray(i,1:2)={gof gof2}; outputMat(i,1) = voltageList(i); outputMat(i,2:4) = coeffvalues(fitOb); outputMat(i,5) = getfield(gof,'rsquare'); outputMat(i,6) = getfield(gof,'adjrsquare'); outputMat(i,7) = getfield(gof,'rmse'); end % % Add fits to plot and re-print % fig2 = figure(2); formatSpec = '%3.0f kV -- A: %7.1f, B: %7.4f, C: %7.4f'; fitText = ''; for i=1:(numVoltages) plot(fitArray{i},strcat(char(lineSpecs(i,1)))); fitText = [fitText; sprintf(formatSpec, outputMat(i,1:4))]; end annotation(fig2,'textbox',... [0.35 0.15 0.3 0.15],... 'String',{fitText},... 'HorizontalAlignment','right', ... 'FitBoxToText','on'); goodness = sprintf('Coeff Det, %2.2f',mean(outputMat(1:numVoltages,5))); annotation(fig2,'textbox',... 85 [0.72 0.65 0.3 0.15],... 'String',{goodness},... 'FitBoxToText','on'); setupPlot(voltageStrings, nMer, prettyName); print (fig2, '-dpng', [dir nMer ' decimated profiles with fits']); hold off; % % Output the fit coefficients as a spreadsheet % Also prints the data used for the fits % outputfilename = [filename nMer ' fit results.csv']; %csvwrite(outputfilename, outputMat); %fid = fopen(outputfilename, 'a'); fid = fopen(outputfilename, 'w'); headers1 = 'plate voltage (kV), A param, B param, C param,'; headers2 = 'Coeff of Determination (rsquared), DoF Adj Coeff Det, StdErr,'; headers3 = 'var(A), var(B), var(C), errBar(B)'; fprintf(fid,headers1); fprintf(fid,headers2); fprintf(fid,headers3); formatSpec1='\n%3.1f, %5.2f, %1.5f, %1.6f, %1.4f, %1.4f, %3.3f,'; formatSpec2='%1.5e, %1.5e, %1.5e, %1.3e'; numStepsAnalyzed = numSteps - length(strread(arbPositions)); numPassesAnalyzed = length(fitdata)/numStepsAnalyzed; for (i=1:numVoltages) % % Error bar is from equation 4-14 in Bevington % errorBar = sqrt(fitVariances(i,2))/numPassesAnalyzed; fprintf(fid, formatSpec1, outputMat(i,1:7)); fprintf(fid, formatSpec2, fitVariances(i,:), errorBar); end % Print information in results file (so this analysis can be reproduced later) fprintf(fid, '\nQuadrupole mass,'); fprintf(fid, amuMass); fprintf(fid, '\nCluster name,'); fprintf(fid, nMer); fprintf(fid, '\nFirst pass, %d', firstPass); fprintf(fid, '\nLast pass, %d', lastPass); fmtstring = ['\nArbitrary excluded passes, ' ... repmat('%d, ', 1, max([length(arbPasses) 1]))]; fprintf(fid, fmtstring, strread(arbPasses)); fmtstring = '\nTotal Passes used, %d'; fprintf(fid, fmtstring, numPassesAnalyzed); fmtstring = ['\nExcluded slit positions, ' ... repmat('%5.4f, ', 1, max([length(arbPositions) 1]))]; fprintf(fid, fmtstring, strread(arbPositions)); fprintf(fid, '\nbaseline Correction, %u', baselineCorrection); fprintf(fid, '\ndecimation type, %u', normType); fclose('all'); 86 calcpassAvg.m function passAvg = calcPassAvg(passAvg,data, numSteps, type) % This function returns the average intensity of the beam during one pass % and is intended to be used during normalization % % passAvg is a 2D array representing the average intensity of the beam for %some combination of deflection voltage and pass number % data is the measurement data from file % numSteps is the number of steps per pass in the experiment % type determines the algorithm used to decimate the data % % type = 1: simple averaging % type 2: MATLAB decimate (nth order bessel) % type 3: no normalization % switch type case 1 for i=2:size(data,2) for j=1:numSteps:length(data) passAvg(floor(j/numSteps)+1,i) = mean(data(j:j+numSteps- 1,i)); end end case 2 for i=2:(size(data,2)+1) passAvg(:,i) = decimate(data(:,i),numSteps); end otherwise for i=2:size(data,2) for j=1:size(passAvg,1) passAvg(j,i) = 1; end end end decimateData.m function decimated = decimateData(sorted, numSteps, numVoltages) % This function decimates the data with by simple averaging. % % sorted is a 2D array of signal levels, sorted by slit position %each column in sorted represents one deflection voltages % numSteps is the number of steps per pass % numVoltages is the number of voltages measured in the experiment decimated = zeros(numSteps,numVoltages); numPasses = length(sorted)/numSteps; decimated(:,1) = sorted(1:numPasses:end,1); for i = 1:numVoltages for j = 1:numSteps decimated(j,i+1) = ... mean(sorted((j-1)*numPasses+1:(j*numPasses),i+1)); end end 87 fitGaussians.m function fits = fitGaussians(data) fits = zeros(size(data,2)-1,3); for i = 2:size(data,2) fits(i-1,:) = coeffvalues(fit(data(:,1),data(:,i),'gauss1')); end getCannonicalName.m function name = getCannonicalName(fileString) % This function returns the part of the filename between “beam-profile” and the % filename extension. This should uniquely identify the experiment because % that part of the file name is the date and time at which the experiment % ended and the file was saved loc = strfind(fileString, 'beam-profile'); eos = length(fileString); name = fileString(loc:eos); getClusterName.m function name = getClusterName(headerData) % This function returns the name of the cluster being measured % headerData is the header string from the data file % % Implementation note: for now we just tell the user what the QMA mass was % set to and ask him what the cluster should be called disp(['The cluster mass is ' num2str(getMass(headerData)) ' amu']); name = input('Please enter the name of the cluster: ', 's'); getDirectory.m function name = getDirectory(fileString) % This function returns (as a string) the full directory path of the file from % which data is being extracted loc = strfind(fileString, 'beam-profile'); name = fileString(1:loc-1); getMass.m function mass = getMass(headerData) % This function returns the mass setting of the QMA during the deflection % experiment scanned = unfHeader(headerData); mass = scanned(7); getNumHeaderLines.m function number = getNumVolts(headerData) 88 scanned = unfHeader(headerData); % % The number of voltages measured in the experiment is not explicitly % listed in the file. However, the number of fields on line 6 is directly % related to the number of voltages: There are 8 fixed fields which % describe the LabVIEW setup parameters, plus additional fields that list % which voltages were measures. The 0 V (undeflected) measurement is % listed only once, while the others are listed twice as x and x^2, where x % is the number of kilovolts applied for that deflection. % % So, the number of deflections (not including 0 V) is: % ([number of fields] - 9)/2 % % number = (((size(scanned,1)-9)/2)+1); getSteps.m function steps = getSteps(headerData) scanned = unfHeader(headerData); %the number of steps is the 4th element of the discriptor steps=scanned(4); getVoltages.m function voltageList = getVoltages(headerData) % This function returns the number of voltages measured in a beam deflection % experiment when given the data header from the experiment. % scanned = unfHeader(headerData); numVolt = getNumVolts(headerData); voltageList = zeros(numVolt); % XXX -- for now we are going to assume that the first voltage measured is % always 0 kV. This is due to a bug in the DAQ program which forgets to % list 0 kV in the voltage list. Therefore, we should start the array at % i=2, and leave the 1st element zero-initiallized. for i=2:numVolt voltageList(i)=sqrt(scanned(7+(i*2))); end labelTimeSeries.m function labelTimeSeries(nMer, fileName) % This function labels the plot for the time-series representation of the % beam profile data. % % nMer: name (string) of beam species % filename: filename (string) from which data was extracted title(['Time series of the ' nMer ': Each series normalized to unity']); xlabel('Measurement number'); ylabel('Rate (arb units)'); if exist('fileName') annotation('textbox',... 89 [0 0 1 1],... 'String',{fileName},... 'LineStyle', 'none', ... 'FontSize', 6, ... 'FitBoxToText','on'); end plotTimeSeries.m function plotTimeSeries(varargin) % This function the beam profile measurements as a time series. % % varargin arguments are passed in the following order: % xdata: time % ydata: total rate or lock-in rate % shift: vertical shift to apply to data % linespec: (optional) other-than-default data series formatting % num = nargin; linespec = varargin{num}; %This is the baseline shift we apply so multiple series can be plotted %on the same chart. shift = varargin{num-1}; ydata = varargin{num-2}; plotNormalize = max(ydata); if num == 4 xdata = varargin{1}; plot(xdata, ydata/plotNormalize+shift, linespec); end if num == 3 plot(ydata/plotNormalize+shift, linespec); end remBadData.m function data = remBadData(data, numSteps, firstPass, lastPass, arbPass) % This function removes several passes from the measurements passed in the variable % data. Only passes between firstPass and lastPass (inclusive) and not in the % array arbPass is returned. % % data: array containing tuples of beam profile data % numSteps: number of steps per pass in above data % firstPass: first pass of data which should be kept % lastPass: last pass of data which should be kept % arbPass: array of passes which should be deleted % % There are better ways to do this (like data(removes) =[], followed by a % data = reshape(data, ...) arbPass = arbPass'; numArbs = size(arbPass,1); firstPoint = (firstPass - 1)*numSteps + 1; lastPoint = (lastPass) * numSteps; 90 midStarts = zeros(size(arbPass,1),1); midEnds = zeros(size(arbPass,1),1); for i=1:numArbs midStarts(i)=(arbPass(i,1)-1)*numSteps; midEnds(i)=(arbPass(i,1))*numSteps+1; end data = data(1:lastPoint,:); for i=numArbs:-1:1 data = vertcat(data(1:midStarts(i),:),data(midEnds(i):end,:)); end data = data(firstPoint:end,:); remRedundant.m function data = remRedundant(data, numVoltages) % This function removes redundant information from the data array % % Since elements are removed (and the matrix is reindexed) each time we % pass through the loop, we actually only need to increment by 1, even % though our data is in groups of three. We end on +1 because there is no % extraneous data after the last lock-in column. for i = 2:(numVoltages+1) data(:,i:i+1) = []; end setLineSpecs.m function output = setLineSpecs(~) % This function makes a standard set of formatting for the plotted data series data = ['-r'; '-b'; '-g'; '-k'; '-m'; '-c']; output = cellstr(data); setupPlot.m % % This function sets up the labels and formatting of the beam profile plot % function setupPlot(voltageStrings, nMer, dataFileName) xlabel('Slit positon (inches)'); ylabel('Lock-in counts (counts per second)'); title(['Beam Profile of the ', nMer] ); legend(char(voltageStrings(:,1))); if exist('dataFileName') annotation('textbox',... [0 0 1 1],... 'String',{dataFileName},... 'LineStyle', 'none', ... 'FontSize', 6, ... 'FitBoxToText','on'); 91 end unfHeader.m function headerMat = unfHeader(headerData) % This extracts the header because MATLAB can’t. % % The header of the datafile contains information relevant to the % processing that we perform in MATLAB. The first n lines are free-form % text comments entered by the user of the LabVIEW data acquisition % program. Since we don't know n, we need to look for a benchmark in the % file to know where the measurement parameters are located. In this case, % the parameters are two lines below the text "All positions relative to % beam home." infoString = ''; infoLine = 0; for i=1:size(headerData,1) pos = cell2mat(strfind(headerData(i), ... 'All positions relative to beam home')); if ~isempty(pos) infoLine = i+2; end end if infoLine > 0 infoString = char(headerData(infoLine,1)); end headerMat = cell2mat(textscan(infoString, '%f', length(infoString)/4, ... 'delimiter', ',')); Appendix C – MATLAB Statistical Code bootStrapVariance.m function [ retVal ] = bootStrapVariance( expData, model, iter ) % BOOTSTRAPVARIANCE uses statistical bootstrapping to calculate the variance % of the fitting parameters of a data set. % The function takes three arguments: % expData: a set of ordered-pair data (dependant, independant) values % model: a model to use for the fit (passed as an anonymous function) % iter: the number of iterations to perform bootstrapping. % % Initialize pseudo-random number generator. rng('shuffle'); % % Determine the number of coefficients in model by performing a fit on the % real data and measuring the number of coefficients returned % expFitOb = fit(expData(:,1),expData(:,2),model); synthFitOb = cell(iter,1); numCoeffs = numcoeffs(expFitOb); % allocate an array big enough to hold the fit coefficients fitCoeffs = zeros(iter,numCoeffs); 92 retVal = zeros(1,numCoeffs); disp('Calculating parameter variances. Iterations complete:'); % loop for the specified number of iterations for i=1:iter % make one synthetic data from originial synthData = makeSynthSet(expData); % fit model to synthetic data set and save fit coefficients synthFitOb(i) = {fit(synthData(:,1),synthData(:,2),model)}; fitCoeffs(i,:) = coeffvalues(synthFitOb{i}); % Display a progress indicator every 50 iterations so the user knows % we aren’t stuck if mod(i,50) == 0 disp(i); end end % Calculate the variance of each of the fit coefficients over the % entire synthetic data set. for i=1:numCoeffs retVal(1,i)=var(fitCoeffs(:,i)); end end countIndicies.m function [ retVal ] = countIndicies( sortedArray ) %COUNTINDICIES counts the number of unique values in the first collum of %the argument % retVal = size(unique(sortedArray(:,1)),1); end findN.m function [ retVal ] = findN( sortedMatrix, startIndex ) %FINDN finds the number of rows in a sorted matrix with the same value in %the first collum. i = startIndex; matSize = size(sortedMatrix, 1); magicValue = sortedMatrix(startIndex,1); retVal = 0; while i <= matSize if sortedMatrix(i,1) == magicValue retVal = retVal + 1; i = i + 1; else i = matSize + 1; end end end 93 makeSynthSet.m function [ retVal ] = makeSynthSet( expData ) %MAKESYNTHSET This function generates a synthetic data set % This function generates a synthetic data set for use in a statistical % bootstrapping technique. Input parameters are a 2-D array of ordered % pairs representing an actual data set. The first number of each % ordered pair is taken as the "index" of the data, which is used to % represent points measured from the same experimental parameters. For % each index, this function will choose randomly (with replacement) N % points (from that index) for the new synthetic data set. The function % will calculate the mean of the N chosen points and save it as the new % synthetic value for that index. The function returns a 2-D array of % ordered pairs, one for each index in the input array, representing the % newly-created synthetic data set. sortedArray = sortrows(expData); numIndicies = countIndicies(sortedArray); nextI = 1; retVal = zeros(numIndicies,2); for i = 1:numIndicies bigN = findN(sortedArray,nextI); syntheticPoints = pickN(sortedArray,nextI,bigN); newSynthPoint = mean(syntheticPoints); retVal(i,1) = sortedArray(nextI,1); retVal(i,2) = newSynthPoint; nextI = nextI + bigN; end pickN.m function [ retVal ] = pickN( sortedMatrix,startIndex, numVals ) %PICKN picks N values from the sorted matrix % pickN is used to choose (with replacement) numVals values from the argument % sortedMatrix between the startIndex-th and startIndex+numVals-1-th indicies retVal = zeros(numVals,1); for i=1:numVals retVal(i)=pickRandom(sortedMatrix,startIndex,(startIndex+numVals-1)); end pickRandom.m function [ retVal ] = pickRandom( sortedMatrix, start, endval ) %PICKRANDOM This function returns the value in the second collum of a %randomly selected row of the first argument. % This function takes three arguments: a matrix of values, and two % scalars to define a range of rows to select from. The function % randomly picks a row between the beginning and end of the range % (inclusive) using a uniformly distributed PRNG. The second collum of % that row is returned by the function. retVal = sortedMatrix(randi([start endval],1),2); end 94 Appendix D – LabVIEW Data Acquisition Programs and Functions 7.4 simplest timer - v4.6 mx.vi 95 96 97 7.5 gate toggle mx.vi This VI creates a single pulse, which is triggered by the chopper signal. The chopper signal is multiplied by the output of this VI (using an AND gate located in the rack) to create a "gated chopper signal." The pulse counters use the gated chopper signal for their delay gates. This allows the pulse counters to be setup and armed and then started in a synchronized fasion. 98 7.6 reset counter mx v1.vi 99 7.7 fancy frequency for integration mx v1.vi 100 7.8 counter cluster.ctl 101 7.9 dual gated interval counter mx v1.vi 102 7.10 circular buffer averager.vi 103 7.11 number formatter.vi 104 105 7.12 DeSample.vi 106 7.13 fixArrayWrapAround.vi 107 108 7.14 init gated counters mx v1.vi This VI initializes a pair of counters to form one "gated pulse counter." The device number determines which National Instruments PCI board to use. The counter pair determines which pair of counters on the device to use. PCI-6602 boards contian 4 pairs of counters (8 counters total). 109 7.15 Beam Profile UI multi-volt control v2 mx.vi 110 111 112 113 114 115 116 117 118 119 120 7.16 setup 5209.vi 121 7.17 appendPassArray.vi 122 123 7.18 Counter Setup.ctl 124 7.19 spectrum to dip v4-1.vi 125 126 7.20 sort positions v1-0.vi 127 7.21 find position index.vi 128 7.22 outside-inside.vi 129 7.23 inside-outside.vi 7.24 5209 aux in formatter.vi 130 7.25 SR830 DAC controller.vi 131 7.26 UTI-100c with serial v2-1 mx.vi 132 133 7.27 send 5209 string.vi 134 7.28 5209 ADC reader.vi 135 136 7.29 5209 DAC controller with verification.vi 137 138 7.30 5209 unit ready.vi 139 7.31 execute 5209 string.vi 140 7.32 read 5209 response.vi 141 7.33 5209 aux out formatter.vi 7.34 5209 DAC controller.vi 142 143 7.35 file output multivolt v1-2.vi This VI saves dip and rate data to a file. The data format is necessarilly somewhat complex: x-y points representing dip and position or rate and position are bundled in graph clusters. Two such clusters (one for dip and position, the other for rate and position, and one integer for deflection voltage are bundled into a “voltage cluster.” The voltage cluster contains the complete dip and rate profiles for one deflection voltage. This VI expects an array of voltage clusters, one element for each deflection voltage. The array may be of arbitrary length, so an arbitrary number of voltages may be written to file. 144 7.36 multivolt profile pass volt control v1-7 mx.vi This VI implements a beam profile measurement by repeatedly measuring the beam and stepping a moveable slit. Two measurements are taken at each slit position: one with the deflection voltage off and one with it set to the specified input voltage. It assumes that the stepper motor is already in the start position when the VI is called and that the plate voltage is 0. The specified input voltages should NOT include 0V for the undeflected profile. This vi will automatically measure the 0V profile. The output of this VI is an array of elements. Each element represents a different deflection voltage (the first element is undeflected or 0 V deflection). Each element is a cluster of arrays. The cluster represents a beam profile for one set of parameters (deflection votlage, etc). The profiles are in terms of slit position and raw chopper open / chopper closed counts. 145 146 7.37 Pass Setup.ctl 147 7.38 multivolt region descriptor line v1-0.vi 148 7.39 SpellmanPSU v2.vi This VI is used to control a Spellman high voltage power supply. The power supply outputs up to 50 kV, which is lethal. Use care with this VI! The power supply is controlled by a 0-10V input voltage, corresponding to a 0-50kV output voltage. This VI uses an AO virtual channel, which provides the voltage to control the power supply. While this VI does allow step changes in the control voltage, it is recommended that the control voltage be slewed slowly. This can be accomplished by repeatedly running the VI with slightly changing inputs over a period of time. 149 150 151 7.40 SwapElements v1-0.vi This VI takes an input array of numbers and two integer indicies. The output is an array in which the data at the two input indicies has been swapped. The boolean output is true if either output is out of range. 7.41 Random Integer.vi 152 7.42 Fisher-Yates shuffle.vi 153 7.43 Create Shuffled Position List v1-1.vi This VI creates a an array of slit positions at equal intervals. It takes as inputs the beginning and end of the slit range and the number of steps to generate. There are two outputs: The sorted array of positions and a shuffled array of positions (this can be useful to combat variations in the beam intensity). 154 7.44 getStartPoints.vi 155 7.45 getWindowDimesions.vi 7.46 formatPoints.vi 156 7.47 webInterface.vi 157 158 7.48 GetDisplacement.vi 7.49 Stepper wrapper async mx.vi This VI provides a user-friendly wrapper for the stepper motor. This VI takes a displacement in Inches, and generates the necessary parameters for Stepper Moter Controller.vi. The manipulator has a maximum travel of 1 inch, so greater displacements are internally restricted. 159 7.50 rawToDipRateConverter.vi 160 7.51 dipRateToLockinWaveform.vi 161 7.52 MakeMeasurement.vi 162 163 7.53 counter spectrum v3-3 mx.vi 164 165 166 167 7.54 file output v1-0.vi This VI saves x-y points to a file. Points are passed as a cluster of two arrays (the first array is x and the second y). The clusters are assumed to be in two groups: 1 & 3 and 2 & 4. Only the x- coordinate from groups 1 and 2 are saved to the file. Each row of output consists of: Group 1 Array 1, G1A2, G3A2, G2A1, G2A2, G4A2. 168 7.55 spectrum pass v3-4 mx.vi 169 170 171 172 7.56 spectrum to dip v3-1.vi This VI calculates the "dip" and total rate from an array of spectrum or profile passes. Two outputs are provided: *A set of x-y points (a cluster of two arrays) representing the dip (y) as a function of channel (x). *A set of x-y points (a cluster of two arrays) representing the total rate (y) and a function of channel (x). Each of the above outputs are packaged in a two-element array. The first element is the dip (or total rate) of the average of all completed passes, while the second element is the dip (or total rate) of the most recent pass. 173 7.57 pass cluster init.vi 174 7.58 region descriptor line v1-1.vi 175
Abstract (if available)
Abstract
Dielectric properties of neat (H₂O)n clusters and mixed acid‐water clusters, doped with deuterium chloride, in the range 3 ≤ n ≤ 9 were measured by electric field deflection of a neutral supersonic beam. Neutral acid‐water clusters were produced by attaching acid molecules to pure clusters in an expanding supersonic jet of water. ❧ A synchronous detector was developed for this experiment. The detector is built from commodity hardware costing between one‐tenth and one‐fifth as much as comparable commercial alternatives. Sensitivity is more than an order of magnitude better than the analog system it replaced, and the design does not require complex setup to obtain optimal performance. The new detector additionally offers better immunity to noise than the aforementioned commercial systems through the use of digital optical isolators, which break ground loops. ❧ Cluster beam profiles are known to have a Gaussian shape, but it seems that no published formula exists to calculate the variance of the parameters of a Gaussian fit (unlike, e.g., the linear case). Prior experiments have used a quadratic approximation so that fitting parameter variances could be estimated. A program was written to implement the “Bootstrap” statistical re‐sampling technique to estimate the variance of the Gaussian beam fit parameters. ❧ Square‐modulated cluster beam velocity measurement techniques from the literature require fitting a Multi‐channel Scaler (MCS) record with certain properties to a time‐resolved flux formula. A method and program for normalizing MCS records without these properties is presented. Further, the normalization and fitting method is able to accurately measure beam velocity from variable‐length MCS records containing an arbitrary number of chopper cycles. ❧ Polarizabilities of neat clusters were found to correspond with previous experiments. Polarizability of mixed clusters, measured for the first time, was found to rise between n=5 and n=6, which may be evidence of disassociation of the DCl molecule. This experiment may offer insight into the problem of defining solvation for finite‐sized systems.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
A technique for assessing water cluster sizes by pickup momentum transfer and a new source with loading system for lithium clusters
PDF
The adsorption and selective deposition of molecular and nanocluster ions on carbon based devices
PDF
From fuel cells to single cells: electrochemical measurements of direct electron transfer at microbial-electrode interfaces
PDF
Shock-induced nanobubble collapse and its applications
PDF
Electrochemical studies of subsurface microorganisms
PDF
Fabrication, deposition, and characterization of size-selected metal nanoclusters with a magnetron sputtering gas aggregation source
PDF
Cosmological study with galaxy clusters detected by the Sunyaev-Zel'dovich effect
PDF
Dissociation energy and dynamics of HCl and aromatic-water clusters
PDF
Microbially synthesized chalcogenide nanostructures: characterization and potential applications
PDF
An investigation of morphology and transport in amorphous solid water via guest-host interactions
PDF
Temperature-dependent photoionization and electron pairing in metal nanoclusters
PDF
Optoelectronic properties and device physics of individual suspended carbon nanotubes
PDF
Converging shocks in water and material effects
PDF
Molecular simulations of water and monovalent ion dynamics in the electroporation of phospholipid bilayers
PDF
Modeling graphene: magnetic, transport and optical properties
PDF
Molecular orientation from sum frequency generation spectroscopy: case study of water and methyl vibrations
PDF
Imaging superfluid helium droplets
PDF
From cables to biofilms: electronic and electrochemical characterization of electroactive microbial systems
PDF
Bacterial nanowires of Shewanella oneidensis MR-1: electron transport mechanism, composition, and role of multiheme cytochromes
PDF
Laboratory investigations of the near surface plasma field and charging at the lunar terminator
Asset Metadata
Creator
Guggemos, Nicholas Greening
(author)
Core Title
A measurement of the dielectric properties of water nanoclusters
School
College of Letters, Arts and Sciences
Degree
Doctor of Philosophy
Degree Program
Physics
Publication Date
01/12/2015
Defense Date
05/23/2014
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
nanoclusters,OAI-PMH Harvest,water clusters
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Kresin, Vitaly V. (
committee chair
), Boedicker, James Q. (
committee member
), Daeppen, Werner (
committee member
), Däppen, Werner (
committee member
), El-Naggar, Mohamed Y. (
committee member
), Wittig, Curt F. (
committee member
)
Creator Email
guggemos@usc.edu,nick.guggemos@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-437394
Unique identifier
UC11286861
Identifier
etd-GuggemosNi-2663.pdf (filename),usctheses-c3-437394 (legacy record id)
Legacy Identifier
etd-GuggemosNi-2663.pdf
Dmrecord
437394
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Guggemos, Nicholas Greening
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
nanoclusters
water clusters