Skip to content

Delta tracking#329

Open
jpmorgan98 wants to merge 20 commits intoCEMeNT-PSAAP:devfrom
jpmorgan98:delta_tracking
Open

Delta tracking#329
jpmorgan98 wants to merge 20 commits intoCEMeNT-PSAAP:devfrom
jpmorgan98:delta_tracking

Conversation

@jpmorgan98
Copy link
Copy Markdown
Member

@jpmorgan98 jpmorgan98 commented Apr 24, 2025

Adding a bunch of new tracking features to explore various kinds of hybrid delta tracking schemes. Most of the meat and potatoes is in main.prepare where the majorant is computed and kernel.move_to_event where delta tracking actually happens.

Note that I am adding a bool to each particle to keep track of weather or not it is undergoing delta tracking. This feels like kinda a big deal

New Features

  • A collision estimator
  • Functions to compute both the macroscopic and microscopic majorants
  • Ability to plot the majorant
  • Rejection sampling
  • Visualizer improvements with the ability to save time outputs as .gifs and print legends
  • Hybrid methods including an energy cut off and material exculsion
  • Adding documentation functionality to use

Some Todos

  • Make delta tracking on/off logic in kernel.move_to_event a little more streamlined
  • Make a separate compute_majorant functionality to plot the majorant without having to run the simulation
  • Giving materials input-able names so they can be easier to plot and identify
  • Allowing multiple material regions to be excluded (right now it's only 1)

Verification

Passing verification sueit, also producing the correct results with C5G7, C5CE, Kobyashi, and Dragon all of which see speedups when delta tracking is enabled. Or hybrid delta tracking.

New dependency

I am adding a new dependency so that the visualizer can make the movie. Its based on matplotlib and is pretty light weight.

Limitations

This delta tracking does not support fission tallies so also is not supported in k-eigenvalue computations

@jpmorgan98 jpmorgan98 marked this pull request as ready for review April 25, 2025 20:05
@clemekay clemekay added CEMeNT - final stretch Items that are specifically listed in our plans through the end of CEMeNT dissertation This work is part of the dissertation/thesis work of a CEMeNT/CARRE member labels May 8, 2025
@clemekay clemekay linked an issue May 8, 2025 that may be closed by this pull request
@jpmorgan98 jpmorgan98 closed this Jun 30, 2025
@jpmorgan98 jpmorgan98 reopened this Jun 30, 2025
@ilhamv
Copy link
Copy Markdown
Member

ilhamv commented Jul 26, 2025

Thanks, @jpmorgan98. Note that in k-eigenvalue, we can use the collision estimator to get the estimate of the next iterate of k.

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

Labels

CEMeNT - final stretch Items that are specifically listed in our plans through the end of CEMeNT dissertation This work is part of the dissertation/thesis work of a CEMeNT/CARRE member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hybrid Delta Tracking

3 participants