Return to Savin Group Start Page

H2 Formation in the Early Universe

During the epoch of first star and protogalaxy formation the formation of these structures was mediated through H2 which is an important coolant in primordial clouds. The dominant formation mechanism of H2 during this epoch is the associative detachment (AD) reaction H- + H → H2 + e-. Published values for this process differ by nearly an order of magnitude. This introduces uncertainties into cosmological models of structure formation and limits our understanding of protogalaxy formation during this epoch and of the characteristic masses and cooling times for the first stars.

To study this AD reaction in the laboratory, we begin with an anion beam and use photodetachment to generate a self-merged, anion-neutral beams arrangement. Laboratory beam energies are in the keV range. Because the beams are co-propagating, center-of-mass energies from the meV to keV range will be achievable. We will observe the AD reaction by detecting fast H2+ ions formed through ionizing collisions of the AD-generated H2 with the background gas in the vacuum chamber.

Experimental Setup

The beamline is subdivided in several sections. Depending on status and time, we'll update the pages.

The beam

After some changes to the installed beam optics, we now get the source to emit 16 micro Amps! The beam shape is reasonable and, most importantly, pretty well centered. The beam is oval, about 6mm full diameter in the vertical and 3.5mm diameter in the horizontal direction.

In yellow you see the fiducial positions of our Beam profile wire scanner, i.e. when the wire is going through the center of the beamline. The collector signal obtained when the wire actually crosses the beam is shown in blue. Transport of the beam is not bad at all. After some more changes of the setup (Steerers, slits, retractable cup, ...) we now have the first leg complete and get 14 micro Amps about where we'll put the spherical deflector.

Laboratory Hazards

A list of things we need to keep in mind that go beyond the standard laboratory safety (electricity and such).

  • Oxygen depletion: One floor above, there is the RARAF accelerator, filled with SF6. If there is a leak, since we're in the basement and SF6 is a lot heavier than air, it can flow into our transformer room through cable hatches and such. Even if the complete load of SF6 pours into our lab, it won't fill more than knee-height or so. However, if the doors to the generator room are closed it may fill up. We have an oxygen monitor installed at knee-height in the transformer room. It measures the oxygen partial pressure (and nothing else!). We have three alarm levels: Alarm 1: Oxygen level below 19.5%; Alarm 2: Oxygen level below 19%; Alarm 3: Oxygen level above 23% (monitor reliability check). According to the U.S. Department of Labor oxygen levels below 17% are critical, so our alarm settings should be good. In case of an alarm, evacuate the lab immediately. Open all doors to the lab, including the hatch on the ceiling, and vent the lab for a good while. The alarm does not stop if the oxygen level is back to normal. Check what the RARAF monitors say about the oxygen levels if they don't get an alarm, too. The RARAF oxygen monitor is installed on the wall between the RARAF accelerator control panel and the accelerator bay. If their readings are fine, have the RARAF people give you an SF6 sniffer. Have at least one additional (better two) person(s) stand at the door and watch you as you go in and check for SF6. Do not walk out of their sight.


(created by Hjalmar Bruhns Feb 14 2007)

Vaktrak is the code used for our pressure profile simulations. It was originally written by Volker Ziemann at SLAC, and the official documentation of the code is found on Volker's site. If you are using the code, please provide a reference in any paper describing the vacuum system that Vaktrak helped to design. Else than that, the program is free at the time of writing this. Here you'll find some help that goes into certain details I thought may help using the program.

Before an in-depth explanation, let's add sort of a disclaimer: It is known that the formulae used by Vaktrak give you pressure profiles that are not 'the truth', even though many text books will tell you they are - and apparently the formulae are pretty close to the truth (see CW Oatley 1957 Br. J. Appl. Phys. 8 15-19). If you want to do a pressure profile simulation for a million dollar project, get yourself a grad student, time, and do a proper Monte Carlo simulation. In any case, even if you do everything right, any vacuum simulation (also Monte Carlo) is always good only to a factor of 2 to 5 (maybe even 10), simply because you have to make a lot of assumptions (outgassing rates etc.).

The latest code version is available for Windows and Linux, and consists of the programs Vaktrak2 and Vakloop2. I used the Windows platform because I couldn't get everything to work on Linux, but then again I'm not so good with Linux and lost patience once I had it running on Windows. Here's how it goes:

Go to the Vaktrak2 homepage. You're looking for the programs vaktrak2.exe and vakloop2.exe; I don't use the other programs on that page.

You should first read the original Vaktrak publication, where the first version of Vaktrak is explained. We're going to use Vaktrak2, but it works the same way as this first version, except that Vaktrak2 can handle pressure dependent pumping speed (how is explained on the Vaktrak2-Website). Using low conductances and high pumping speeds (=differential pumping), Vaktrak2 will tell you that "accuracy is hosed", meaning that the program thinks that it has numerical problems. So far, even when I got this error message, the output I got was the same as the output Volker would get using my input files and an extended precision version that wouldn't work on my system. See the here for more details on this.

While Vaktrak2 can handle only linear vacuum systems, Vakloop2 can handle segmented vacuum systems (and branched vacuum systems) and for that reason should give reliable results when simulating differentially pumped systems (again, see here). I get the impression that Vakloop2 does not handle pressure dependent pumps though. Furthermore, Vakloop2 does not need boundary conditions, because each section creates boundary conditions for the neighboring section, and on the dead ends it assumes a gas load of Q=0. The difference between the Vakloop program code and Vaktrak script goes something like this

0 0 0 1 2 'asd1'
<a few lines of normal vaktrak code>
0 0 0 2 3 'asd2'
<a few lines of normal vaktrak code>
0 0 0 2 4 'asd2'
<a few lines of normal vaktrak code>

The lines starting with three zeros tell vakloop that the following vaktrak code lines are relevant for a section starting at point X and ending at point Y (the two other numbers in the line). The 'asdZ' is a comment, which should not exceed four letters. So the example I give above is actually a branched vacuum system, where the branching point is point 2 with branches to 1, 3, and 4. Save the file with any name you want. I'll call it 'beamline.vak' for this tutorial.

The SLAC publication shows you how the vaktrak code has to look like. Note that the very first line in any vaktrak code *has to be* a comment enclosed by apostrophes ('comment') with a maximum of 40 characters, including spaces.

Vaktrak wants to know conductances in [l/s] and gas load in [torr l / (s cm2)] from the single components. Look into text books (e.g. O'Hanlon's book, not meant as advertisement :) and you'll find that the conductance of a tube with diameter d and length L is C=12.1 d3/L; if you enter d and L in cm the factor 12.1 contains everything to yield C in l/s. This is for air - if you deal with hydrogen like we do, we have to multiply the result with 3.75 to account for hydrogen having another mean velocity at room temperature. Personally, I think that in UHV one should always multiply by 3.75, simply because the rest gas is typically mostly H2 anyway. Outgassing rates can be found in books, on the net (e.g. here and links within). I have a (not very well maintained) compilation of conductances for some standard crosses etc. on my office computer at columbia. If you need it, please tell me.

If you want to run Vakloop2 or Vaktrak2, put your vaktrak script in the directory where you put the vakloop2.exe and vaktrak2.exe (you need both), open a terminal or bash or shell or whatever you call it, go to the directory and type 'vakloop2 <filename>', e.g. 'vakloop2 beamline.vak'.

The output is a file called '' (or '' if you used vaktrak2 instead of vakloop2), which is an ordinary, self-explaining text file. Since I didn't have a plotting program when I made the simulations, I used the program TopDrawer (td.exe) to convert the vakloop output file to a ps file:


which gives (for reasons I don't care to find out) a file called 'fort.72'. This is actually a normal postscript file that you can simply open using ghostview (I couldn't get the Linux version of topdrawer to run, and used wine to run td.exe on Linux - which worked fine).

Numerical problems

Vaktrak was originally made for accelerator applications: big tubes, where do you have to place pumps to get a good flat pressure profile over the whole thing. So what Vaktrak thinks is a good vacuum system is: large conductances, pumps seperated by some distance, all essentially pumping the same chamber. Our application is really the contrary: each pump pumps its own chamber, and we want to separate them as good as possible. For Vaktrak (or any other program using the standard formulae of vacuum technology and transfer matrices to solve them), this doesn't seem right, since it thinks that you want to pump your accelerator (which you don't have) through a small nozzle. In other words: numerics become unstable in the differential pumping section (the small conductance), because Vaktrak thinks the pumps in the dumps are meant to pump the source section, too. Vakloop doesn't have that problem. It considers each segment separately and connects them later, so it is really much more applicable to our differential pumping problem.

Return to Savin Group Start Page