Skip to content

Particle loss across virtual surface crossings in complex regions #4140

Description

@yrrepy

Bug Description

PR #3934, breaks transport with weight windows for my geometry.

The following MRE reproduces the issue
model.xml

The following errors arise:
WARNING: Could not find the cell containing particle

Steps to Reproduce

Broken

OpenMC versions ≥ https://github.com/openmc-dev/openmc/tree/03b036aa6c7231bdcf22c15de88b5e4cd3f58690

         Version | 0.16.1-dev43
     Commit Hash | c66d748caa0e55d128665c06a2c35946074ce4fe
       Date/Time | 2026-09-17 15:24:49
   MPI Processes | 1
  OpenMP Threads | 384

 Reading model XML file 'model.xml' ...
 Reading cross sections XML file...
 Minimum neutron data temperature: 1.7976931348623157e+308 K
 Maximum neutron data temperature: 0 K
 Preparing distributed cell instances...
 Writing summary.h5 file...

 ===============>     FIXED SOURCE TRANSPORT SIMULATION     <===============

 Simulating batch 1
  Primary source          particles: 1
  Secondary generation 1     tracks: 11
 WARNING:  WARNING: Could not find the cell containing particle 6
 WARNING: Could not find the cell containing particle 9
 WARNING: Could not find the cell containing particle 7
 WARNING: Could not find the cell containing particle 10
 WARNING: Could not find the cell containing particle 8
 WARNING: Could not find the cell containing particle 4
 WARNING: Could not find the cell containing particle 3
Could not find the cell containing particle 2
 WARNING: Could not find the cell containing particle 5
  Secondary generation 2     tracks: 0
 Creating state point statepoint.1.h5...

 =======================>     TIMING STATISTICS     <=======================

 Total time for initialization     = 9.4524e-02 seconds
   Reading cross sections          = 2.5890e-05 seconds
 Total time in simulation          = 2.2136e-02 seconds
   Time in transport only          = 2.0826e-02 seconds
   Time in active batches          = 2.2136e-02 seconds
   Time accumulating tallies       = 1.7500e-06 seconds
   Time writing statepoints        = 1.2722e-03 seconds
 Total time for finalization       = 2.5260e-05 seconds
 Total time elapsed                = 1.1673e-01 seconds
 Calculation Rate (active)         = 45.1749 particles/second
 Track Rate (active)               = 542.098 tracks/second

 ============================>     RESULTS     <============================

 WARNING: Could not compute uncertainties -- only one active batch simulated!
 Leakage Fraction           = 0.10000

Working

OpenMC versions < https://github.com/openmc-dev/openmc/tree/03b036aa6c7231bdcf22c15de88b5e4cd3f58690

         Version | 0.15.4-dev213
     Commit Hash | 852f92780c9c82dae7f5fbcfff91165510719f90
       Date/Time | 2026-09-17 15:25:06
   MPI Processes | 1
  OpenMP Threads | 384

 Reading model XML file 'model.xml' ...
 Reading cross sections XML file...
 Minimum neutron data temperature: 1.7976931348623157e+308 K
 Maximum neutron data temperature: 0 K
 Preparing distributed cell instances...
 Writing summary.h5 file...

 ===============>     FIXED SOURCE TRANSPORT SIMULATION     <===============

 Simulating batch 1
  Primary source          particles: 1
  Secondary generation 1     tracks: 9
  Secondary generation 2     tracks: 0
 Creating state point statepoint.1.h5...

 =======================>     TIMING STATISTICS     <=======================

 Total time for initialization     = 9.6270e-02 seconds
   Reading cross sections          = 2.3870e-05 seconds
 Total time in simulation          = 2.2712e-03 seconds
   Time in transport only          = 7.3406e-04 seconds
   Time in active batches          = 2.2712e-03 seconds
   Time accumulating tallies       = 1.3700e-06 seconds
   Time writing statepoints        = 1.4963e-03 seconds
 Total time for finalization       = 1.3437e-03 seconds
 Total time elapsed                = 1.0003e-01 seconds
 Calculation Rate (active)         = 440.289 particles/second
 Track Rate (active)               = 4402.89 tracks/second

 ============================>     RESULTS     <============================

 WARNING: Could not compute uncertainties -- only one active batch simulated!
 Leakage Fraction           = 1.00000

turning off surface checkpoints also resolves the problem (though is not a resolution of it)

    <weight_window_checkpoints>
      <collision>true</collision>
      <surface>false</surface>
    </weight_window_checkpoints>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions