RF Cavity mismatch between code and manual

Issue #165 resolved
Jochem Snuverink created an issue

I noticed that the RF Cavity no longer uses its gradient property, but instead there is an efield in the cavitymodel. This is not documented in the manual nor in the examples. I can update it (was already halfway). Also the python packages pybdsim and pytransport need updating.

But before doing that I would like to discuss it a bit more. The disadvantage of the change is that it is no longer possible to simply define an RF element without having to define a cavitymodel. I think the original intention was that the cavitymodel is for the geometry of the element, although there is frequency there also, so not sure.

The minimum was: (according to the manual, not in practice: https://bitbucket.org/jairhul/bdsim/issues/143/rf-cavity-has-no-good-default-parameters)

rf1: rf, l=3*m, gradient=10*MV;

Now it is:

rf1: rfcavity, cavityModel = "rf1model", l=0.1*m;
rf1model: cavitymodel, efield = 100 * V / m;

Also, and I don't know if this is serious in practice, one needs to define a different cavitymodel for every different gradient. For the simulation I am working with there are 43 (but this needs some checking, I might misinterpret TRANSPORT here).

All considering, I might be in favour of going back to using the gradient property, but maybe I missed something.

some relevant commits:

https://bitbucket.org/jairhul/bdsim/diff/src/BDSComponentFactory.cc?diff2=6cfe09b47ba5&at=tempcurvilineardisable

https://bitbucket.org/jairhul/bdsim/commits/2693f666e255c633dd5603ebde73b5f1cb48834c#chg-src/BDSComponentFactory.cc

https://bitbucket.org/jairhul/bdsim/commits/0c2ec080d6ed4a1a5b8fd80a4956282ea168ddd6

Comments (1)

  1. Log in to comment