Scoring Guide for the Geometry Test Sampler Part I (1) 3 (8) 3 (15) 1 ...
Sampler Overview, Data, Composition and Geometry Sampling
Transcript of Sampler Overview, Data, Composition and Geometry Sampling
ORNL is managed by UT-Battelle, LLC for the US Department of Energy
Sampler Overview, Data, Composition and Geometry Sampling
2
Objectives
• Understand the stochastic sampling approach to uncertainty quantification in Sampler
• See the sampling capabilities available in SCALE 6.2– Application to data sampling– Use of variable blocks for geometry and composition sampling
• Experience running Sampler for uncertainty quantification
3
What is Sampler?
• Sampler is a versatile UQ and parametric study tool that can be applied to any SCALE Sequence
• Sampler can perturb any quantity in any SCALE input
• Recent work at ORNL has developed new types of covariance data that allow Sampler UQ to be applied to nearly all SCALE applications– Reactor depletion– UNF fuel characterization– Source term analysis– Decay heat calculation
• In SCALE 6.2 releases, CE data in transport cannot be perturbed
4
Sources of Sampler Nuclear Data Uncertainty
• Cross section covariances:– ENDF-VII.1 supplemented by other
sources (SCALE cov. library)
• Fission product yield:– Standard deviations from ENDF/B-VII;
correlations generated by combining independent and cumulative yields
• Decay data:– ENDF-VII.1 modified to include
branching correlations due to constraint that branch sum=1.0
Pu-239 fissioncovariance
45%
43%
3.1%
1.9%
45%
7.2%
67%
2.6%
8.6%
7.4%
45%
45%
33%
3.1%
5.9%
15%
26%
39%
20%
19%
87-Ge-3
2
87-As-3
3
87-Se-3
4
87-Br-3
5
86-Ga-3
1
86-Ge-3
2
86-As-3
3
86-Se-3
4
86-Br-3
5
86-Kr-3
6
85-Ga-3
1
85-Ge-3
2
85-As-3
3
85-Se-3
4
85-Br-3
5
85m-K
r-36
85-Kr-3
6
84-Ga-3
1
84-Ge-3
2
84-As-3
3
84-As-3
3
84-Ge-3
2
84-Ga-3
1
85-Kr-3
6
85m-K
r-36
85-Br-3
5
85-Se-3
4
85-As-3
3
85-Ge-3
2
85-Ga-3
1
86-Kr-3
6
86-Br-3
5
86-Se-3
4
86-As-3
3
86-Ge-3
2
86-Ga-3
1
87-Br-3
5
87-Se-3
4
87-As-3
3
87-Ge-3
2
-1.0
-0.5
0.0
0.5
1.0
<
< <
<
<
<
<
< <
<
<
<
>><
<
<
<
< >
<
<
Yield covariance
ORIGEN-S: black
ORIGEN-2: red
100% 80% 100%
21.1%
85mSe
86mBr
50% 100%100% 96.2%
100% 90.4% 99.87%
100%
99.84%100%100%
100%
100% 100%
97.6%
DECAY CHAINSGenerated by: Matthew Francis
Mass A=85-87 yields
5
How does Sampler work?
• SCALE provides covariance data for neutron cross sections, fission product yields and decay data
• For a given sample:– the nuclear data is perturbed based on a Gaussian probability distribution characterized by the
covariance data
– A set of perturbed XS libraries (XS, CE XS, FP yields, decay) are created for each random sampling– The SCALE input (1 or more) is run with the perturbed libraries– The user requested output data and perturbed archive files (e.g. t16 files) are collected
• After the calculation, SAMPLER can post-process SCALE output into means, standard deviations, and correlation coefficients
• SAMPLER can also perturb parameters in the input files based on a user specified probability distribution
6
XS covariance decay data covariances
F.P. yield covariances
XSUSA/Medusa
perturbed XS’s
perturbed λ’s, branch fractions
perturbed yields
Generation of Perturbed Nuclear Data Samples
7
Extending Nuclear Data Uncertainty to KENO
KENOTransport calc
perturbed XS’s
SAMPLER
mean, std. dev. for keff
loop
ove
r num
ber o
f sa
mpl
es XS covariance
8
ORIGENdepletion calculation
Polaris/Newt/KENOTransport calc
perturbed XS’s
perturbed λ’s, branch fractions
perturbed FP yields
SAMPLER perturbed inventory
mean, std. dev. for inventory
loop
ove
r num
ber o
f sam
ples
loop over time
step
Extending Nuclear Data Uncertainty to Depletion Data
9
Uncertainties In Fission Product Chains
• Independent FP yields are mainly from model calculations…• have large uncertainties
• Cumulative FP yields based largely on measurements… • have smaller uncertainties
• Beta-delayed neutron branching ratios• usually have large uncertainties
half-lifeintegral fission yield
(β,n) (β,n)
10
Input for nuclear data perturbations is easy
read parametersn_samples = 100perturb_xs = yesperturb_decay = yesperturb_yields = yes
end parameters
=%sampler
read parametersn_samples = 100perturb_xs = yesperturb_decay = yesperturb_yields = yes
end parameters
read case[c1]sequence=t-depl parm=(bonami,addnux=0)pincell modelxn238v7read compositionuo2 10 0.95 900 92235 3.6 92238 96.4 endzr-90 20 1 600 endh2o 30 den=0.75 0.9991 540 endend compositionread celldatalatticecell squarepitch pitch=1.2600 30 fuelr=0.4095 10 cladr=0.4750 20 end
end celldataread depletion10
end depletionread burndatapower=25 burn=60 nlib=2 down=30 end
end burndataread modelread materials
…
Questions?
If not, on to geometry and composition
sampling!
12
Objectives
• Understand variable placeholders in input
• Introduce the 3 distributions available for sampling in variable blocks
• Discuss how to generate expression variable blocks
13
Input placeholders
• Syntax: replace input to be sampled with variable name inside braces with a pound sign prefix in SCALE input #{variable}
• Variable name declared in variable block in Sampler input
• Variable names can have:– Letters (case sensitive)– Numbers– Underscores
• No dashes– Must start with a letter
• Error message for forgetting this constraint is not clear
14
Placeholders (aka Embedded Input)
read compositionuranium 1 den=18.742 1 300
92235 93.711292238 5.268692234 1.0202 end
end composition
SCALE Standard Composition Inputread compositionuranium 1 den=18.742 1 300
92235 #{u235_wo}92238 #{u238_wo}92234 #{u234_wo} end
end composition
With Placeholder Variables
15
Variable blocks
• Each variable is defined in its own block– No limit on number of variable blocks
• Each variable block contains:– Variable name– Distribution type (more later)– Distribution parameters– May contain SIREN statement
• Not discussing SIREN in this workshop due to time constraints• Method for substituting variables into input without modifying the SCALE input
– Cases in which variable is used
16
Variable block examples
read variable[u235_wo]distribution=normalvalue=93.7112stddev=0.05min=93.5max=93.9224cases= godiva end
end variable
read variable[u238_wo]distribution=expressionexpression = "100 - u235_wo - u234_wo"cases= godiva end
end variable
read variable[u234_wo]distribution=uniformvalue=1.0202min=1max=1.0404cases= godiva end
end variable
17
Distributions in Sampler
• 4 options for distribution= in a variable block
• Normal– Gaussian with specified average and standard deviation– Can be truncated
• Uniform– Constant probability between max and min
• Beta– Tunable distribution with 2 free parameters (α & β)
• Expression
18
Normal distribution
• Data input for normal distribution• Keyword (distribution=normal)
• Mean value (value=)– Also used as nominal value
• Standard deviation (stddev=)
• Optional maximum and/or minimum values– maximum= and/or minimum=
• Cases to which the variable applies (cases=)
read variable[u235_wo]distribution=normalvalue=93.7112stddev=0.05min=93.5max=93.9224cases= godiva end
end variable
19
Uniform distribution
• Data input for uniform distribution• Keyword (distribution=uniform)
• Nominal value (value=)
• Upper and lower bounds of distribution– maximum= and minimum=
• Cases to which the variable applies (cases=)
read variable[u234_wo]distribution=uniformvalue=1.0202min=1max=1.0404cases= godiva end
end variable
20
Beta distribution
• Data input for beta distribution• Keyword (distribution=beta)
• Mean value (value=)– Also used as nominal value
• First (α) and second (β) parameters for distribution– beta_a= and beta_b=
• Upper and lower bounds of distribution– maximum= and minimum=
• Cases to which the variable applies (cases=)
read variable[plex_t5]distribution = betabeta_a = 4beta_b = 2minimum = 0 value = 0.296maximum = 0.394667cases = Case5 end
end variable
21
Expressions
• Data input calculated from other values– Expression can also be set equal to a constant
• Keyword (distribution=expression)
• Expression definition (expression=“…”)
• Definition includes variable names and math operators– Remember that variable names are case sensitive– Math operators listed in Appendix 6.7B of SCALE Manual
• Cases to which the variable applies (cases=)
read variable[u238_wo]distribution=expressionexpression = "100 - u235_wo - u234_wo"cases= godiva end
end variable
Questions?If not let’s do an example together…
23
Objectives
• Run a (small) series of different perturbations to get a rough estimate of the uncertainty in keff resulting from uranium enrichment and density uncertainties
24
Steps
1. Open provided Sampler input for HMF-004
2. Click the Run button in Fulcrum to run the Sampler job– Creates a folder with 10 inputs in it– Runs the inputs in that folder and keeps the entire SCALE output file for
each job– 10 samples (11 total KENO jobs) might take upwards of 12-15 minutes
Note that for production runs with many cases (dozens to hundreds), especially on computer clusters, it is probably easier to set “run_cases=no” in the parameter block. The perturbed inputs will be created and can then be executed on the cluster. Sampler is run a second time after all the inputs have been run and does all the post-processing of the results.
25
Variables and assumed distributions
• Density of uranium metal– 18.794 ± 0.010 g/cm3
– Assume uniform • No basis, just to practice with more types
• 235U enrichment– 97.68 ± 0.05 wt% (97.69 ± 0.05 at%)– Assume normal with standard deviation of 0.025 wt%
• No basis, just to practice with more types
26
Implementation
• Sample on U density and 235U enrichment
• Calculate 238U content to offset changes in 235U
• Calculate new U atomic number densities
• Equations and basic data provided in input
27
Parameter block and case block
Entire KENO input embedded in Sampler input
28
Variable blocks for enrichment and density
29
Rest of the input
• Set Avogadro’s number and atomic masses in expression variable blocks
• Calculate atom fractions based on sampled weight percentages to calculate the correct enriched uranium atomic mass
• Lastly, calculate number densities for uranium– Substituted via the placeholder in the input in the case block
30
Sampler post-process output
• Not much information in the output file– Average and standard deviation of keff values– Average versus nominal
• Most useful information is in the plot and data files
• Any .ptp (plot) file can be opened directly in Fulcrum
• .csv files can be opened in spreadsheet of choice
31
Sample post-process output snippet
32
Plots
This does not look converged, but we wouldn’t expect it to be after 10 samples.
Questions?If not, on to parametric calculations…
ORNL is managed by UT-Battelle, LLC for the US Department of Energy
Sampler: Parametric Studies
35
Objective
• Understand parametric capabilities of Sampler
36
Capability
• Add parametric block in input– Remove perturb_geom and/or perturb_xs
• List variables– variables= … end
• Provide number of samples per variable– n_samples= … end
• Sampler will perform the entire matrix of calculations of n_samples for each of the variables– Total number of cases generated is thus the product of all the
n_samples inputs
37
Variable blocks
• Distribution must be set to uniform
• Minimum and maximum set range of the variable for the study– Value, despite not being used for anything, must be between min and
max
• The inputs created are equally spaced between min and max values– n_samples=1 uses just the minimum– n_samples=2 uses the minimum and maximum– n_samples= ≥ 3 creates minimum, maximum, and (n-2) equally spaced
additional inputs
38
Example from previous workshop=sampler'read parametersrun_cases=no
end parameters'
read parametricvariables= fuel_r refl_r endn_samples= 5 10 endend parametric'read case[hmf_004]
import="/home/wm4/scale_training/SUG-2019/Sampler/HMF-004-keno.inp"end case'==========================================================================='' sample fuel radius with assumed tolerance of +/- 0.5 mm'read variable[fuel_r]
distribution=uniformminimum=6.5037 value=6.5537 maximum=6.6037cases= hmf_004 end
end variable
'' sample water reflector radius with assumed tolerance of +/- 1 cm'read variable[refl_r]
distribution=uniformminimum=32.471value=33.471maximum=34.471cases= hmf_004 end
end variable''============================================================='read response[keff]
type = grepregexp = ":kenova.keff:"eregexp = ":kenova.keff:"
end response
end
This creates 50 inputs: each of 10 reflector radii
for each of the 5 fuel radii.
39
Parametric output
• Sampler output includes:– Table of variables and responses for all cases– Minimum of parametric study– Maximum of parametric study
• Value for each variable is provided with the minimum and maximum values
40
Minimum and maximum value edits for example
************************************************************************************************************************************* Parametric study minimum *************************************************************************************************************************************
response | min fuel_r refl_r-----------------------------+-------------------------------------Case hmf_004, response keff | 9.92900e-01 6.52870e+00 3.40266e+01
************************************************************************************************************************************* Parametric study maximum *************************************************************************************************************************************
response | max fuel_r refl_r-----------------------------+-------------------------------------Case hmf_004, response keff | 1.00810e+00 6.60370e+00 3.44710e+01
41
Parametric mode for optimization
• Multiple passes of parametric calculations can be used to find optimum points
• Alternative to using the CSAS5S sequence– Simpler input– Allows parallel jobs instead of sequential execution through root finding
process– Also discussed on pp. 8-9 of SCALE Newsletter 50 (Summer 2017)
• Subsequent passes can sweep through smaller ranges with greater precision– Longer KENO runtimes for lower uncertainties may also be required
Questions?
If not, on to workshop!
ORNL is managed by UT-Battelle, LLC for the US Department of Energy
Sampler Workshop
Uncertainty Quantification
Parametric Studies
44
Objectives
• Choose a UQ or parametric study to reinforce concepts discussed in lectures– Develop Sampler input from KENO input provided– Run a (small) series of calculations to get a rough estimate of the keff
uncertainty associated with parameter uncertainties or max/min keffresulting from exploration of the parametric space
45
UQ problems
• Choose one or the other problem to work on:
1. 239Pu/H2O mixture– Starter_pu_sphere_UQ.inp provided as starter file
2. Array of PWR fuel rods– Starter_pincell_UQ.inp provided as starter file
46
Uncertainty quantification for 239Pu/H2O sphere
• Assume 239Pu fraction is normally distributed about an average value of 0.2 with a standard deviation of 0.01
• Use an expression variable to calculate the H2O fraction such that the sum is 1.0
• Assume the radius of the sphere is uniformly distributed between 10 and 11 cm with a nominal value of 10.5
47
Uncertainty quantification for array of fuel rods
• Assume 235U enrichment is normally distributed– Average value of 3.5 wt% 235U– Standard deviation of 0.01– Min/max 3.45/3.55 wt% 235U
• Use an expression variable to calculate the 238U wt% such that the sum is 100
• Assume the pitch of the unit cell is uniformly distributed between 1.24 cm and 1.28 cm with a nominal value of 1.26
48
Parametric problems
• Choose one or the other problem to work on:
1. Critical radius for 239Pu/H2O mixture– Starter_pu_sphere_parametric.inp provided as base input
2. Optimum pitch for PWR fuel rods– Starter_pincell_parametric.inp provided as base input
49
Critical radius of 239Pu/H2O sphere
• KENO input is Pu239-h2o_sphere.inp
• Use parametric block to find the critical radius for the 20% Pu and 80% H2O mixture
• Choose the precision you’d like, keeping in mind the stochastic uncertainty of the KENO calculations– Remember you can sweep multiple times narrowing the range with
each pass
50
Fuel rod pitch optimization
• KENO input is 3d_pincell.inp
• Find the pitch that results in the maximum keff value
• Select a range and number of points– Wider range will require more calculations for the same level of
precision in the final answer– Don’t chase precision too much – recall also that the stochastic
uncertainty of the KENO calculation will limit the fidelity you can achieve in the limited time available in this workshop
Questions?
ORNL is managed by UT-Battelle, LLC for the US Department of Energy
Sampler Workshop: Uncertainty QuantificationParametric Optimization
Solutions
5353
My UQ results for the 239Pu/H2O sphere
• 10 samples with default KENO parameters– keff 0.8710 ± 0.0340
• 100 samples with KENO uncertainty reduced to 0.00020– keff 0.8692 ± 0.0262
read variable[pu_frac]distribution=normalvalue=0.2 stddev=0.01cases= PuH2O end
end variable
read variable[h2o_frac]distribution=expressionexpression="1.0 - pu_frac"cases= PuH2O end
end variable
read variable[radius]distribution=uniformminimum=10.0 value=10.5 maximum=11.0cases= PuH2O end
end variable
5454
Plots
I deleted the first point in the plot to force scale to be more useful. Convergence of running average looks good: average and uncertainty are both about constant.
5555
My UQ results for the pin array
• 10 samples with default KENO parameters– keff 1.4281 ± 0.0040
• 100 samples with KENO uncertainty reduced to 0.00010– keff 1.4289 ± 0.0028
read variable[enrich]distribution=normalminimum=3.45 value=3.5stddev=0.01 maximum=3.55cases= pincell end
end variable
read variable[u238_wo]distribution=expressionexpression="100.0 - enrich"cases= pincell end
end variable
read variable[pitch]distribution=uniformminimum=1.24 value=1.26 maximum=1.28cases= pincell end
end variable
5656
Plots
I deleted the first point in the plot to force scale to be more useful. Convergence of running average looks good: average and uncertainty are both about constant.
5757
My optimization results
Problem SolutionCritical radius of 239Pu/H2O mixture 12.03 cmPin cell optimum pitch 1.40 cm
58
Critical radius of sphere
• Broad sweep then a more focused sweep– 1 cm steps, 0.1 cm steps
• Results shown here and in plot on next slide– Note lower uncertainty KENO calculations would
be needed to have confidence in results with more precision than about ±0.1 cm
• Input blocks on subsequent slide
radius (cm) keff sigma5 0.3236 0.00146 0.4237 0.00137 0.5313 0.00168 0.634 0.00189 0.7336 0.0022
10 0.8232 0.002211 0.9173 0.0021
11.5 0.9568 0.003011.6 0.9649 0.002311.7 0.9727 0.002011.8 0.9768 0.002411.9 0.9844 0.002312 0.9934 0.0020
12.1 1.0015 0.002112.2 1.0086 0.002312.3 1.0165 0.002412.4 1.0280 0.002012.5 1.0331 0.002113 1.0668 0.002014 1.1374 0.002015 1.1954 0.0025
59
Plot of keff vs. radius
60
Input blocksread parametricvariables= radius endn_samples= 11 endend parametric
'' sweep from 5 to 15 by 1 (11 points)'read variable[radius]distribution=uniformminimum=5 maximum=15 value=10cases= PuH2O end
end variable
'' sweep from 11.5 to 12.5 by 0.1 (11 points)'read variable[radius]distribution=uniformminimum=11.5 maximum=12.5 value=12cases= PuH2O end
end variable
61
Pincell optimization
• First, I did a coarse sweep with 0.1 cm steps
• Then I followed up with a finer sweep between 1.3 and 1.5 cm by 0.02 cm steps
• Results shown here and in plot on next slide– Note lower uncertainty KENO calculations would be
needed to have confidence in results with more precision than about ±0.1 cm
• Input blocks on subsequent slide
pitch (cm) keff sigma1.2 1.4072 0.00161.3 1.4367 0.0014
1.32 1.442 0.00141.34 1.4416 0.00161.36 1.4422 0.00111.38 1.4439 0.00121.40 1.4458 0.00141.42 1.4437 0.00141.44 1.4424 0.00151.46 1.4428 0.00131.48 1.4405 0.00141.5 1.4392 0.00161.6 1.4189 0.00121.7 1.3927 0.00111.8 1.3606 0.0011.9 1.3223 0.00122 1.2808 0.0011
2.1 1.2414 0.0014
62
Plot of kinf vs. pitch
63
Input blocksread parametricvariables= pitch endn_samples= 10 end
end parametric'' sweep pitch from 1.2 to 2.1 by 0.1 (10 points)'read variable[pitch]distribution=uniformminimum=1.2 value=1.26 maximum=2.1cases= pincell end
end variable
read parametricvariables= pitch endn_samples= 11 end
end parametric
'' detailed sweep of pitch from 1.3 to 1.5 by 0.02 (11 points)'read variable[pitch]
distribution=uniformminimum=1.3 value=1.26 maximum=1.5cases= pincell end
end variable
First
Second
Questions?