celeritas
celeritas copied to clipboard
Refine MSC/along-step implementation
- [x] Vecgeom crashes on GPU and produces different results from ORANGE (on host) in the stepper test
- [x]
is_displaced,geo_limited,action_resultare not orthogonal choices - [x] range is recalculated a couple of different time; and there's a
minwhich is necessary only if the range recalculation changes or running some kind of test 454, 429, 398: fixed by #467 - [x] (after #457) move urban MSC out of core physics, after refactoring energy loss and data in #253
- [x] Move fixed-energy cutoff (#454) for charged particles into CutoffParams and apply to produced secondaries, and possibly after slowing down tracks?
- [ ] Skip zero-step check if we're applying discrete interactions (https://github.com/celeritas-project/celeritas/pull/457#discussion_r924802148)
- [ ] Revisit whether to use an average speed and physics/geometry step length (https://github.com/celeritas-project/celeritas/pull/457#discussion_r924827863)
- [x] Understand/address failing assertions:
- [x]
/home/alund/celeritas_project/celeritas/src/celeritas/global/alongstep/AlongStep.hh:120: celeritas: internal assertion failed: mfp > 0(positron with a boundary action and zero mfp) (#642) - [x]
SBEnergyDistribution.hh:168: celeritas: internal assertion failed: xs >= 0 && xs <= 1 / inv_max_xs_(on NVIDIA GeForce RTX 3090, sampled gamma energies in brems from incident positrons are below the production cut)
- [x]
- [x] Generalize geo↔︎phys length conversion
- [ ] Change step limiter to be a separate pre-step kernel
- [ ] Use physics helper functions for range/eloss instead of re-implementing in MSC helper
- [ ] Allocate temporary "MSC" step view with range cache, msc interaction result, geometry step length, ...
- [ ] Factor out the true/geom path length conversion
See #615