Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support nonuniform energy grid present in Geant4 11.1 #588

Closed
sethrj opened this issue Jan 4, 2023 · 2 comments · Fixed by #768
Closed

Support nonuniform energy grid present in Geant4 11.1 #588

sethrj opened this issue Jan 4, 2023 · 2 comments · Fixed by #768
Labels
bug Something isn't working external Dependencies and framework-oriented features physics Particles, processes, and stepping algorithms
Milestone

Comments

@sethrj
Copy link
Member

sethrj commented Jan 4, 2023

In geant4@10.7:11.0, EM cross sections are stored on two separate physics tables that share the same log-energy spacing, but the second table stores $E_i \sigma_i$ rather than $\sigma_i$. Unfortunately geant4@11.1 adjusts the lower energy grid (I think based on the energy cutoffs), so that the grid spacing is no longer the same for the two tables. Our assertion does catch this in debug mode:

/home/s3j/.local/src/celeritas/app/demo-loop/demo-loop.cc:244: critical: While running input at <stdin>: /home/s3j/.local/src/celeritas/src/celeritas/grid/ValueGridBuilder.cc:111:
celeritas: precondition failed: has_same_log_spacing(lambda_energy, lambda_prim_energy)

We will have to either change the xs grid to support two different spacings (which should probably be rolled into the refactor from #253) or completely recalculate the cross sections ourselves (which is what G4HepEm does).

@sethrj sethrj added bug Something isn't working physics Particles, processes, and stepping algorithms interface labels Jan 4, 2023
@sethrj sethrj added this to the v0.3.0 milestone Jan 24, 2023
@sethrj sethrj added the external Dependencies and framework-oriented features label Feb 18, 2023
@sethrj sethrj modified the milestones: v0.3.0, v1.0.0 Mar 29, 2023
@sethrj
Copy link
Member Author

sethrj commented May 22, 2023

This is due to Geant4 change set phys-ctor-em-V11-00-26: fixed gamma general at low energy (V Ivanchenko):

2022-07-06 V. Ivanchenko (emlowen-V11-00-08)

  • G4Rayleigh scattering moved boundary between low and high energy
    table from 100 keV to 150 keV to be coherent with G4GammaGeneralProcess

And G4GammaGeneralProcess has a "low photoelectric" boundary of 150 keV.

Here are the cross sections compared from Geant4@11.0 and @11.1:
nonuniform-xs

So we should be able to work around this at least by turning off Rayleigh scattering?

@sethrj
Copy link
Member Author

sethrj commented May 22, 2023

Honestly I'm surprised this is using a uniform log energy grid at all; that bump that looks like a possible resonance is indeed a resonance:
nonuniform-xs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working external Dependencies and framework-oriented features physics Particles, processes, and stepping algorithms
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant