Skip to content

Low energy secondary electron (<0.1 keV) below cutoff causes recoverable propagation error in float build #2031

@Rashika-Gupta

Description

@Rashika-Gupta

When running the OpNoviceOptical test with the float precision preset, several threads report errors involving sub-keV electrons.
The affected electrons appear to be generated below the transport cutoff and are terminated by the range-limiting action and can be reproduced.
Problem Setup :

Test: OpNoviceOptical.run
Executable: ./test/accel/TrackingManagerIntegration
Build : "float"

Error Log

G4WT3 > [4/12] error@/src/celeritas/alongstep/detail/PropagationApplier.hh:128: Propagation of step length 2.958926e-07f due to post-step action 2 leading to distance 2.958926e-07f failed to change position
G4WT3 > [4/12] error@/src/celeritas/phys/detail/TrackingCutExecutor.hh:69: Killing track {"geo":{"dir":[-0.2886227071285248,0.10393267869949341,0.951785147190094],"is_on_boundary":false,"is_outside":false,"pos":[[-7.145407199859619,-2.680811643600464,11.540878295898438],"cm"],"volume_id":"Tank"},"mat":"Water","particle":{"energy":[0.0002312585711479187,"MeV"],"particle_id":"e-"},"sim":{"event_id":0,"num_steps":0,"parent_id":36,"post_step_action":"tracking-cut","status":"errored","step_length":[2.9589264727292175e-07,"cm"],"time":[8.013262275952115e-10,"s"],"track_id":162},"thread_id":987,"track_slot_id":987}: lost 0.000231259 MeV
G4WT3 > [4/12] error@/src/celeritas/alongstep/detail/PropagationApplier.hh:128: Propagation of step length 1.749331e-07f due to post-step action 2 leading to distance 1.749331e-07f failed to change position
G4WT3 > [4/12] error@/src/celeritas/alongstep/detail/PropagationApplier.hh:128: Propagation of step length 4.414289e-07f due to post-step action 2 leading to distance 4.414289e-07f failed to change position

The post-step action 2 corresponds to limit range due to energy loss with lowest_energy set to 1 keV
The action label list from output.json looks like :

{
    "internal": {
        "actions": {
            "description": [
                "update beginning-of-step state",
                "limit range due to multiple scattering",
                "limit range due to energy loss",
                "select a discrete interaction",
                "reject by integral cross section",
                "interact by Moller+Bhabha ionization",
                "interact by Seltzer-Berger bremsstrahlung",
                "interact by relativistic bremsstrahlung",
                "interact by Livermore photoelectric effect",
                "interact by Compton scattering (simple Klein-Nishina)",
                "interact by Bethe-Heitler gamma conversion",
                "interact by Rayleigh scattering",
                "interact by positron annihilation yielding two gammas",
                "mark a track that failed to sample an interaction",
                "apply along-step for particles with no field",
                "create track initializers from primaries",
                "initialize track states",
                "apply along-step for neutral particles",
                "pause due to propagation misbehavior",
                "cross a geometry boundary",
                "kill a track and deposit its energy",
                "create track initializers from secondaries",
                "launch the optical stepping loop",
                "gather pre-step data to generate optical distributions",
                "generate Cherenkov optical distribution data",
                "generate scintillation optical distribution data"
            ],

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingphysicsParticles, processes, and stepping algorithms

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions