US DOE Nuclear Criticality Safety Program Physics ...
Transcript of US DOE Nuclear Criticality Safety Program Physics ...
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 1
Forrest B. Brown
Senior R&D Scientist, Monte Carlo Codes, LANLNational Laboratory Professor, UNM-NE
Physics Improvements forCriticality Calculationswith MCNP6.3
US DOENuclear Criticality Safety Program
-Technical Program
Review-
2021-02-23-
LA-UR-21-21189
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 2
Physics Improvements for Criticality Calculations with MCNP6.3
–S(!,") Fix for Fissionable Nuclides
–MT0 Card for S(!,") Stochastic Mixing
–Doppler Broadening Resonance Correction (DBRC)
–Generation of Multigroup Cross-sections
–Guidance on Using ENDF/B-VIII with MCNP
– Fission-matrix Acceleration & Convergence Testing
–Summary & Conclusions
Work supported by US DOE Nuclear Criticality Safety Program
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 3
S(!,") Fix ForFissionable Nuclides
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 4
S(!,") Fix for Fissionable Nuclides
• Thermal Scattering Laws - S(!,") method 1970: Bischoff thesis S(!,") scattering in MC
1979-2010: mcnp2…mcnp5 with discrete angles/energies
2013-2019: mcnp6.1, 6.2 with continuous angles/energies
– Coding for S(!,") sampling developed by Bob MacFarlane(all-time-great nuclear data guru, creator of NJOY)
• Originally targeted at light nuclides: H in H2O, D in D2O, Be, C, …
• Did not account for thermal fission, just for capture & scatter
• A few rough edges for numerics, fixes by Forrest Brown
– Fix to account for thermal fission – 2020, mcnp6.3, Forrest Brown
• S(!,") thermal scatter
– Never used for fissionable nuclides, until ENDF/B-VII & -VIII
• ENDF/B-VII.0: u/o2 applied only to U-238
• ENDF/B-VII.1: u-o2 applied only to U-232, -233, -234
• ENDF/B-VIII.0: u-uo2 applied only to: U-238, -235, -234u-un applied only to: U-238, -235, -234
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 5
S(!,") Fix for Fissionable Nuclides
Example: LCT-078, Gary Harms, SNL, ENDF/B-VIII.0
mcnp6.2 mcnp6.325 M neutrons 200 M neutrons
Withoutu-uo2.40t k= 0.9972 ± 0.0002 k= 0.9970 ± 0.0001 o-uo2.40t
Withu-uo2.40t k= 3.4499± 0.0007 k= 0.9972 ± 0.0001 o-uo2.40t
• Conclusion– For any version of mcnp prior to mcnp6.3:• Do not use ENDF/B-VIII.0 u-uo2 + o-uo2 • Do not use ENDF/B-VIII.0 u-un + n-un
– OK with mcnp6.3 - FIXEDGary ran mcnp6 calcs without S(a,b) for UO2 with endf-7.1
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 6
MT0 Card for S(!,") Stochastic Mixing
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 7
Stochastic Mixing of Nuclear Data
• Recently, much interest in temperature effects on criticality calculations
– Material temperatures often require !’s at temperatures not available in standard nuclear data libraries included with the MC codes• Doppler broadening for nuclear data• TSL changes for S(",#) data
– For reactors, where many 1000s of temperatures needed• Large effort, use NJOY to generate many nuclear data sets (5-10º spacing)• Or, use on-the-fly methods (OTF) in MC: OTF-DB, OTF-SAB• Or, use stochastic mixing
– For NCS, where only a few temperatures are needed• Moderate effort, use NJOY to generate nuclear data at each temperature• Or, use stochastic mixing – small effort, accurate enough
• What is stochastic mixing?
– Mix together a cold dataset & a hot dataset in each material
– Choose the fractions of hot & cold so that the average temperature matches the desired material temperature
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 8
Stochastic Mixing of Nuclear Data
Nuclear Data:
! " # = %− ' ! " #% + '! " #)! "(#) = !%" #% + !)" #)
• This is mixing, NOT interpolation.
• At collision, Select"(T1) with probability (1-f),"(T2) with probability f
• One or the other, no in-between.
TSL Data:
• Previously, could not mix TSLs at different T’s in one material
• New MT0 card in mcnp6.3 permitsstochastic mixing of S(,,-) data ' = #.#%
#).#%,1 ≤ ' ≤ %
• Use nuclides at both T1 & T2
in the material
• Split number density N intoN1 = (1-f) N, N2 = f N
NucData
TSLData
T1
NucData
TSLData
T2T
Material at temperature T
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 9
Stochastic Mixing of Nuclear Data
UO2 at T=293.6 K (cold)M1 92235.00c 0.03
92238.00c 0.978016.00c 2.00
MT1 u-uo2.40t o-uo2.40t
UO2 at T=600 K (hot)M2 92235.01c 0.03
92238.01c 0.978016.01c 2.00
MT2 u-uo2.43t o-uo2.43t
! = #$$ − &'#. ))** − &'#. ) = *. &**
• Combine M1 & M2– Multiply N’s in M1 by .8– Multiply N’s in M2 by .2
• Use MT0 to explicitly assign S(+,,) data to nuclides
UO2 at T=355 KMT0 u-uo2.40t 92235.00c
u-uo2.40t 92238.00co-uo2.40t 8016.00cu-uo2.43t 92235.01cu-uo2.43t 92238.01co-uo2.43t 8016.01c
M3 92235.00c 0.02492238.00c 0.7768016.00c 1.60
92235.01c 0.00692238.01c 0.1948016.01c 0.40
MT3 u-uo2.40t o-uo2.40tu-uo2.43t o-uo2.43t
Example – UO2, 3 ⁄. / enrich, at 355 K
Newin
mcnp6.3
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 10
Doppler BroadeningResonance Correction
(DBRC)
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 11
Doppler broadening resonance correction – DBRC
• Physics– Free-gas scattering model is
used for temperature effects on scattering at epithermal energies (moving target nucleus)
– Traditional free-gas scattering model assumes !S is constant
– For U-238, there are huge scattering resonances at eV energies
• Resonance scattering increases upscattering for free-gas model– Leads to increased capture in
nearby resonances– Lower keff by 10-100 pcm at 300K– Larger ∆keff at higher temperatures
• Becker (2009) proposed the DBRC correction to the free-gas treatment– Modify free-gas PDFs by #$(&'(), +°-)
#$,/01(&23, +°-)
1-H-1
92-U-238
!S 0.1 – 250 eVstandardfree-gasmodel
free-gasmodel with
DBRC
Exit energy for 6.52 eV neutronFree-gas scatter with 92-U-238
At 1200 K
6.52 eV
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 12
DBRC in MCNP6.3
• dbrc_make_lib– Utility program to collect all 0o K scattering data in single files
• DBRC_endf71.txt 424 isos, suffix .85c• DBRC_endf80.txt 556 isos, suffix .05c• These files stored in MCNP_DATA
• Mcnp6.3
– New card: DBRC endf= nn emax= 210e-6 isos= 92238 …
endf= 71 or 80, for endf/b-7.1 or endf/b-8.0 DBRC data
emax= max energy for DBRC treatment, default 210 eVisos= list of isotopes for DBRC, all if absent
– DBRC used only if DBRC-card is present
– DBRC increases run times by 1-5 %
– Default is no DBRC• Maintains traditional MCNP results, for V&V purposes• Keff results are conservative, DBRC would lower keff
• At room temperature, DBRC would lower keff by 0.0010 – 0.0020• At higher temperatures, ∆keff would be larger (more negative)
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 13
DBRC – Impact
• Mosteller FTC benchmark
– LWR UO2 pin cell, enrichment 0.71 – 5 wt%• HZP - Hot Zero Power, TC=TM=600K, TF=600K• HFP – Hot Full Power, TC=TM=600K, TF=900K
– Calculate FTC, Fuel Temperature Coefficient
!"# = %&!' − %&)'∆" + ,-. = ,
/&)'− ,/&!'
+ ,-.
∆" 012
mcnp6.3 – no DBRCmcnp6.3 – using DBRC
FTC is ~10% more negative with DBRC
●
●●
●
●●
●
●
●●
● ●
●●
∆keff due to DBRC
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 14
Generation ofMultigroup Cross-Sections
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 15
Generation of Multigroup Cross-sections
• For some applications in reactor physics, Monte Carlo is used to generate multigroup cross-sections
– Ordinary Monte Carlo pathlength tallies could always be used to generate flux-weighted few-group cross-sections
• Typically, !T, !A, !S, "!F for a few groups, by material or isotope• Spatial & energy self-shielding are fully accounted for• For a fuel unit cell or assembly
– New: Monte Carlo tallies for group-to-group scattering
• Matrix tallies of scatter from [group I] ➜ [group J]• Also, matrices of Legendre moments to account for angular variation
• This feature would be used only rarely for NCS
– Possibly for generating MG cross-sections to use in a deterministic code for multiphysics analysis of accident excursions
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 16
Guidance onUsing ENDF/B-VIII
With MCNP
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 17
Guidance on Using ENDF/B-VIII.0 with MCNP
• ENDF/B-VIII.0 Nuclear Data– Website: nucleardata.lanl.gov– Cross-sections: Lib80x (2018)– TSLs: ENDF80SaB (2018) – don’t use
ENDF80SaB2 (2020)
• Guidance – on MCNP websitemcnp.lanl.gov à Reference Collection à Nuclear Data & Physics
– F.B. Brown, M.E. Rising, “Guide for Using ENDF/B-VIII.0 Nuclear Data with MCNP”, LA-UR-20-30460 (2020)
Appendix A: Obtaining and installing ACE files for ENDF/B-VIII.0
Appendix B: XSDIR files that include ENDF/B-VIII.0 data
Appendix C: ACE files for neutron cross-sections (.nnC files). Listing of available temperatures & ZA numbers.
Appendix D: ACE files for S(a,b) scattering (.nnT files). Listing of available temperatures & names.
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 18
Lib80x & ENDF80SaB2 Data
h-h2o hydrogen in light water
h-ice hydrogen in solid light water (ice)o-ice oxygen in solid light water (ice)
h-luci hydrogen in Lucite
h-poly hydrogen in polyethylene
h-zrh hydrogen in zirconium-hydridezr-zrh zirconium in zirconium-hydride
d-d2o deuterium in heavy watero-d2o oxygen in heavy water
be-beo beryllium in beryllium-oxideo-beo oxygen in beryllium-oxide
be-met beryllium metal
grph10 10% porous graphitegrph30 30% porous graphitegrph crystalline graphite
h-yh2 hydrogen in yttrium-hydridey-yh2 yttrium in yttrium-hydridesi-sic silicon in silicon-carbidec-sic carbon in silicon carbide
benz benzene
n-un nitrogen in uranium-nitrideu-un uranium in uranium-nitride
o-uo2 oxygen in uranium-dioxideu-uo2 uranium in uranium-dioxide
sio2 silicon-dioxide
al-27 aluminum-27 metalfe-56 iron-56 metallmeth hydrogen in liquid methanesmeth hydrogen in solid methaneparaD liquid para-deuteriumparaH liquid para-hydrogenorthoD liquid ortho-deuteriumorthoH liquid ortho-hydrogen
• Cross-section data for endfb-8– 556 isotopes, 3893 ACE files – see Guidance doc for list– No elements – use 6012+6013, not 6000– Extensions: 293.6 K .00c 1200 K .03c 0.1 K .05c
600 K .01c 2500 K .04c 250 K .06c900 K .02c
• S(a,b) names for endfb-8 are different from endfb-7 – 33 materials, 253 ACE files – see Guidance doc for temperatures
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 19
ENDF/B-VIII & MCNP - Comments
• ENDF/B-VIII.0 – Lib80x + ENDF80SaB2
• Many improvements over ENDF/B-VII.1
• A few issues, below
• ENDF80SaB – original ACE S(a,b) data, 2018
• Had errors, do not use
• If you previously installed this, trash it
• ENDF80SaB2 – revised ACE S(a,b) data, 2020
– For any version of mcnp prior to mcnp6.3:
• Do not use: u-uo2 + o-uo2, u-un + n-un
– MCNP5 & MCNPX use older S(a,b) data with discrete angle/energy (endf-7.0)
• Do not use: Endf-7.1 & endf-8.0 continuous angle/energy treatment
• Lib80x – upper energy cutoff for Doppler broadening
• Prior to endf/b-8, the lowest energy for any threshold reaction was used as an upper-limit
for Doppler broadening of the cross-sections.
• With endf/b-8, there is no upper cutoff energy for Doppler broadening
• This is not an issue, just different
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 20
Fission-matrix Acceleration& Convergence Testing
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 21
Automated Acceleration & Convergence for Keff Calculations
MCNP6.3 - Combine & automate red boxes:• Automated, adaptive meshing for Hsrc & FM• Fission-matrix with adaptive sparse storage• Accelerate convergence of neutron source• Statistical tests for convergence, start tallies• Population size tests
Eliminate NCS user burdens:• Before: Trial run, eye-ball entropy plots,
judgement, fix input, re-run• Now: Fully automated, faster convergence,
11 convergence checks• Saves computer-time & people-time• Provides hard evidence of proper convergence
ParallelThreading
2000
Automated,Adaptive Mesh
2017
Fission Matrix,Sparse Storage
2013
Statistical TestsConvergence
2018
Statistical TestsPopulation Size
2018
ShannonEntropy
2003
Monte CarloK-effective Solver,
Power Method,1950s .....
Best PracticesNCS Crit Calcs
2009
PhysicsContin. S(a,b), IFP,
Adjoint-wgt, OTF-DB 2010
ConvergenceAcceleration,
2017
WhisperS/U, USLs
2014
—— Keff – tracklength – neutrons—— Keff – fission matrix—— Keff – cumulative, neutrons—— H – neutrons—— H – fission matrix
autoconverge
accelerate
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 22
Meshing for Shannon Entropy, Fission Matrix, & Convergence
• Cycle 1 – set initial mesh– Compute LFiss
– Bounding-box
– Set nX, nY, nZ for meshspacing of ~ Lfiss
• Later cycles– Extend mesh if needed– Never shrink the mesh– Add same-size cells– New x1, x2, y1, y2, z1, z2
– New nx, ny, nz
– Reallocate/reindex s.t.i∊[1,nx], j∊[1,ny], k∊[1,nz]
x1 x2y1
y2
z1, z2 vertical
x1 x2y1
y2
z1, z2 vertical
x1 x2
y1
y2
z1, z2 vertical
Initial meshing & later extension are automated – no user input required
Mesh is used for tallying Sneut, H, FIJ, SFM
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 23
Fission Matrix
• For global shape analysis of fission source convergence, choose mesh spacing of ~ LFiss (This work)
• For detailed analysis of higher-mode eigenvalues & eigenfunctions, choose mesh spacing of ~ .1 ∙ LFiss or less
• Mesh does not have to be aligned with material or geometric boundaries
• From neutron simulation in a cycle, tally F( I ← J )– Neutrons produced in region I due to source
in region J– Accumulate over all cycles (even inactive)– Estimate of point-to-point Green’s functions
• For nx ⋅ ny ⋅ nz mesh– N = nx ∙ ny ∙ nz mesh cells– F matrix is N • N– Use adaptive, sparse storage
• Fission matrix equation for fission neutron source:
S = 1/k F • S
Given F, can solve for k & S
Provides reference solution for acceleration & convergence testing
Introduction to the Fission Matrix3
Segment the physical problem into N spatial regions (mesh).
3D Spatial Mesh = 100 x 100 x 100
= 1,000,000 x 1,000,000!FJ
I
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 24
Accelerating Source Convergence
• At the end of each cycle– SFM is available – source from fission matrix at end-of-block– Sneuts is available – actual neutron source at end-of-cycle
• During inactive cycles, can optionally use ( SFM / Sneuts ) for importance sampling of the fission source
– Pushes neutron distribution toward F-matrix reference
– Recomputed each cycle using SFM from previous end-of-block, and Sneuts for current end-of-cycle
– Works – typically reduces inactive cycles by 2-20 X
– Further development under consideration:• Investigate using SFM
adjoint for source importance sampling• Maybe coarsen the fission matrix, to reduce statistical noise
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 25
Statistical tests for convergence
• Slope test– For a block of cycles (default = 10)– For result x from each cycle in block,
compute least-squares slope & !slope
∣ slope(x) ∣ < 0.0001 à pass, slope ~ 0∣ slope(x) ∣ < t0.025 !slope à pass, slope ~ 0
within statistics
• Metric tests, at end of block for convergence testing
1. Slope Ktracklen
2. Slope Kcollide
3. Slope Kabsorb
4. Slope H, Shannon entropy5. Slope HX, entropy X marginal 6. Slope HY, entropy Y marginal7. Slope HZ, entropy Z marginal8. Hblock within 1% of HFM
If Test 8 passes, strong evidence of convergenceIf Test 8 fails, ignore it – might be low popsize
• Distribution tests, at end of block for convergence testing
9. Kolmogorov-Smirnov test at 95% level,Sblock & SFM have same distrib.
For multi-D distributions, KS statistic depends on ordering. Take worst case KS statistic for many random permutations.
10. Chi-square 2-point test at 95% level,Sblock & SFM have same distrib.
11. Relative entropy (Kullback-Lieblerdiscrepancy) test at 95% level for Sblock & SFM
If Test 11 passes, strong evidence of convergenceIf Test 11 fails, ignore it – might be low popsize
• If convergence tests all pass, convergence is locked-in– Tests continue for each block– Some tests may later fail (due to statistics),
but convergence not rescinded– Start the tallies
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 26
MCNP6 example
Extra MCNP input to activate new features:
kopts fmat= yesfmatconvrg= yesfmataccel= yes
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 27
50,000 neuts/cycle, acceleration, auto-converge, k = 1.1165 (2)
fission matrixstabilizationfor 11 cycles
acceleration for1 block of 10 cycles,autoconverge at 31
active cycles,standard power
iteration
initial blockof 10 cycles,● solve Fmat
—— Keff – tracklength – neutrons—— Keff – fission matrix—— Keff – cumulative, neutrons
—— H – neutrons—— H – fission matrix
Example: OECD-NEA Source Convergence Problem TEST4S
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 28
Example: OECD-NEA Source Convergence Problem TEST4S31 1.11257 1.12 0.35069 680
fmatrix keff= 1.11187, DR= 0.91653, iters= 138
CONVERGENCE INFO & CHECKS: (based on last 10 cycles)
entropy for fmatrix eigenvector = 0.35656entropy for neutron last cycle = 0.35069 dif= -1.65%relative entropy for last cycle = 0.00972
slope of keff (tracklen) = 4.2E-03, target: < 5.1E-03 PASSslope of keff (collide) = 4.6E-03, target: < 4.9E-03 PASSslope of keff (absorb) = 4.6E-03, target: < 4.9E-03 PASSslope of entropy = -1.4E-02, target: < 1.6E-02 PASSslope of entropy X marginal = -1.8E-02, target: < 1.9E-02 PASSslope of entropy Y marginal = -1.8E-02, target: < 1.9E-02 PASSslope of entropy Z marginal = 1.3E-03, target: < 1.6E-03 PASSentropy dif, neuts vs fmat = -9.1E-04, target: < 1.0E-02 PASSKolmo-Smirnov, distrib, stat = 2.5E-03, target: < 9.1E-02 PASSChi-square, distrib, stat = 9.0E+01, target: < 5.1E+02 PASSrel-h-block, distrib, stat = 2.8E-03, target: < 5.1E-03 PASS
**************************************************************************************************************************************** FISSION SOURCE HAS CONVERGED, based on last 10 cycles **** Metrics: **** slope of keff (tracklen) is 0 (within uncert) **** slope of keff (collide) is 0 (within uncert) **** slope of keff (absorb) is 0 (within uncert) **** slope of entropy is 0 (within uncert) **** slope of entropy X marginal is 0 (within uncert) **** slope of entropy Y marginal is 0 (within uncert) **** slope of entropy Z marginal is 0 (within uncert) **** entropy dif, neuts vs fmat is 0 (within uncert) **** Distribution checks: **** Kolmo-Smirnov, distrib, stat, neut vs fmat (within conf) **** Chi-square, distrib, stat, neut vs fmat (within conf) **** rel-h-block, distrib, stat, neut vs fmat (within conf) ****************************************************************************************************************************************Convergence is locked-in, even if some tests fail in future cycles
Active cycles will begin with cycle = 32Active cycles will end with cycle = 131Total active cycles to be run = 100
QuantitativeEvidence
ForConvergence
QuantitativeEvidence
ForConvergence
Dominance Ratioestimate
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 29
50,000 neuts/cycle
acceleration
auto-converge
k = 1.1165 (2)
50,000 neuts/cycle
no acceleration
auto-converge
k=1.1161 (2)
50,000 neuts/cycle
no acceleration
no auto-converge
k = 1.1164 (2)
—— Keff – tracklength – neutrons
—— Keff – fission matrix
—— Keff – cumulative, neutrons
—— H – neutrons
—— H – fission matrix
converge at cycle 31
—— Keff – tracklength – neutrons
—— Keff – fission matrix
—— Keff – cumulative, neutrons
—— H – neutrons
—— H – fission matrix
converge at cycle 171
—— Keff – tracklength – neutrons
—— Keff – fission matrix
—— Keff – cumulative, neutrons
—— H – neutrons
—— H – fission matrix
converge at cycle 200
(manual, input)
Example: OECD-NEA Source Convergence Problem TEST4S
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 30
Summary&
Conclusions
NSCP-TPR-2021, MCNP6.3 Physics LA-UR-21-21189 31
Summary & Conclusions
• Physics improvements – a few minor features + big state-of-art advance
• Nuclear data improvements – ENDF/B-VIII
• While it is difficult to upgrade (due to validation requirements),everyone is encouraged to do it
mcnp5-1.60 – 11 years old endfb-7.0 – 15 years oldmcnp6.1 – 8 years old endfb-7.1 – 9 years oldmcnp6.2 – 4 years old endfb-8.0 – 3 years old
➜We recommend upgrading to mcnp6.3 & ENDF/B-VIII[ see M. Rising talk for mcnp6.3 release info ]
• Coming…– Whisper enhancements
• U. Michigan, Kiedrowski – benchmark correlations• LANL NCS – benchmark updates
– On-the-fly S(a,b) temperature variation• RPI, Wei Ji – S(a,b) temperature fitting data, Pavlou/Brown methodology