Penning effect for Drift Tube for (Ar/CO2)

Hello everyone.

I attempted to reproduce the results presented in the paper (

1-s2.0-S0168900214010924-main.pdf (871.9 KB)(1)

) for a drift tube filled with an Ar (50%) + CO₂ (50%) gas mixture. However, the values obtained in my simulation (

sahin.C (7.4 KB)

) are noticeably lower than those reported in the article.

Could anyone suggest possible reasons for this discrepancy?

Thank you.

(1)https://www.sciencedirect.com/science/article/pii/S0168900214010924

Dear @rostislav

I guess what you are seeing in the plots is the gain with penning transfer off. The gas tables are standardly calculated without penning effect. Instead when you call the function gas.EnablePenningTransfer() the townsend coefficient will be updated by reading the ionisation and excitation rates in the gas table.

Can you try to run your program again, but with the function call
gas.EnablePenningTransfer() placed after you have calculated the gas tables?

gain_vs_voltage_4pressures.pdf (16.7 KB)

Hmm, that’s interesting. The order of the operations indeed affects the result. Thank you for pointing that out.

I’ll now try the same procedure for my previous Ar/CO₂/isobutane mixture.(r = 0.42)

It seems this is not described anywhere.

The “Garfield++ → Tutorials → Penning transfer” description does not mention this requirement.

Moreover, in two “official” examples, “EnablePenningTransfer” is called before “GenerateGasTable” and “LoadGasFile”:

Examples/Paschen/gastable.C

Examples/Geant4GarfieldInterface/src/GarfieldPhysics.cc.

Dear @Wile_E_Coyote

It is a bit subtle, and one needs to read carefully the documentation, which is - agreed - a bit minimalistic. An important point to consider is that there is “macroscopic” transport of charged particles that requires gas tables to look up the swarm parameters (such as Townsend’s alpha) and “microscopic” transport that requires only a set of electron-atom cross sections.

If you work with the microscopic transport, then this is sufficient:

MediumMagboltz gas("ar", 80., "co2", 20.);
gas.EnablePenningTransfer();

If you work with the macroscopic transport, you have to load (or calculate) first the gasfile and then enable the penning transfer:

gas.LoadGasFile("ar_93_co2_7.gas");
gas.EnablePenningTransfer();

It is done correctly in this “official” example. Note that for known gas mixtures (Ar:CO2) you can just call EnablePenningTransfer() without arguments, while for other mixtures you have to pass the arguments.

The UserGuide (§3.2.3) states the following:

It was i.m.h.o. also described in the tutorial on the website that you pointed to:

Thanks for pointing out those two examples, we should update the code there as it is misleading as it is implemented right now.

You might also like to “check” other examples where “EnablePenningTransfer” is present (I only “checked” these that explicitly call “GenerateGasTable” or “LoadGasFile”).

I think I’d like to propose the following modification of the “Penning transfer” tutorial:

“When switching on Penning transfer (by calling EnablePenningTransfer after the gas table has been generated or loaded), the Townsend coefficient is scaled using”

Also, maybe a similar explicit note in the “UserGuide” would be helpful.

I tried two options: before the transfer parameters table and after it for a mixture of argon, CO₂ and isobutane. I took the transfer parameters from there[1]. Without Penning the result is less than in the article [1] , and with it it is much more.

Also the console also produced warnings:


Warning: Integrating the Townsend coefficients would lead to exponential overflow.
Avalanche truncated.
DriftLineRKF::Avalanche:
Warning: Integrating the Townsend coefficients would lead to exponential overflow.
Avalanche truncated.
1

Ozkan-2021-RD51-CM-June.pdf (1.0 MB)

code:

sahin.C (7.7 KB)

above the table

below the table

article