More accurately simulate the neutron flux profile#3653
Draft
OceanNuclear wants to merge 102 commits intomainfrom
Draft
More accurately simulate the neutron flux profile#3653OceanNuclear wants to merge 102 commits intomainfrom
OceanNuclear wants to merge 102 commits intomainfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3653 +/- ##
==========================================
- Coverage 45.98% 45.65% -0.34%
==========================================
Files 123 125 +2
Lines 28550 29198 +648
==========================================
+ Hits 13129 13329 +200
- Misses 15421 15869 +448 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
a7c3d81 to
56884d7
Compare
…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.
77503de to
93c5e9c
Compare
…ed classes and functions are now in neutronics_data.
…have to import openmc.
…for ease of maintenace; added tests.
6585fda to
5ada3ea
Compare
…nded_boundary, to be self-populating dictionaries (populated by solve_group_n).
…r both flux and current, but not for heating yet.
…its from eV to Joule
…so they're still valid under the new units (J, instead of eV)
…iscontinuity present are all justified (i.e. have physical meaning). This in turn updated the behaviour of some methods, and notably two new methods are added to calculate the heating in a per-layer fashion. Docstring updates as well.
… exist without first re-writing solve_lowest_group
…p while keeping _calculate_mean_energy_and_incident_bin as a staticmethod.
Contributor
Author
…each NeutronFluxProfile.coefficient[:, n] will contain self.n_groups coefficients rather than n coefficients.
…'s coefficients (i.e. coefficients used to cancel the flux shapes contributed by other groups).
… coefficient length = total number of groups rather than the current group number.
…the programmer won't have to write them out explicitly every time.
…us layer can be written as an affine transformation in linear algebra (y = Ax+b). The method _get_propagation_matrix_and_offset_vec returns A and b. num_coef_pairs is no longer needed so is deleted.
… is recorded as a vector of Kronecka delta(n,g) * flux, where g is the group index matching the incident neutron energy.
…thand to some summations (see _summation_shorthand) for ease of maintenance.
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: