IAP GITLAB

Skip to content

add margin for timeOfIntersection in ObservationPlane.inl

Closes #572

When using transparent observation planes, particles can still get stuck within the observation planes. I can reliably reproduce this, for example, by simulating a 1 TeV electron-induced shower with a 0.5 MeV cut, setting a transparent observation plane at 8.6km.

Propagation will get stuck at the step

[corsika:info    (Cascade.inl:193)] transport particle by : 2.265925107948963e-09 m Medium transition after: 11213.166070608337 m Decay after: inf m Interaction after: 72529.29046203625 m Continuous limit: 2.265925107948963e-09 m

which is just above the observation plane. Propagation will eventually continue after a long time, which is probably when we have an interaction after a distance which is smaller than the given continuous limit.

This problem was originally solved with MR !450 (merged). However, the solution there assumed that tracking is numerically perfect. In the case here, I use magnetic fields and particles with very low energies. When the observation plane is marked as the limiting process, tracking doesn't set the particle exactly on the observation plane, but barely above it. Since the particle is not deleted, the observation plane is again the limiting process. However, the small remaining distance (here around a nanometer) is apparently not treated correctly by the tracking, which means that the particle is not moved at all and gets stuck.

My proposed solution is to allow a very small margin around the observation plane for which we assume that we already are inside the observation plane, and don't need to take the particle into account.

Because the stuck particles had a timeOfIntersection in the order of magnitude of ~1e-18s (going down to 1e-16s in some cases), I decided to go with 1e-15s for now. Do we have any kind of "numerical precision" within CORSIKA 8 which we might use as a well-motivated margin instead?

Merge request reports