More accurately simulate the neutron flux profile - #3653
Open
OceanNuclear wants to merge 177 commits into
Open
OceanNuclear wants to merge 177 commits into
OceanNuclear wants to merge 177 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3653 +/- ##
==========================================
+ Coverage 47.81% 50.19% +2.37%
==========================================
Files 143 154 +11
Lines 29993 31115 +1122
==========================================
+ Hits 14342 15618 +1276
+ Misses 15651 15497 -154 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
OceanNuclear
force-pushed
the
neutronics
branch
2 times, most recently
from
June 4, 2025 15:47
a7c3d81 to
56884d7
Compare
OceanNuclear
force-pushed
the
neutronics
branch
3 times, most recently
from
October 30, 2025 15:13
5ada3ea to
3336c23
Compare
OceanNuclear
force-pushed
the
neutronics
branch
from
November 21, 2025 17:06
76579e7 to
fa6d266
Compare
Contributor
Author
je-cook
self-requested a review
March 23, 2026 09:58
…ng the strength of the macroscopic (self and other) scattering matrix.
…(...)), instead of using complex number to cover both +ve and -ve sign in the sqrt.
…esmos). Next step is to write the program for solving multi-group fluxes.
…e basically one-line alias of _groupwise_cs_value/differential_in_layer. Hence they're deleted and replaced with the appropriate terms.
…ve 'basis_group'; fixed some typing of npt.NDArray[float] to npt.NDArray[np.float64], tidied one docstring.
… the upscattering being present.
…when there is upscatter.
…the scope of 'NeutronProfile.solve_group_n' to a persistent attribute inside MaterialInfo, and renamed 'conversion_factor'. Also created NeutronProfile.extended_boundary statically as an array, rather than using AutoPopulatingDict.
…ed as a static value, rather than a property. The warning for any collision in characteristic lengths between groups is ported to inside the data.py file as well. Used sigma_source in base.py.
OceanNuclear
force-pushed
the
neutronics
branch
from
September 23, 2026 16:42
39af710 to
49636a7
Compare
…ot of the complexity associated with the AutoPopulatingDict/LayerSpecificGroupwiseConstants classes. Amended tests as well.
…ntly and has less complexity.
…e code complexity, and increasing backwards compatibility as preserve_whitespace was not an argument before tabulate version 0.10.0.
…arbitrary dimensions of c_va/s_val, c_int/s_int, c_diff/s_diff.
…of the summations handled with less redundancy & more automatically.
…g the summation inside the same block.
… by turning fsum back to np.sum (which is also useful in preparation for the next commit).
…sholds scaled by the total neutron flux/local neutron flux and currents for flagging nonconvergence at the end of solve_group_n, since the current scheme causes a lot of unnecessary warnings being raised when the flux is large.
OceanNuclear
force-pushed
the
neutronics
branch
from
September 29, 2026 10:32
f1b21f3 to
d905312
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Calculates the neutron flux profile in the first wall and blanket, using an extremely simplified diffusion-based model of an infinite slab sandwich.
Reason for choosing this model
It's better than not having a neutronics model.
It's also very simplified, so it can be calculated on the fly, without installing any deterministic neutron transport codes as dependency.
Checklist
I confirm that I have completed the following checks: