Problem 2569 - Density effect calculation treats insulators as conductors
Summary: Density effect calculation treats insulators as conductors
Status: ASSIGNED
Alias: None
Product: Geant4
Classification: Unclassified
Component: materials (show other problems)
Version: other
Hardware: All All
: P4 normal
Assignee: Vladimir.Ivantchenko
URL:
Depends on:
Blocks:
 
Reported: 2023-10-23 20:21 CEST by Andrew Sutton
Modified: 2024-01-30 13:19 CET (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Andrew Sutton 2023-10-23 20:21:14 CEST
Since its implementation in G4.10.6.0, the density effect calculation treats many materials as conductors. It identifies conductors as any material with a free electron density greater than 0. 

ie. line 74 of G4DensityEffectCalculator.cc has: 
G4bool conductor = (fMaterial->GetFreeElectronDensity() > 0.0);

The free electron density is determined in G4Material::ComputeDerivedQuantities. Using this method does not work as expected from a user's viewpoint. For instance, PVC (defined in my model as a material containing 4.45% hydrogen, 34.49% carbon, 7.55% oxygen, 0.26% sulfur, 44.01% chlorine, 8.83% titanium, 0.33% tin, 0.07% calcium, and 0.01% sodium) is considered as a conductor since it's free electron density comes out to be 1.62921e+20. 

It is undesirable for such a material to be treated as a conductor and doing so can cause the muon dE/dx to be underestimated by ~1.5% in the energy range of 10 MeV to 50 GeV (depending on the material and energy of course).

Currently, users that opt for the more complete density effect calculation can override the free electron density using G4Material::SetFreeElectronDensity(0.); however, they must be aware of this issue in order to do so. Ideally, there would be an alternative calculation for composite materials or some other method of identifying conductors, though I don't have any concrete suggestions.
Comment 1 Vladimir.Ivantchenko 2023-10-25 18:33:57 CEST
Hello Andrew,

your comment is valid and to me it is also not obvious how to define if a material has conductivity or not.

The key question is what is the best default? Should by default a material be a conductor?

For the coming Geant4 release I would not make any interface change, instead will try to extend comments to the class and documentation.

Vladimir
Comment 2 Vladimir.Ivantchenko 2024-01-30 13:19:05 CET
Hello Andrew,

we cannot know in advance is a given material conductor or not. There are two questions:

1) What G4Material constructor should use as a default?
2) How well interface to user is described, where we should extend description?

For 1) we may improve NIST material description, at least, for NIST materials the answer is known. For the user custom material, the electron density should be added by a user.

For 2) we need suggesting where to extend the description.

Vladimir