Background

One of the biggest differences between the SC and NC machines is our reliance on the cryoplant to keep our cavities cold enough to be superconducting. A way to conceptually simplify the cryoplant would be to consider it an extremely expensive, extremely powerful refrigerator that really does not like drastic swings in heat load. Given that the main source of dynamic heat in the system is from the RF cavities themselves, what this effectively means is that the cryoplant would be very unhappy if we were to rapidly turn a lot of cavities on or off at once (as we would during, say, a PPS trip, or PAMM recovery). In order to deal with this operational incompatibility, each cavity was built with its own electric heater that can be used to keep the heat load from that cavity steady as seen by the cryoplant. If a cavity increases in RF heat load, its heater turns down; if it decreases in RF heat load, its heater turns up. 

Some Math

But, how do we know how much heat a cavity is generating? An inherent property of an SRF cavity is its quality factor, Q0 , which is calculated from the formula \(Q_{0} = \frac{A^2}{[\frac{R}{Q}] * P_{diss}}\) where \(A\) is the cavity amplitude in volts, \([\frac{R}{Q}] = 1012\) is a known geometric constant in ohms, and \(P_{diss}\) is the dissipated power (aka that cavity's generated heat) in watts. Given a cavity Q0, we can use that formula to figure out how much power it dissipates at any given amplitude using  \(P_{diss} = \frac{A^2}{1012*Q_{0}}\)

But where does the Q0 come from?

In some instances, you can measure cavity Q0 by measuring the loaded Q (QL) instead and using \(\frac{1}{Q_{L}} = \frac{1}{Q_{0}} + \frac{1}{Q_{ext}}\) along with  \(Q_{0} = (1 + \beta)Q_{L}\) where \(\beta\) is the coupling factor \(\beta = \frac{Q_{0}}{Q_{ext}}\) . This method is the most useful when the cavity is strongly under coupled ( \(\beta \ll 1\) , where there is effectively no power loss beyond that of heat dissipation into the wall) because you can make the approximation that  \(Q_{0} \approx Q_{L}\) . Unfortunately, where beam is concerned, there is by design significant power loss into the cavity when beam is present (for it to absorb) and we end up strongly over coupled, where \(\beta \gg 1\) and  \(Q_{ext} \approx Q_{L}\) . Even without beam, the cavities are designed to reflect back almost all the power that's put into them to make resonance and amplitude controls easier; the faster a cavity dumps power, the faster you can change amplitude. Similarly, a lower Q makes for a wider resonance peak, which then makes for a larger 3dB bandwidth.

So, given that we can't just use a measured loaded Q as a stand in, other labs (like JLab and Fermilab) have developed a method that involves correlating the helium flow in grams per second to cavity heat load (the hotter the cavity, the more helium will be flowing in to cool it). We would have also used that method had our cryomodules been manufactured with the mass flow meters required for that measurement, but unfortunately, they were not, so we had to develop yet another way. 

Developing the Procedure

Ed Daly from JLab came up with a new idea in 2019 while we were testing the newly constructed cryomodules at LERF to try to correlate helium evaporation to cavity heat load. In the years since, we have refined the procedure through trial and error to land on what is in production at SLAC now.

The method relies on the premise that if the heat load isn't changing in a given cryomodule, the helium should settle into a steady state where it is being refilled as fast as it's being burned off. The system is built such that the JT valve feeds back on the downstream liquid level to maintain it at 92%, so if the heat load isn't changing, the JT should eventually reach a steady position. If we were to find that steady state and then lock the JT valve so that it is only maintaining the liquid level steady for that one very specific heat load, changing the heat load in any way should cause the liquid level to either rise (if the heat load is lowered) or fall (if the heat load is increased).

In theory, the higher the heat load from the cavity, the faster the helium should burn off if the JT can no longer regulate. Given that assumption, Ed's idea was to use the heaters to introduce known heat loads and see if there was a robust relationship between rate of liquid level drop and the amount of heat introduced into the system. If there was, we could measure how quickly the liquid level drops when a cavity is running and then use that relationship to back-calculate how much heat it had generated while it was on. That, in combination with the cavity's amplitude, would give us Q0.

Defining "0"

But first, we needed the JT valve's steady state position. In order to find it, our first thought was to turn the cavities off, set the cryomodule heaters to 0, and wait for the JT valve to settle. Unfortunately, we discovered that the helium can't burn off without some minimum amount of heat, and zeroing all the heaters without any RF heat led to significant overfilling in that cryomodule. We empirically found that 48 W distributed among the cryomodule heaters was a safe level that allowed the JT sufficient room to regulate, and letting the control loop work for about an hour revealed that it does in fact settle into a steady state where neither the JT valve nor the downstream liquid level move beyond standard operational noise.

It has thus become the standard to define "0" as the JT valve position found by the control loop after an hour of turning the RF off and setting the cryomodule heaters to 48 W.

Calibration

Once we had found the 48 W JT valve position, we began to explore the space. In order for a cavity to meet LCLS-II specifications, it needed to have a Q0 of 2.7e10 and  be able to run at 16.6 MV (using the formula above, we can convert that to about 10 W of heat). Using that as a starting point, we decided to focus on heat loads between 0 and 25 W in order to capture:

  • Cavities that did not meet the amplitude spec and were therefore running at low amplitudes (and generating little heat)
  • Cavities that could reach 16.6 MV but that had Q0s as low as 1e10

What we saw astounded us. Not only was there a clear relationship, but the relationship was remarkably linear, only getting clearer as the heat loads increased.



While this made it clear that the noise was perhaps prohibitive for exact measurements at those lower heat loads, the linearity gave us confidence that we could at least generate what we were now referring to as the calibration curve at higher heat loads and propagate it down to that range.

One caveat: now that we were using this "dLL/dHeat" slope to definitively get heat from rate of liquid level drop, we wanted to make sure that a reading of 0 drop corresponded to an output of 0 W, so we moved the curve as needed so that it intersected (0,0).

RF Measurement

Unfortunately, the increased inaccuracy of the measurement at the heat loads that would capture a single cavity led us to rethink how we would measure RF heat loads. We realized that not only would it be more accurate, but it would be much faster to measure all of a cryomodule's cavities at once (each one at its expected operating amplitude) and just use that "effective" Q0, Qeff, as a good estimate across them all.

Effective Q0

Coming up with a definition for Qeff was tricky because it technically has no physical meaning (Q0 by definition applies to a single cavity), but it fell quite neatly out of the requirements:

  • For each individual cavity at amplitude Ai, the Qeff should yield that cavity's dissipated power
    • \(P_{i} = \frac{A_{i}^2}{1012*Q_{eff}}\)
  • The sum of all cavities' dissipated power needs to equal the power dissipated by the entire cryomodule
    • \(P_{tot} = \sum_{i} P_{i} = \frac{1}{1012 * Q_{eff}}\sum_{i}A_{i}^2\)

From there we just rearranged to get \(Q_{eff} = \frac{\sum_{i} A_{i}^2}{1012*P_{tot}}\) and we were ready to go. 

Taking Data

When we first started, we realized that the calculated heat load would change rather drastically across measurements depending on which calibration we used and how long it had been since that calibration had been taken. To account for this, we decided to add in an extra heater-only measurement at the end of each RF measurement to move the calibration curve as needed so that the adjusted calibration would "calculate" that known heat load as itself. That adjustment was then added to the heat that was calculated from the RF measurement as a way to try to make the method more calibration agnostic. 

Extracting Single Cavity Heat Loads

A fairly recent addition to the method involves taking repeated cryomodule measurements with a different cavity off each time and then using simple matrix math to extract the single cavity heat loads. This is fairly time intensive so we only do it as needed/allowed, but the limited applications have proven promising thus far.

Given:

  • \(\overline{P} = \begin{bmatrix} \overline{P_{0}}\\ \vdots \\ \overline{P_{i}} \end{bmatrix}\) where each \(\overline{P_{i}}\) is the heat load calculated with that cavity off


  • \(P = \begin{bmatrix} P_{0} \\ \vdots \\ P_{i} \end{bmatrix}\) where each Pi is the heat load from that cavity alone


  • \(M = \begin{bmatrix} 0 & 1 & 1 & \dots & 1 \\ 1 & 0 & 1 & \dots & 1 \\ 1 & 1 & 0 & \dots & 1 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & 1 & 1 & \dots & 0\end{bmatrix}\) to indicate the on/off status of each cavity during a measurement


We can say that \(MP = \overline{P}\) and thus that  \(P = M^{-1} \overline{P}\) .

Caveat: cavities reporting below 4 W seem to fall within the noise of the measurement and report heat loads with very high error bars

Automation

As of writing, the Q0 program has been fully automated such that the only manual steps left are:

  • Calling the cryoplant asking for permission to control the cryomodule to be measured
  • Finding the stable JT valve position for 48 W

The hope is to be able to automate the position finding, but otherwise it has proven to be very robust. 

Error

Our error analysis shows that we can expect errors on the order of 15-20%, a lot of it compounded by repeated usage (for instance, line fit errors). This method is also extremely susceptible to changes in heat load during the measurements, such that helium pressure oscillations sometimes observed in the linac can drastically impact the rate of liquid level drop and skew the final calculation.

Results as of June 2023

After doing a measurement of each cryomodule installed in the linac here at SLAC, we were able to see that we had an average machine Q0 of 2.8e10, exceeding the spec of 2.7e10. Not only that, but we were able to validate the effect of nitrogen doping on installed cavities and show that cryomodule degaussing is extremely important for overall heat load. 

Publications

We presented this procedure at the SRF 2023 conference with the following poster and paper:

mopmb090_poster.pdfmopmb090.pdf

  • No labels