Dear all,
I am trying to simulate a combination of an RF field map with a background gas used for buffer cooling.
Details on that to be found here https://www.sciencedirect.com/science/a ... 0201002868
I turned on gas scattering.
The interaction with the low energy beam (approx 100eV) should lead to a reduction of the transversal momentum and phase space.
The principle has been shown for many ions traps and quadrupole guides.
Unfortunately, the gas leads to a total loss of the beam instead of any cooling effects.
Can somebody explain me the physics behind the model used in tracewin or some useful tips?
Thanks!
My code looks like that:
A dc field is overlayed with an RF Field at 530 kHz and helium gas at 1 mbar.
GAS 0 2 1
SUPERPOSE_MAP 0
FIELD_MAP 7 796 0 20 0 1 0 0 dc
FREQ 0.53
SUPERPOSE_MAP 0
FIELD_MAP 700 796 0 20 0 3.3 0 0 rf
Buffer Gas Cooling
Re: Buffer Gas Cooling
Dear Max,
The model implemented in TraceWIN is the Compton elastic scattering on nucleus of residual gas as explained here :
https://accelconf.web.cern.ch/e96/PAPER ... OP017L.PDF
It is well appropriated with particles whose velocity is much higher than the electron velocity in atoms (a few eV/511keV).
It does not correspond (I think) to the phenomena you are considering.
TraceWIN offers the possibility to generate its own element (see TW notice). Maybe could you try to implement one element corresponding to your need ?
Best regards.
Nicolas.
The model implemented in TraceWIN is the Compton elastic scattering on nucleus of residual gas as explained here :
https://accelconf.web.cern.ch/e96/PAPER ... OP017L.PDF
It is well appropriated with particles whose velocity is much higher than the electron velocity in atoms (a few eV/511keV).
It does not correspond (I think) to the phenomena you are considering.
TraceWIN offers the possibility to generate its own element (see TW notice). Maybe could you try to implement one element corresponding to your need ?
Best regards.
Nicolas.
Re: Buffer Gas Cooling
Thanks for the Answer!
By tw notice you refer to the tracewin.pdf manual?
If I create an element - is it still possible to overlay with a fieldmap?
Would it be possible to share the code of the existing Gas element to have a better understanding of how the implementation works...
By tw notice you refer to the tracewin.pdf manual?
If I create an element - is it still possible to overlay with a fieldmap?
Would it be possible to share the code of the existing Gas element to have a better understanding of how the implementation works...
Re: Buffer Gas Cooling
Dear max,
The description of how to create your own element or diagnostics is in the TraceWin manual. An example is provided including the C code.
It is rather a diagnostic that you should create because an element cannot be overlaid on a FIELD_MAP.
The code of the Gas command will not really help you and anyway, we can't share it
Regards,
Didier
The description of how to create your own element or diagnostics is in the TraceWin manual. An example is provided including the C code.
It is rather a diagnostic that you should create because an element cannot be overlaid on a FIELD_MAP.
The code of the Gas command will not really help you and anyway, we can't share it
Regards,
Didier
Re: Buffer Gas Cooling
The manual says a diagnostic element gives a certain infomation at a given position.
How do I then define a certain length - a ?(gas) diag which is valid over the full length of the fieldmap?
Can you explain a little more the cord array - the manual only says see example... I guess it contains the 6D phase space information for each macro particle i?
x xp y etc are then new calculated phase space used as a basis for the next spatial calculation?
How do I then define a certain length - a ?(gas) diag which is valid over the full length of the fieldmap?
Can you explain a little more the cord array - the manual only says see example... I guess it contains the 6D phase space information for each macro particle i?
x xp y etc are then new calculated phase space used as a basis for the next spatial calculation?
Re: Buffer Gas Cooling
Dear Max,
Indeed the effect of the diag can only be one kick at a given position and probably several diagnostics will be needed to apply several kicks over the length of the drift. But it's already done like that for collective effects such as gaz or space-charge.
I don't quite understand your second question, in the example "int DLL_EXPORT my_pos_and_size_partran(...)" the following lines correspond to the 6 coordinates of each particle.
In a diagnosis these coordinates are not supposed to change but you are free to modify them according to an effect of the gas or something else. In this case you will need to change the values of the table cord[...]
Regards,
Didier
Indeed the effect of the diag can only be one kick at a given position and probably several diagnostics will be needed to apply several kicks over the length of the drift. But it's already done like that for collective effects such as gaz or space-charge.
I don't quite understand your second question, in the example "int DLL_EXPORT my_pos_and_size_partran(...)" the following lines correspond to the 6 coordinates of each particle.
Code: Select all
x=cord[i*6]; // m
xp=cord[i*6+1]; // rad
y=cord[i*6+2]; // m
yp=cord[i*6+3]; // rad
z=cord[i*6+4]; // m
dpsp=cord[i*6+5]; // dp/p
Regards,
Didier
Re: Buffer Gas Cooling
I think this way will not work ... I would have to add the element after every mean free path :/
I understand now the cord array.
What is the element containing the particle coordinates which is handed over to the next element?
cord as well?
Just as a example - to reduce the transversal momentum xp of each makroparticle I just do
cord[i*6+1] = cord[i*6+1] / 2
I understand now the cord array.
What is the element containing the particle coordinates which is handed over to the next element?
cord as well?
Just as a example - to reduce the transversal momentum xp of each makroparticle I just do
cord[i*6+1] = cord[i*6+1] / 2
Re: Buffer Gas Cooling
Dear MAx,
Yes indeed the insertion of this component will have to be done recurrently. However, if you go to the "Develop its own space-charge routine" chapter here, the internet space-charge routine will be replaced by your own and if you don't need to calculate the space-charge this routine would allow you to automatically integrate what you want at all calculation steps.
Yes, your analysis of cord is correct except that it is not exactly momentum, but divergence.
Regards,
Didier
Yes indeed the insertion of this component will have to be done recurrently. However, if you go to the "Develop its own space-charge routine" chapter here, the internet space-charge routine will be replaced by your own and if you don't need to calculate the space-charge this routine would allow you to automatically integrate what you want at all calculation steps.
Yes, your analysis of cord is correct except that it is not exactly momentum, but divergence.
Regards,
Didier