Pressure of ³He detectors in Geant4 seems overestimated — geometry or materials error?

Geant4 Version: 11.02
Operating System: Ubuntu

Hi everyone!

I’m developing a simulation in Geant4 for a neutron detection system using proportional ³He tubes pressurized to 4 atm and 6 atm.

The detection system consists of a multilayer structure made of polyethylene, lead, and iron, supported on a wooden pallet. At the top and bottom of this structure, there are holes distributed uniformly and aligned horizontally, totaling 20 ³He proportional detectors—10 at 4 atm at the top and 10 at 6 atm at the bottom.

However, I encountered unexpected behavior: in order for the responses of the simulated detectors to approximate the experimental behavior, I had to reduce the gas pressure by a factor of 2 in the material parameters. In other words, only when I divide the nominal pressure by 2 (for example, I set 2 atm instead of 4 atm) do the results come close to what was observed. I would like to understand why this factor of 2 is appearing.

My main questions are:

Could this be related to a problem in the material definition (gas density, composition, number of atoms per volume)?

Could it be related to an accidental duplication of the gas volume, or some error in the geometry (overlaps, overlapping solids, incorrect position)?

Could it be some detail of the pressure unit used (atmosphere, bar, pascal) or an incorrect density calculation?

Is there something in the G4Material definition, or in the way I am building the detector, that could be causing this systematic deviation?

Experimental context

The proportional ³He detectors used in the experiment were manufactured by Harshaw (USA) in 1975. The manufacturer only provides the length of the sensitive region (≈61 cm) filled with ³He. These detectors generally also use:

A noble gas (Ar or Kr) to reduce the wall effect and an extinguishing gas (CO₂, N₂, or CH₄, 1–5%) to improve the spectrometric response.

I’m considering a mixture of ³He (85%) + Ar (10%) + CO₂ (5%) based on references from articles. Only ³He further overestimates the data.

I know the detectors are 50 years old and it seems logical that there would be a loss of efficiency, but I would like to discuss the topic to see if perhaps a factor of 2 is occurring in the programming.

Configuration of the ²⁴¹Am-Be source

The source was positioned in three different locations, always at the same height (68 cm):

  1. Center of the detector, with normal incidence.

  2. Posterior region, 100 cm from the center of the system.

  3. Lateral region, at the same distance and height as the posterior region.

How do I define the material of the sensitive region:

// --- 1) Define the isotope and element He-3 ---

auto He3_iso = new G4Isotope(“He3”, /*Z=*/2, /*A=*/3, 3.016*g/mole);

auto He3_el = new G4Element(“Helium3”, “He3”, 1);

He3_el->AddIsotope(He3_iso, 100.*perCent); // 100% He-3



// --- 2) Ambient temperature ---

const G4double T = 293.15*kelvin; // ~20 °C

const G4double M = 3.0160293*g/mole; // molar mass of 3He



// Other elements/molecules ---

auto elAr = new G4Element(“Argon”, “Ar”, 18., 39.948*g/mole);

auto elC = new G4Element(“Carbon”, “C”, 6., 12.011*g/mole);

auto elO = new G4Element(“Oxygen”, “O”, 8., 16.00*g/mole);



// CO₂ as a molecule

auto CO2 = new G4Material(“CO2”, 1.977*mg/cm3, 2, kStateGas, T);

CO2->AddElement(elC, 1);

CO2->AddElement(elO, 2);



// --- 3) Create materials for 4 atm and 6 atm ---

const G4double P4 = 4.0*atmosphere;

const G4double P6 = 6.0*atmosphere;



const G4double R = k_Boltzmann * Avogadro; // gas constant in G4 units

const G4double rho4 = (P4 * M) / (R * T); // for 4 atm @ 293 K

const G4double rho6 = (P6 * M) / (R * T); // for 6 atm @ 293 K



auto helium3_4atm = new G4Material(“Helium3_4atm”, rho4, 3, kStateGas, T, P4);

//helium3_4atm->AddElement(He3_el, 1);

helium3_4atm->AddElement(He3_el, 85.*perCent);

helium3_4atm->AddElement(elAr, 10.*perCent);

helium3_4atm->AddMater

The physical model I am using is QGSP_BIC_HP.

I apologize for the long text, but this is a problem I have been facing for months. I’m also attaching the graphs with the pressure reduced by half for the three incidences and an image of the geometry from the viewer.

If you have any questions, I’m available.

If I had to guess, the first place I’d look would be double counting the pressure. If you set the density and tell G4 it’s a gas, I believe it assumes that density is at STP (i.e., what you get when go look it up). You can then set pressure and temperature, and G4 will adjust the “live” density accordingly. Alternatively, if your experiment is a fixed system (the pressure and temperature are well controlled) you could just work out the true density in your system by hand, and plug it in. But if you do both, there are likely to be issues.

I see. Could the structure I set up and presented in the message be causing a conflict?

It might be that both calculating the density and then providing a pressure and temperature might cause the double counting. This might work and there are very few points of failure:

auto gas = new G4Material("He3_4atm", 0., 3, kStateGas, T, P4);

gas->AddElement(He3_el, 85);     
gas->AddElement(elAr, 10);           

gas->AddElement(elC,  5 * 1);        
gas->AddElement(elO,  5 * 2);         

This construction borrowed from here. I believe 0. will autocalculate the density. You can check the value as being reasonable with gas→GetDensity().

In terms of your actual hardware it is entirely possible that He3 has leaked over 50 years since He tends to leak slowly out of any of its containers. The check would be to look at the raw pulses and see if the rise and decay time is what the manufacturer spec’d.

Did you : G4cout << helium3_4atm << G4endl ;

Is it conform to what you expect ?

I found the solution to my problem. It’s Physics List doesnt implement corrected.

I’m testing and seem that the lib QGSP_BIC_HP stay with better results of which QGSP_BERT_HPT and QGSP_BIC_HPT.

So, my implementation about material is correct and can be the pressure doesnt fall to half during 50 years.

Thank you all to discussion. The study is still ongoing, but it is on the right track.