Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option for survival biasing source normalization #3070

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

yrrepy
Copy link
Contributor

@yrrepy yrrepy commented Jul 4, 2024

See #2673 for history.
Re-pull-requesting here as the code is re-synced with the latest dev branch.
@eepeterson

I believe most things from the original PR are addressed, though I have left the ability to switch it off (and thus a setting for).

@yrrepy yrrepy requested a review from nelsonag as a code owner July 4, 2024 06:02
@yrrepy yrrepy mentioned this pull request Jul 4, 2024
5 tasks
@paulromano paulromano changed the title Survival Normalization 0.15.1 Add option for survival biasing source normalization Feb 28, 2025
@pshriwise pshriwise force-pushed the Survival-Normalization-PR_0.15.1 branch from 037573d to a1de119 Compare February 28, 2025 19:54
Copy link
Contributor

@paulromano paulromano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @yrrepy and sorry this one has lingered for a long time. I made a few updates here as did @pshriwise. Note that I changed the attribute wgt0 to wgt_born to be consistent with other terminology in the code where we're referring to an attribute at the time a source particle was born.

I'm good with this now but would like to get approval from @pshriwise and @eepeterson too.

:survival_normalization:
If this element is set to "true", this will enable the use of survival
biasing source normalization, whereby the weight parameters, weight and
weight_avg, are multiplied per history by the start weight of said history.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the current implementation, if we stick with it we probably want to update this language from "history" to "particle".

@pshriwise
Copy link
Contributor

pshriwise commented Mar 1, 2025

FWIW I worked with this a little bit today using a test model that was a 10cmx10cmx10cm tungsten block (artificially high density) with a planar neutron source on the lower x/y plane, mono-directional in (0, 0, 1), and monoenergetic (14.1 MeV).

I applied a weight window generator (using MAGIC) on a 100 x 100 x 100 mesh and here's what I saw:

Analog (No ww) Survival Biasing On
analog wws_survival_on
Survival Biasing Off Survival Biasing Normalization
wws_survival_off wws_survival_normalization

Note that this is with the Particle::weight_born attribute set in the Particle::from_source method. Otherwise I saw no effect. A material with more absorption would probably be a better test case, I can look into that as well if needed. But it at least seems that this method allows for implicit capture with weight windows applied without negating the weight windows severely.

It would be good to test this for source weights as well as you said @yrrepy. Some sources of varying strengths with uniform_source_sampling turned on might be interesting to look at as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants