-
Notifications
You must be signed in to change notification settings - Fork 2
/
hydep.cfg.example
252 lines (218 loc) · 9.51 KB
/
hydep.cfg.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# Example configuration file for hydep
# Follows the INI / CFG (loose) specification
# This file is not used by the framework, but is provided as a
# template and starting point
# Values are expected to be of the form
# key = value
# where key can include spaces
# Anything after a # symbol is considered
# Booleans can be retrieved in a variety of ways.
# The following options (case insensitive) will evaluate to True:
# 1 yes y true
# The following options (case insensitive) will evaluate to False:
# 0 no n false
# Sections are used to configure various solvers
# and are differentiated with
# [section]
# The main section that must occur
[hydep]
# Values here are intended to be used by some or all solvers
## boundary condition
# Allowable values:
# reflective, vacuum, periodic
# Default: vacuum in all directions
# Can be delimited by commas or spaces.
# Must contain one or three values.
# A single value will be applied to all directions
# For the case of three values, the conditions will be applied
# to the x, y, and z dimension
boundary conditions = reflective vacuum reflective
## basedir
# Path to where the final results should be saved
# Default: save to current working directory
# If provided, must be able to produce an absolute path
# to a directory. If the directory does not exist,
# it will be created
basedir = example/base
## depletion solver
# String indicating what depletion solver to use.
# Currently allowed values are (case insensitive)
# cram16, 16, cram48, 48
# to use the 16th and 48th order Chebyshev Rational Approximation
# method (incomplete partial factorization)
depletion solver = 48
## fitting order
# Non-negative integer for the maximum polynomial fitting to be
# used when projecting microscopic cross sections and other
# data forwards in time. Used in the depletion engine to compute
# reaction rates at substeps, as well as the SFV solver.
# Defaults to linear, but be careful using linear or above for
# large steps (<20 days) without sufficient previous points
# Fitting routines will the maximum order up to this value, depending
# on the number of time points possible. For the first coarse step,
# there will only be a single point of reference data and thus a
# linear fit will not be possible.
fitting order = 0
## fitting points
# Positive integer for the number of values to store when constructing
# polynomial fits. Must be greater than fitting order, defaults to three.
# Older values are pushed out as newer values arrive.
# More points increase memory use, and too many points may be detrimental.
# Previous experience indicates that two or three points may be sufficient
fitting points = 2
## rundir
# Directory where the simulations will be run
# Default behavior is determined by basedir and
# use temp dir setting.
# Simulations will create auxiliary files in this directory
# If provided, it must resolve to an absolute path to a
# directory. If a directory is provided and it does not exist,
# it will be created
# If not provided, will be set to
# - a temporary directory if use temp dir is true, or
# - basedir
rundir = example/run
## use temp dir
# Boolean switch to run simulations in a temporary directory
# Will only be used if rundir is not provided
# Temporary directory will be created, managed, and removed
# by the program
# Simulations will be run in this temporary directory, and
# any auxiliary files not archived will be lost
use temp dir = false
# Solver-specific options are expected to be in a "subsection"
# [hydep.<solver>]
# Two solvers are provided with this framework, and detailed below
[hydep.serpent]
# Configuring the Serpent interface
## datadir
# Absolute path to the directory that contains Serpent nuclear
# data files like acelib, declib, and nfylib. If not provided,
# attempt to obtain the SERPENT_DATA environment variable.
# Otherwise, must resolve to an existing absolute path to a directory
# datadir =
## acelib
# Path to the primary cross section lookup file.
# Must eventually be provided, and can be an absolute path to an existing
# file, or a path relative to datadir (or SERPENT_DATA). Regardless,
# it must resolve to an absolute path to an existing file.
acelib = sss_endfb7u.xsdata
## declib
# Path to decay library
# Must eventually be provided, and can be an absolute path to an existing
# file, or a path relative to datadir (or SERPENT_DATA). Regardless,
# it must resolve to an absolute path to an existing file.
declib = sss_endfb71.dec
## nfylib
# Path to neutron induced fission product yield file
# Must eventually be provided, and can be an absolute path to an existing
# file, or a path relative to datadir (or SERPENT_DATA). Regardless,
# it must resolve to an absolute path to an existing file.
nfylib = sss_endfb71.nfy
## thermal scattering
# Path to S(a,b) scattering file
# Not necessary unless a material requires the data, indicated by a call to
# Material.addSAlphaBeta(name)
# If provided and needed, it must resolve to an absolute path to an existing
# file containing S(a,b) data. If it is not provided and it is needed, then
# the following locations will be tried
# datadir/acedata/sssth1
# $(SERPENT_DATA)/acedata/sssth1
# If none of these files exist, and the scattering data are needed, an error
# will be raised
# thermal scattering =
## particles
# Positive integer with the number of particle to simulate each cycle.
# There is no default, and a value must be provided, or else the
# simulation will fail
particles = 5E6
## generations per batch
# Positive integer for the number of generations (or cycles) per a single
# batch. Used to compute the total number of active and inactive cycles.
# There is no default, and a value must be provided, or else the
# simulation will fail
generations per batch = 10
## active
# Positive integer for the number of active **batches** to simulate.
# The number of active cycles will be active * generations per batch
# There is no default, and a value must be provided, or else the
# simulation will fail
active = 20
## inactive
# Positive integer for the number of inactive **batches** to simulate.
# The number of inactive cycles will be inactive * generations per batch.
# There is no default, and a value must be provided, or else the
# simulation will fail
inactive = 15
## seed
# Positive integer for an initial random seed. Not required, and no default
seed = 123456
## k0
# Initial guess for the multiplication factor. Must be a float between
# 0 and 2, exclusive. Not required, and defaults to 1.0
k0 = 1.2
## executable
# Name or path to the serpent executable. Will be used to form the command
# that runs Serpent using subprocess.run / subprocess.Popen.
# There is no default, and one must be provided or else nothing can be run
executable = sss2
## omp
# Positive integer for the number of parallel threads to use. If not
# provided, attempt to pull from OMP_NUM_THREADS environment variable.
# Otherwise the default is to run with a single thread.
omp = 16
## mpi
# Positive integer for the number of MPI tasks to use when executing
# Serpent. Will prepend "mpirun -np <mpi>" to the execution command.
# The default is run with in serial, with or without omp threads as
# determined by the omp setting
mpi = 2
## Fission product yields
# Two settings control how Serpent handles FPY
# The main setting in "fpy mode", which can be constant
# or weighted. The weighted scheme will use local spectral
# information to produce a representative set of fission
# product yields for each fissile isotope in each burnable
# material. This will add additional detectors, but hopefully
# captures more of the physics
fpy mode = constant
# Constant mode will use a fixed set of yields to all isotopes
# regardless of local information. The default is to use a
# set of thermal spectrum yields (corresponding to 0.0253 evaluate
# in evaluated data files), but this can be configured with
# the "fpy spectrum" setting to indicate "thermal", "epithermal",
# or "fast" yields
fpy spectrum = fast
## Fission source passing
# Serpent allows the fission source to be passed between depletion
# steps, and reducing the number of inactive cycles at subsequent steps.
# This can be used to reduce the overall computational resources required,
# as fewer inactive cycles are needed to update the fission source.
# The setting
fsp inactive batches = 2
# can be used to activate this Serpent option. Note that this value,
# like the parameter for inactive and active, denotes batches, not cycles.
# The number of inactive cycles run at subsequent steps will be
# fsp batches * generations per batch. If given, must be a non-negative
# integer, ideally less than the number of inactive batches for the first
# transport solution. Not providing a value will have every Serpent solution
# start from a uniform fission source distribution.
[hydep.sfv]
# Configure the spatial flux variation solver
## modes
# Positive integer for the number of higher order flux modes to use
# when prediction the change in spatial flux. If not provided, the
# value will be determined using mode fraction. An error will be
# raised is this value exceeds the number of burnable materials
# in the problem. For maximum compatibility, it is recommended to
# use mode fraction unless you know how many modes are available
modes = 10
## mode fraction
# Real number bounded between (0, 1] for the fraction of available
# modes to use in the prediction. The default value of one will use
# all the available modes, while a value of 0.5 will use half.
mode fraction = 0.75
## density cutoff
# Non-negative density [atoms/b/cm] that isotopes must exceed when
# reconstructing macroscopic cross sections. Default value of 0.0
density cutoff = 1E-20