Chi-Tech
doc_ChiFormatXS.h
Go to the documentation of this file.
1
/**\defgroup ChiXSFile Chi-Tech Cross-section format 1
2
*\ingroup LuaPhysics
3
*
4
* An example Chi-Tech cross section file is shown below. The bare-bones
5
* format is shown below with more examples below:
6
\code
7
# This header can be as large as you please. The actual processing
8
# starts at NUM_GROUPS as the first word. After that, NUM_MOMENTS needs to
9
# be processed before any of the other keywords.
10
NUM_GROUPS 2
11
NUM_MOMENTS 2
12
SIGMA_T_BEGIN
13
0 0.5
14
1 0.5
15
SIGMA_T_END
16
17
Comments
18
19
TRANSFER_MOMENTS_BEGIN
20
#Zeroth moment (l=0)
21
M_GPRIME_G_VAL 0 0 0 0.01
22
M_GPRIME_G_VAL 0 0 1 0.09
23
M_GPRIME_G_VAL 0 1 1 0.08
24
25
#(l=1)
26
M_GPRIME_G_VAL 1 0 0 -0.001
27
M_GPRIME_G_VAL 1 0 1 0.001
28
M_GPRIME_G_VAL 1 1 1 0.001
29
TRANSFER_MOMENTS_END
30
\endcode
31
32
## Steady state simulations:
33
34
The cross sections can be used in simulations solving the steady state
35
Linear Boltzmann Equation of the form:
36
37
\f[
38
\vec{\Omega}_n \boldsymbol{\cdot} \vec{\nabla} \psi_{ng} +
39
\sigma_{tg} \psi_{ng} =
40
\sum_{\ell=0}^L \sum_{m=-\ell}^{+\ell} \frac{2\ell+1}{4\pi}
41
Y_{\ell m} (\vec{\Omega}_n)
42
\sum_{g'=0}^{G-1} \sigma_{s\ell,g'{\to}g} \phi_{\ell m,g'} +
43
q_{ext,ng} + q_{fission,ng}
44
\f]
45
46
The two most prominent items required here includes \f$ \sigma_{tg} \f$ and
47
\f$ \sigma_{s\ell,g'{\to}g} \f$. The latter is an entry in a structure we
48
call a generic transfer matrix for moment \f$ \ell \f$ with rows \f$g=0..G-1\f$
49
and columns \f$g'=0..G-1\f$. These two items are often the only items required
50
in a transport simulation.
51
52
In simulations with fission-sources, cross sections support two formats,
53
the simple combined cross sections without delayed neutrons
54
55
\f[
56
q_{fission,ng} = \frac{\chi_g}{4\pi}
57
\sum_{g'=0}^{G-1} \nu_{g'} \sigma_{fg'} \phi_{00g'}
58
\f]
59
60
and those with delayed neutrons, the latter which are currently only used in
61
the k-eigenvalue solver.
62
63
## k-eigenvalue related items
64
As stated before, the cross section file supports two formats, the simple
65
combined cross sections without delayed neutrons which are depicted above
66
and those with delayed neutrons shown below
67
68
\f[
69
q_{fission,ng} = \frac{\chi_g}{4\pi}
70
\sum_{g'=0}^{G-1} \nu_{prompt,g'} \sigma_{fg'} \phi_{00g'}
71
+ \sum_{j=0}^{J-1} \frac{\chi_{delayed,jg}}{4\pi} \gamma_j
72
\sum_{g'=0}^{G-1} \nu_{delayed,g'} \sigma_{fg'} \phi_{00g'}
73
\f].
74
75
Codes may also choose to update precursor concentrations for which their decay
76
constants, \f$ \lambda_j \f$ are required.
77
78
## Keyword definitions
79
80
- NUM_GROUPS num_groups Required. Specifies the number of groups for this
81
cross section. Symbol \f$ G \f$.
82
- NUM_MOMENTS num_moments Required. The number of transfer matrices to allocate
83
for this cross section (whether used or not). Typically this number is one
84
greater than the scattering order (i.e., \f$ L+1 \f$)
85
- NUM_PRECURSORS num_precursors Optional. Indicates how many precursors are used
86
in this cross section. Symbol \f$ J \f$
87
- Optional key words per line:
88
- SIGMA_T_BEGIN. Optional. Starts a block that is terminated by a line
89
SIGMA_T_END. Each line in the block processes the first two words as
90
[group, sigma_t]. Populates the sigma_tg field. Symbol \f$ \sigma_{tg} \f$.
91
- SIGMA_A_BEGIN. Optional. Starts a block that is terminated by a line
92
SIGMA_A_END. Each line in the block processes the first two words as
93
[group, sigma_a]. Populates the sigma_ag field. Symbol \f$ \sigma_{ag} \f$.
94
If this is not supplied then sigma_a is estimated from the transfer matrix
95
and may erroneously estimate balance.
96
- SIGMA_F_BEGIN. Optional. Starts a block that is terminated by a line
97
SIGMA_F_END. Each line in the block processes the first two words as
98
[group, sigma_f]. Populates the sigma_fg field. Symbol \f$ \sigma_{fg} \f$.
99
- NU_BEGIN. Optional. Starts a block that is terminated by a line NU_END.
100
Each line in the block processes the first two words as [group, nu].
101
Populates the nu field. Upon completing the file processing the nu_sigma_fg
102
field gets populated from the product of nu and sigma_fg.
103
Symbol \f$ \nu_g \f$.
104
- NU_PROMPT_BEGIN. Optional. Starts a block that is terminated by a line
105
NU_PROMPT_END. Each line in the block processes the first two words as
106
[group, nu_prompt]. Populates the nu_prompt field. Upon completing the file
107
processing the nu_p_sigma_fg field gets populated from the product of
108
nu_prompt and sigma_fg. Symbol \f$ \nu_{prompt,g} \f$.
109
- NU_DELAYED_BEGIN. Optional. Starts a block that is terminated by a line
110
NU_DELAYED_END. Each line in the block processes the first two words as
111
[group, nu_delayed]. Populates the nu_delayed field. Upon completing the
112
file processing the nu_d_sigma_fg field gets populated from the product of
113
nu_delayed and sigma_fg. Symbol \f$ \nu_{delayed,g} \f$.
114
- CHI_BEGIN. Optional. Starts a block that is terminated by a line
115
CHI_END. Each line in the block processes the first two words as
116
[group, chi]. Populates the chi field. Symbol \f$ \chi_{g} \f$.
117
- CHI_PROMPT_BEGIN. Optional. Starts a block that is terminated by a line
118
CHI_PROMPT_END. Each line in the block processes the first two words as
119
[group, chi]. Populates the chi_prompt field.
120
Symbol \f$ \chi_{prompt, g} \f$.
121
- VELOCITY_BEGIN. Optional. Starts a block that is terminated by a line
122
VELOCITY_END. Each line in the block processes the first two words as
123
[group, velocity]. Populates the inv_velocity field by inverting parsed
124
values. Symbol \f$ \frac{1}{v_g} \f$.
125
- INV_VELOCITY_BEGIN. Optional. Starts a block that is terminated by a line
126
INV_VELOCITY_END. Each line in the block processes the first two words as
127
[group, inv_velocity]. Populates the inv_velocity field. If this field and
128
VELOCITY are provided, this field will be used.
129
Symbol \f$ \frac{1}{v_g} \f$.
130
- PRECURSOR_DECAY_CONSTANTS_BEGIN. Optional. Starts a block that is terminated by a
131
line PRECURSOR_DECAY_CONSTANTS_END. Each line in the block processes the first two
132
words as [precursor, lambda]. Populates the lambda field (the precursor
133
decay constant). Symbol \f$ \lambda_j \f$.
134
- PRECURSOR_FRACTIONAL_YIELDS_BEGIN. Optional. Starts a block that is terminated by a
135
line PRECURSOR_FRACTIONAL_YIELDS_END. Each line in the block processes the first two
136
words as [precursor, gamma]. Populates the gamma field (the precursor
137
production fraction per fission). Symbol \f$ \gamma_j \f$.
138
- CHI_DELAYED_BEGIN. Optional. Starts a block that is terminated by a line
139
CHI_DELAYED_END. Each line in the block processes the first word as the
140
group index and the remaining NUM_PRECURSORS words as the the individual
141
precursor's associated delayed spectrum (chi). Populates the chi_d field.
142
Symbol \f$ \chi_{delayed,jg} \f$.
143
- TRANSFER_MOMENTS_BEGIN. Optional. Starts a block that is terminated by a
144
line TRANSFER_MOMENTS_END. Each line in the block processes a line only if
145
it starts with the keyword M_GPRIME_G_VAL which needs to be followed by four
146
values [moment,gprime,g,value]. Populates transfer-matrix for moment m,
147
row g, column gprime, with value. Symbol \f$ \sigma_{s\ell,g'{\to}g} \f$.
148
149
- Comments can be between individual blocks but only the TRANSFER_MOMENTS block
150
may have comments between the _BEGIN and _END
151
- Comments do not have to start with any specific character since the file
152
format is keyword driven.
153
- Any number that is not convertible to its required type (integer, double)
154
will throw an error to that effect.
155
- All errors will indicate the current file, line number and nature of the error.
156
157
## More Advanced Examples
158
\code
159
# This header can be as large as you please. The actual processing
160
# starts at NUM_GROUPS as the first word. After that, NUM_MOMENTS needs to
161
# be processed before any of the other keywords.
162
NUM_GROUPS 2
163
NUM_MOMENTS 2
164
NUM_PRECURSORS 3
165
SIGMA_T_BEGIN
166
0 0.5
167
1 0.5
168
SIGMA_T_END
169
170
Comments
171
172
SIGMA_F_BEGIN
173
0 0.01
174
1 0.40737
175
SIGMA_F_END
176
177
NU_PROMPT_BEGIN
178
0 2.45
179
1 2.45
180
NU_PROMPT_END
181
182
CHI_PROMPT_BEGIN
183
0 1.0
184
1 0.0
185
CHI_PROMPT_END
186
187
VELOCITY_BEGIN
188
0 2.2e10
189
1 272.145
190
VELOCITY_END
191
192
TRANSFER_MOMENTS_BEGIN
193
#Zeroth moment (l=0)
194
M_GPRIME_G_VAL 0 0 0 0.01
195
M_GPRIME_G_VAL 0 0 1 0.09
196
M_GPRIME_G_VAL 0 1 1 0.08
197
198
#(l=1)
199
M_GPRIME_G_VAL 1 0 0 -0.001
200
M_GPRIME_G_VAL 1 0 1 0.001
201
M_GPRIME_G_VAL 1 1 1 0.001
202
TRANSFER_MOMENTS_END
203
204
PRECURSOR_DECAY_CONSTANTS_BEGIN
205
0 0.1
206
1 0.2
207
2 0.3
208
PRECURSOR_DECAY_CONSTANTS_END
209
210
PRECURSOR_GAMMA_BEGIN
211
0 0.25
212
1 0.5
213
2 0.25
214
PRECURSOR_GAMMA_END
215
216
NU_DELAYED_BEGIN
217
0 0.01
218
1 0.02
219
2 0.01
220
NU_DELAYED_END
221
222
CHI_DELAYED_BEGIN
223
G_PRECURSOR_VAL 0 0 1.0
224
G_PRECURSOR_VAL 0 1 1.0
225
G_PRECURSOR_VAL 0 2 1.0
226
227
G_PRECURSOR_VAL 1 0 0.0
228
G_PRECURSOR_VAL 1 1 0.0
229
G_PRECURSOR_VAL 1 2 0.0
230
CHI_DELAYED_END
231
\endcode
232
* */
framework
physics
PhysicsMaterial
MultiGroupXS
doc
doc_ChiFormatXS.h
Generated by
1.9.3