Skip to content
New issue

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

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

Already on GitHub? # to your account

Conditional / dependent source distributions #3203

Open
paulromano opened this issue Nov 22, 2024 · 1 comment
Open

Conditional / dependent source distributions #3203

paulromano opened this issue Nov 22, 2024 · 1 comment

Comments

@paulromano
Copy link
Contributor

Description

I've had a few recent discussions about the desire to have a conditional or dependent source distribution where, e.g., the angular distribution could depend on the outcome of sampling the energy distribution. This is an option in MCNP via the DS card. I'm not sure what the interface would look like but thought I'd create this as a placeholder issue for further discussion.

Alternatives

You can kind of brute force this by creating a bunch of individual IndependentSource objects that collectively behave similar to a dependent source distribution. You can also, of course, write a CompiledSource to achieve this, but that doesn't really give a general user any ability.

@egor1abs
Copy link
Contributor

egor1abs commented Dec 3, 2024

As far as I understand, in MCNP we have the following form of DS card (in this case DS Q) for the vertical neutron emission probability:

DS1  Q    
           0.0 10              $ coordinate and number of distribution
           1.0 11 
           2.0 12 
           3.0 13  
SP10 D 0
           0.0 1.0 2.0 3.0     $ coordinates
SI10 H 
             1.0 0.0 0.0       $ probabilities
 
SP11 D 0
           0.0 1.0 2.0 3.0
SI11 H 
             0.0 0.9 0.4 
.......

Thus, we get a dependent set of histogram distributions.
In addition, we should define a distribution for the radial neutron emission probability, which can be either a regular histogram (as a standard) or the same dependent distribution.

Perhaps, in this case, we can create the openmc.stats.Dependent object for OpenMC, for which such complex distributions will be the arguments. Or create a completely separate version of the IndependentSource with such a distribution.

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

No branches or pull requests

2 participants