Applied Reactor Physics 2553014368, 9782553014369


435 111 4MB

English Pages 414 [410] Year 2009

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Contents
1 Introduction
2 Cross sections and nuclear data
2.1 Solid angles and spherical harmonics
2.2 Dealing with distributions
2.3 Dynamics of a scattering reaction
2.3.1 Collision of a neutron with a nucleus initially at rest
2.4 Definition of a cross section
2.5 Formation of a compound nucleus
2.5.1 The single level Breit-Wigner formulas
2.5.2 Low-energy variation of cross sections
2.6 Thermal agitation of nuclides and binding effects
2.6.1 Numerical convolution of cross sections
2.6.2 Convolution of Breit-Wigner cross sections
2.6.3 Convolution of a constant cross section
2.6.4 Convolution of the differential scattering cross section
2.6.5 Effects of molecular or metallic binding
2.7 Expansion of the differential cross sections
2.8 Calculation of the probability tables
2.9 Production of an isotopic cross-section library
2.9.1 Photo-atomic interaction data
2.9.2 Delayed neutron data
2.9.3 An overview of DRAGR
Exercises
3 The transport equation
3.1 The particle flux
3.2 Derivation of the transport equation
3.2.1 The characteristic form of the transport equation
3.2.2 The integral form of the transport equation
3.2.3 Boundary and continuity conditions
3.3 Source density in reactor physics
3.3.1 The steady-state source density
3.3.2 The transient source density
3.4 The transport correction
3.5 Multigroup discretization
3.5.1 Multigroup steady-state transport equation
3.5.2 Multigroup transient transport equation
3.6 The first-order streaming operator
3.6.1 Cartesian coordinate system
3.6.2 Cylindrical coordinate system
3.6.3 Spherical coordinate system
3.7 The spherical harmonicsmethod
3.7.1 The Pn method in 1D slab geometry
3.7.2 The Pn method in 1D cylindrical geometry
3.7.3 The Pn method in 1D spherical geometry
3.7.4 The simplified Pn method in 2D Cartesian geometry
3.8 The collision probability method
3.8.1 The interface current method
3.8.2 Scattering-reduced matrices and power iteration
3.8.3 Slab geometry
3.8.4 Cylindrical 1D geometry
3.8.5 Spherical 1D geometry
3.8.6 Unstructured 2D finite geometry
3.9 The discrete ordinatesmethod
3.9.1 Quadrature sets in the method of discrete ordinates
3.9.2 The difference relations in 1D slab geometry
3.9.3 The difference relations in 1D cylindrical geometry
3.9.4 The difference relations in 1D spherical geometry
3.9.5 The difference relations in 2D Cartesian geometry
3.9.6 Synthetic acceleration
3.10 The method of characteristics
3.10.1 TheMOC integration strategy
3.10.2 Unstructured 2D finite geometry
3.10.3 The algebraic collapsing acceleration
3.11 The multigroupMonte Carlomethod
3.11.1 Mathematical background
3.11.2 Rejection techniques
3.11.3 The randomwalk of a neutron
3.11.4 Criticality calculations
3.11.5 Monte Carlo reaction estimators
Exercises
4 Elements of lattice calculation
4.1 A historical overview
4.2 Neutron slowing-down and resonance self-shielding
4.2.1 Elastic slowing down
4.2.2 A review of resonance self-shielding approaches
4.2.3 The Livolant-Jeanpierre approximations
4.2.4 The physical probability tables
4.2.5 The statistical subgroup equations
4.2.6 The multigroup equivalence procedure
4.3 The neutron leakage model
4.3.1 The Bn leakage calculation
4.3.2 The homogeneous fundamental mode
4.3.3 The heterogeneous fundamental mode
4.3.4 Introduction of leakage rates in a lattice calculation
4.3.5 Introduction of leakage rates with collision probabilities
4.3.6 Full-core calculations in diffusion theory
4.3.7 Full-core calculations in transport theory
4.4 The SPH equivalence technique
4.4.1 Definition of themacro balance relations
4.4.2 Definition of the SPH factors
4.4.3 Iterative calculation of the SPH factors
4.5 Isotopic depletion
4.5.1 The power normalization
4.5.2 The saturation model
4.5.3 The integration factor method
4.5.4 Depletion of heavy isotopes
4.6 Creation of the reactor database
4.6.1 Selected information
4.6.2 Database information structure
4.7 A presentation of DRAGON
4.7.1 A DRAGON tutorial
Exercises
5 Full-core calculations
5.1 The steady-state diffusion equation
5.1.1 The Fick law
5.1.2 Continuity and boundary conditions
5.1.3 The finite homogeneous reactor
5.1.4 The heterogeneous 1D slab reactor
5.2 Discretization of the neutron diffusion equation
5.2.1 Mesh-corner finite differences
5.2.2 Mesh-centered finite differences
5.2.3 A primal variational formulation
5.2.4 The Lagrangian finite-element method
5.2.5 The analytic nodal method in 2D Cartesian geometry
5.3 Generalized perturbation theory
5.3.1 Mathematical background
5.3.2 State variables and reactor characteristics
5.3.3 Computing the Jacobian using the implicit approach
5.3.4 Computing the Jacobian using the explicit approach
5.4 Space-time kinetics
5.4.1 Point-kinetics equations
5.4.2 The implicit temporal scheme
5.4.3 The space-time implicit scheme
Exercises
Answers to Problems
A Tracking of 1D and 2D geometries
B Special functions with Matlab
C Numerical methods
Bibliography
Index
Recommend Papers

Applied Reactor Physics
 2553014368, 9782553014369

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

[cursus Alain Hébert

Applied Reactor Physics

Second Edition

Applied-Reactor-Physics-Copyright-2016.indd 1

2016-05-27 10:09:22

Applied Reactor Physics, Second Edition Alain Hébert Cover page: Cyclone Design Editing, proofreading: Judy Yelon

For information on distribution and points of sale, see our website: www.pressespoly.ca Email Presses internationales Polytechnique at: [email protected]

Nous reconnaissons l’appui financier du gouvernement du Canada. We acknowledge the financial support of the Government of Canada.

Gouvernement du Québec – Programme d’aide aux entreprises du livre et de l’édition spécialisée – Gestion SODEC.

All rights reserved. © Presses internationales Polytechnique, 2016 Reprint, June 2016.

This book may not be duplicated in any way without the express written consent of the publisher.

Legal deposit: 1st Quarter 2016 Bibliothèque et Archives nationales du Québec Library and Archives Canada

ISBN 978-2-553-01698-1 (Printed version) ISBN 978-2-553-01709-4 (PDF version) Printed in Canada

To my sons, Antoine and Guillaume.

Foreword This text was prepared to provide teaching support to the students of graduate courses ENE6101 ´ and ENE6103 at Ecole Polytechnique de Montr´eal. A first version was written in French as lecture notes in May 1983 and has been used until 2009. This text was translated, corrected and completed, taking the opportunity to add more exercises. The first edition of the textbook was released in 2009 and reprinted in 2010 with minor error corrections. The 2010 version was used for more than 6 years in many universities and research institutes across the world. The second edition was released in 2016 with important improvements in the text, new end-ofchapter exercises, extended bibliography, a Moodle support website1 and a new cover. I take the opportunity to thank Prof. Ben Forget of the Massachusetts Institute of Technology for pointing out many errors in the first edition. The first motivation for this text is to provide the fundamental knowledge required to understand and apply the reactor physics tools available today. Most existing textbooks are still related to the first generation of tools based on the four-factor formula. The current generation of tools is heavily based on ENDF information and on multigroup lattice calculations. We tried to cover a sufficient amount of fundamental information to help the reader understand the modern approach to reactor physics. This text is also a good starting point for understanding the physics behind DRAGON and DONJON codes. Numerous Matlab scripts are proposed to readers. Complete solutions of the exercises are made available to teachers. Any suggestions to improve this material are welcome and may be directed to me at the following address: [email protected].

1 see

https://moodle.polymtl.ca/course/view.php?id=1233

Contents 1 Introduction

1

2 Cross sections and nuclear data 2.1 Solid angles and spherical harmonics . . . . . . . . . . . . . . 2.2 Dealing with distributions . . . . . . . . . . . . . . . . . . . . 2.3 Dynamics of a scattering reaction . . . . . . . . . . . . . . . . 2.3.1 Collision of a neutron with a nucleus initially at rest . 2.4 Definition of a cross section . . . . . . . . . . . . . . . . . . . 2.5 Formation of a compound nucleus . . . . . . . . . . . . . . . 2.5.1 The single level Breit-Wigner formulas . . . . . . . . . 2.5.2 Low-energy variation of cross sections . . . . . . . . . 2.6 Thermal agitation of nuclides and binding effects . . . . . . . 2.6.1 Numerical convolution of cross sections . . . . . . . . 2.6.2 Convolution of Breit-Wigner cross sections . . . . . . 2.6.3 Convolution of a constant cross section . . . . . . . . . 2.6.4 Convolution of the differential scattering cross section 2.6.5 Effects of molecular or metallic binding . . . . . . . . 2.7 Expansion of the differential cross sections . . . . . . . . . . . 2.8 Calculation of the probability tables . . . . . . . . . . . . . . 2.9 Production of an isotopic cross-section library . . . . . . . . . 2.9.1 Photo-atomic interaction data . . . . . . . . . . . . . . 2.9.2 Delayed neutron data . . . . . . . . . . . . . . . . . . 2.9.3 An overview of DRAGR . . . . . . . . . . . . . . . . . Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

5 5 9 12 16 19 21 27 32 33 34 35 38 40 46 50 51 54 58 59 61 64

3 The transport equation 3.1 The particle flux . . . . . . . . . . . . . . . . . . . . . . 3.2 Derivation of the transport equation . . . . . . . . . . . 3.2.1 The characteristic form of the transport equation 3.2.2 The integral form of the transport equation . . . 3.2.3 Boundary and continuity conditions . . . . . . . 3.3 Source density in reactor physics . . . . . . . . . . . . . 3.3.1 The steady-state source density . . . . . . . . . . 3.3.2 The transient source density . . . . . . . . . . . . 3.4 The transport correction . . . . . . . . . . . . . . . . . . 3.5 Multigroup discretization . . . . . . . . . . . . . . . . . 3.5.1 Multigroup steady-state transport equation . . . 3.5.2 Multigroup transient transport equation . . . . . 3.6 The first-order streaming operator . . . . . . . . . . . . 3.6.1 Cartesian coordinate system . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

69 69 72 74 74 75 76 77 79 82 83 85 86 88 88

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

viii

Contents 3.6.2 Cylindrical coordinate system . . . . . . . . . . . . . 3.6.3 Spherical coordinate system . . . . . . . . . . . . . . 3.7 The spherical harmonics method . . . . . . . . . . . . . . . 3.7.1 The Pn method in 1D slab geometry . . . . . . . . . 3.7.2 The Pn method in 1D cylindrical geometry . . . . . 3.7.3 The Pn method in 1D spherical geometry . . . . . . 3.7.4 The simplified Pn method in 2D Cartesian geometry 3.8 The collision probability method . . . . . . . . . . . . . . . 3.8.1 The interface current method . . . . . . . . . . . . . 3.8.2 Scattering-reduced matrices and power iteration . . 3.8.3 Slab geometry . . . . . . . . . . . . . . . . . . . . . 3.8.4 Cylindrical 1D geometry . . . . . . . . . . . . . . . . 3.8.5 Spherical 1D geometry . . . . . . . . . . . . . . . . . 3.8.6 Unstructured 2D finite geometry . . . . . . . . . . . 3.9 The discrete ordinates method . . . . . . . . . . . . . . . . 3.9.1 Quadrature sets in the method of discrete ordinates 3.9.2 The difference relations in 1D slab geometry . . . . 3.9.3 The difference relations in 1D cylindrical geometry . 3.9.4 The difference relations in 1D spherical geometry . . 3.9.5 The difference relations in 2D Cartesian geometry . 3.9.6 Synthetic acceleration . . . . . . . . . . . . . . . . . 3.10 The method of characteristics . . . . . . . . . . . . . . . . . 3.10.1 The MOC integration strategy . . . . . . . . . . . . 3.10.2 Unstructured 2D finite geometry . . . . . . . . . . . 3.10.3 The algebraic collapsing acceleration . . . . . . . . . 3.11 The multigroup Monte Carlo method . . . . . . . . . . . . . 3.11.1 Mathematical background . . . . . . . . . . . . . . . 3.11.2 Rejection techniques . . . . . . . . . . . . . . . . . . 3.11.3 The random walk of a neutron . . . . . . . . . . . . 3.11.4 Criticality calculations . . . . . . . . . . . . . . . . . 3.11.5 Monte Carlo reaction estimators . . . . . . . . . . . Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90 92 94 94 98 103 106 108 110 112 113 118 124 125 131 132 137 139 143 145 147 149 150 156 161 165 166 171 173 182 186 189

4 Elements of lattice calculation 4.1 A historical overview . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Neutron slowing-down and resonance self-shielding . . . . . . . 4.2.1 Elastic slowing down . . . . . . . . . . . . . . . . . . . . 4.2.2 A review of resonance self-shielding approaches . . . . . 4.2.3 The Livolant-Jeanpierre approximations . . . . . . . . . 4.2.4 The physical probability tables . . . . . . . . . . . . . . 4.2.5 The statistical subgroup equations . . . . . . . . . . . . 4.2.6 The multigroup equivalence procedure . . . . . . . . . . 4.3 The neutron leakage model . . . . . . . . . . . . . . . . . . . . 4.3.1 The Bn leakage calculation . . . . . . . . . . . . . . . . 4.3.2 The homogeneous fundamental mode . . . . . . . . . . . 4.3.3 The heterogeneous fundamental mode . . . . . . . . . . 4.3.4 Introduction of leakage rates in a lattice calculation . . 4.3.5 Introduction of leakage rates with collision probabilities 4.3.6 Full-core calculations in diffusion theory . . . . . . . . . 4.3.7 Full-core calculations in transport theory . . . . . . . . 4.4 The SPH equivalence technique . . . . . . . . . . . . . . . . . . 4.4.1 Definition of the macro balance relations . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

193 194 197 199 202 203 206 210 213 215 216 217 222 225 227 229 230 232 233

Contents 4.4.2 Definition of the SPH factors . 4.4.3 Iterative calculation of the SPH 4.5 Isotopic depletion . . . . . . . . . . . . 4.5.1 The power normalization . . . 4.5.2 The saturation model . . . . . 4.5.3 The integration factor method 4.5.4 Depletion of heavy isotopes . . 4.6 Creation of the reactor database . . . 4.6.1 Selected information . . . . . . 4.6.2 Database information structure 4.7 A presentation of DRAGON . . . . . . 4.7.1 A DRAGON tutorial . . . . . . Exercises . . . . . . . . . . . . . . . . . . .

. . . . . factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

ix

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

234 237 238 242 243 244 246 249 249 251 252 253 257

5 Full-core calculations 5.1 The steady-state diffusion equation . . . . . . . . . . . . . . . 5.1.1 The Fick law . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Continuity and boundary conditions . . . . . . . . . . 5.1.3 The finite homogeneous reactor . . . . . . . . . . . . . 5.1.4 The heterogeneous 1D slab reactor . . . . . . . . . . . 5.2 Discretization of the neutron diffusion equation . . . . . . . . 5.2.1 Mesh-corner finite differences . . . . . . . . . . . . . . 5.2.2 Mesh-centered finite differences . . . . . . . . . . . . . 5.2.3 A primal variational formulation . . . . . . . . . . . . 5.2.4 The Lagrangian finite-element method . . . . . . . . . 5.2.5 The analytic nodal method in 2D Cartesian geometry 5.3 Generalized perturbation theory . . . . . . . . . . . . . . . . 5.3.1 Mathematical background . . . . . . . . . . . . . . . . 5.3.2 State variables and reactor characteristics . . . . . . . 5.3.3 Computing the Jacobian using the implicit approach . 5.3.4 Computing the Jacobian using the explicit approach . 5.4 Space-time kinetics . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Point-kinetics equations . . . . . . . . . . . . . . . . . 5.4.2 The implicit temporal scheme . . . . . . . . . . . . . . 5.4.3 The space-time implicit scheme . . . . . . . . . . . . . Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

267 270 270 272 274 276 280 281 284 286 288 292 299 299 302 304 305 306 307 312 314 316

Answers to Problems A Tracking of 1D and 2D geometries A.1 Tracking of 1D slab geometries . . . . . . . . . . . A.2 Tracking of 1D cylindrical and spherical geometries A.3 The theory behind sybt1d . . . . . . . . . . . . . . A.4 Tracking of 2D square pincell geometries . . . . . . A.5 The theory behind sybt2d . . . . . . . . . . . . . .

323

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

331 331 333 336 337 342

B Special functions with Matlab 345 B.1 Function taben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 B.2 Function akin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

x

Contents

C Numerical methods C.1 Solution of a linear system . . . . . . . . . . . . . . . . . . C.1.1 Gauss elimination . . . . . . . . . . . . . . . . . . C.1.2 Cholesky factorization . . . . . . . . . . . . . . . . C.1.3 Iterative approach . . . . . . . . . . . . . . . . . . C.2 Solution of an eigenvalue problem . . . . . . . . . . . . . . C.2.1 The inverse power method . . . . . . . . . . . . . . C.2.2 The preconditioned power method . . . . . . . . . C.2.3 The Hotelling deflation . . . . . . . . . . . . . . . C.2.4 The multigroup partitioning . . . . . . . . . . . . . C.2.5 Convergence acceleration . . . . . . . . . . . . . . C.3 Solution of a fixed source eigenvalue problem . . . . . . . C.3.1 The inverse power method . . . . . . . . . . . . . . C.3.2 The preconditioned power method with variational

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . acceleration

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

349 349 349 351 354 362 362 366 368 370 372 375 375 378

Bibliography

381

Index

391

Chapter 1

Introduction Reactor physics is the discipline devoted to the study of interactions between neutrons and matter in a nuclear reactor. Such an interaction is produced when a neutron collides with the nucleus of a specific nuclide (or isotope). Interactions between neutrons and nuclei are described by nuclear physics models as a function of neutron energy and nuclide characteristics. A statistical mechanics approach is also used to describe the distribution of neutrons in phase space (position and velocity vectors) as a function of time. The neutronic number density (or neutron distribution) can be obtained as the solution of a transport equation similar to the equation used to describe photon populations. This statistical model is greatly simplified by some characteristics of neutron-nuclide interactions: • Relativistic effects can be neglected. • Neutron-neutron interactions can be neglected. Consequently, the collision term of the corresponding transport equation is linear. • Neutrons are neutral particles; neutron mean free paths are straight lines. • The materials are isotropic in space. • The nuclides are in thermal equilibrium with their neighbors. Two phenomena are responsible for the complexity of reactor physics. A nuclear reactor is generally a complicated three-dimensional assembly of different geometrical components made of a variety of materials. Secondly, many materials have interaction characteristics that vary strongly with neutron energy. Neutron distribution in the reactor can be predicted using the three main steps depicted in Fig. 1.1. The basic principle is to start the calculation with a very fine representation in neutron energy (with a coarse representation in space) and to terminate with a very fine representation in space (with a coarse representation in energy). Neutron cross sections are used to characterize the neutron-nuclide interaction at different neutron energies. Such an interaction occurs only when a neutron collides with a nucleus. At neutron energies less than 1 electron volt (eV), it will be necessary to take into account the nuclide temperature and the effects of molecular binding for nuclides such as heavy water, light water and graphite. At energy greater than 1 eV, the cross sections of heavy isotopes are resonant functions of the neutron energy. In this case, we will have to compute averaged crosssection values, also called self-shielded cross sections, over energy sub-domains that may contain many resonances. These self-shielded values are also a function of the nuclide temperature due to the Doppler effect. These concepts will be covered in Chapter 2. Reactor physics is closely related to the solution of the transport equation for neutral particles. We have chosen to present five among the most widely used techniques for solving the

2

Introduction Step 1

Neutron-nuclide cross-section calculation

Step 2

Step 3

Space-time kinetics calculation Lattice calculation

Reactor calculation Fuel management, design and operation simulation

Depletion calculation Depletion calculation

Figure 1.1: Global computational scheme.

transport equation in multigroup approximation. The reviewed techniques are the method of spherical harmonics (Pn ), the collision probability method (CP), the discrete ordinates method (SN ), the method of characteristics (MOC) and the multigroup Monte Carlo method. Each of these legacy techniques is first introduced from scratch, together with elementary numerical techniques adapted to their solution. This introduction of transport theory for neutral particles is presented in Chapter 3. A lattice calculation is a collection of numerical algorithms and models which are capable of representing the neutronic behaviour of a unit cell or assembly in a nuclear reactor. A unit cell or assembly is a part of the reactor that is similar to its neighboring parts. It generally consists of a fuel channel surrounded by a moderator or a fuel assembly in a light-water reactor. One component of a lattice code permits the calculation of the neutron flux, a quantity related to the neutron distribution, as a function of the cross sections recovered from the preceding step. The neutron flux is the solution of a transport equation defined over the unit cell or assembly. Many numerical solution techniques are available to solve this equation and will be reviewed in Chapter 3. The input cross sections are next weighted with the neutron flux to produce energy- and region-averaged cross-section and diffusion coefficient values that will be used in the complete reactor, or full-core, calculation. The lattice calculation is coupled to a depletion calculation in order to represent the variation of nuclide concentrations with burnup. Other models are also required to represent neutron leakage or non-linear homogenization effects. All these models will also be reviewed in Chapter 4. The complete reactor, or full-core, calculation permits us to obtain the primary power distribution in the reactor. This calculation is based on a simplified representation of the cross sections as a function of energy. Moreover, each unit cell or assembly will be replaced by a set of homogeneous parallelepipeds or hexagons, using energy- and region-averaged cross-section and diffusion coefficient values produced by the lattice calculation. On the scale of the complete reactor, the transport equation is generally replaced by a simplified equation called the diffusion equation or simplified Pn equation. Once the neutron distribution over the complete reactor is obtained, the primary power distribution can be obtained from knowing the energy production cross sections. The complete reactor calculation can be performed in a steady-state or static condition, assuming that the neutron distribution is constant in time. A first-order perturbation of the steady-state equations leads to a fixed source eigenvalue problem and to the generalized perturbation theory (GPT). It is also possible to represent transient effects resulting from the

Introduction

3

reactor operation or from accidental events. In this case, we need to solve a space-time kinetics equation over the complete reactor domain. Calculations related to fuel management, design and operation simulation must take into account the effects of depletion for many important nuclides with time. Such a capability is also available in the reactor calculation step. All the aspects related to the reactor calculation will be presented in Chapter 5. The computational examples in this text were done with Matlab as this environment is an excellent one for acquiring experience with the algorithms, for doing the exercises, and for rapid prototype development.1 These codes are for pedagogical and academic use only. They were written to remain simple, so they lack certain safeguards that production code would possess. They have not been optimized for speed, nor are they guaranteed to be error free.

1 Matlab

is a registered trademark of The MathWorks, Inc.

Chapter 2

Cross sections and nuclear data A collision between a neutron and a nucleus is likely to produce nuclear reactions of different types. In the simplest case, the neutron is simply scattered by the nucleus without penetrating it. This interaction, similar to a billiard-ball collision, is the potential scattering reaction. The potential scattering reaction is elastic, as it conserves both the momentum and kinetic energy of the neutron-nucleus pair. However, a neutron-nucleus collision is likely to produce a compound nucleus where the neutron actually penetrates the nucleus and mixes with other nucleons. In this case, the incident neutron and binding energy is transmitted to the compound nucleus, making it highly unstable. After a half-life of between 10−22 and 10−14 second, the compound nucleus loses excitation energy by emitting particles and/or electromagnetic rays. For heavy nuclides, the most probable decay mode of the compound nucleus is fission. If the compound nucleus does not undergo fission, the majority of the excitation energy is removed by gamma ray or particle emission (protons, neutrons, alpha particles). The mode of decay determines the type of nuclear reaction. In a resonant scattering reaction, for example, a single neutron is emitted with or without emission of gamma rays. If no gamma rays are emitted, the scattering reaction is said to be elastic; otherwise, it is inelastic. A radiative capture reaction is another type of nuclear reaction where the compound nucleus decays by emitting only gamma rays. Various nuclear reactions will be studied with the help of two concepts: 1. the cross sections are related to the probability associated with each nuclear reaction and can be used to compute the corresponding reaction rate, the number of nuclear reactions of this type per unit of time. 2. the collision law describes the dynamics of a collision. The collision law is used to compute the velocity and direction characteristics of the emitted (or secondary) particles as a function of the nuclide temperature and of the characteristics of the incident (or primary) neutron. The secondary particles are those resulting from the decay of the compound nucleus or correspond to the scattered neutron from a potential reaction. We shall first introduce some mathematical elements required to deal with neutron direction and distributions; then, we study the dynamics of a scattering reaction, either potential or resonant.

2.1

Solid angles and spherical harmonics

The direction of a moving particle in a three-dimensional (3D) domain is represented by its solid angle, a unit vector pointing in the direction of the particle, as shown in Fig. 2.1. The

6

Chapter 2

velocity vector V n of the particle is written in terms of its solid angle as V n = Vn Ω

(2.1)

where Vn = |V n |

and

|Ω| = 1.

Ω

d 2Ω

(2.2)

X μ

ψ dψ ξ dφ

Z

φ η

Y Figure 2.1: Definition of the solid angle. The solid angle Ω is defined in terms of its three direction cosines μ, η and ξ, using Ω = μi + ηj + ξk

(2.3)

μ2 + η 2 + ξ 2 = 1

(2.4)

with the constraint where the symbols i, j and k are used to denote the unit vectors in the x-, y- and z-direction, respectively. Here, we have used the x-axis as the principal axis to define the colatitude or polar angle ψ = cos−1 μ and the azimuth φ. The definition domain is 0 ≤ ψ ≤ π for the colatitude and 0 ≤ φ ≤ 2π for the azimuth. On a case-by-case basis, any other axis can be used. The last two direction cosines are written in terms of the azimuthal angle φ using   (2.5) η = 1 − μ2 cos φ and ξ = 1 − μ2 sin φ. An increase in ψ by dψ and in φ by dφ sweeps out the area d2 Ω on a unit sphere. The solid angle encompassed by a range of directions is defined as the area swept out on the surface of a sphere divided by the square of the radius of the sphere. Thus, the differential solid angle associated with solid angle Ω is d2 Ω = sin ψ dψ dφ. (2.6) The solid angle is a dimensionless quantity. Nevertheless, to avoid confusion when referring to a directional distribution function, units of steradians, abbreviated sr, are attributed to the solid angle.

Cross sections and nuclear data

7

In reactor physics, many quantities are continuous and bounded distributions of the particle direction cosine μ or solid angle Ω. In the first case, such a quantity is written f (μ) and can be approximated in terms of an L-order Legendre polynomial expansion using f (μ) =

L  2 + 1 =0

2

f P (μ).

(2.7)

Legendre polynomials obey the following orthonormal relations:  1 2 δ, dμ P (μ) P (μ) = 2 + 1 −1 so that the -th order coefficient is obtained using  1 f = dμ P (μ) f (μ).

(2.8)

(2.9)

−1

The Legendre polynomials are defined by the relations P0 (μ) = 1, and P+1 (μ) =

P1 (μ) = μ

1 [(2 + 1)μ P (μ) −  P−1 (μ)] +1

if  ≥ 1.

(2.10)

In the more general case, a bounded distribution of the particle solid angle is written f (Ω) and can be approximated in terms of an L-order real spherical harmonics expansion using f (Ω) =

L   2 + 1  =0



fm Rm (Ω)

(2.11)

m=−

where Rm (Ω) is a real spherical harmonics component, a distribution of the solid angle Ω. The first component μ of the solid angle is the cosine of the polar angle and φ represents the azimuthal angle. These components are expressed in terms of the associated Legendre functions |m| P (μ) using  Rm (Ω) =

(2 − δm,0 )

( − |m|)! |m| P (μ) Tm (φ) ( + |m|)! 

(2.12)

where Pm (μ) is defined in terms of the -th order Legendre polynomial P (μ) as Pm (μ) = (1 − μ2 )m/2 

and where Tm (φ) =

dm P (μ), m ≥ 0 dμm

cos mφ, if m ≥ 0; sin |m|φ, otherwise.

(2.13)

(2.14)

Note that we have used the Ferrer definition of the associated Legendre functions Pm (μ), in which the factor (−1)m is absent. They can be obtained using the following Matlab script: function f=plgndr(l,m,x) % return the Ferrer definition of the associated Legendre function. % function f=plgndr(l,m,x) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal if m < 0

8

Chapter 2 error(’bad arguments in plgndr 1’) elseif m > l error(’bad arguments in plgndr 2’) elseif abs(x) > 1. error(’bad arguments in plgndr 3’) end pmm=1. ; if m > 0, pmm=prod(1:2:2*m)*sqrt((1.-x).*(1.+x)).^m ; end if l == m f=pmm ; else pmmp1=(2*m+1)*x.*pmm ; if l == m+1 f=pmmp1 ; else for ll=m+2:l pll=((2*ll-1)*x.*pmmp1-(ll+m-1)*pmm)/(ll-m) ; pmm=pmmp1 ; pmmp1=pll ; end f=pll ; end end

The Ferrer definition helps to simplify low-order angular expansions since ⎞ ⎞ ⎛ 0 ⎛ μ R1 (Ω)  Ω = ⎝ 1 − μ2 cos φ ⎠ = ⎝ R11 (Ω) ⎠ . R1−1 (Ω) 1 − μ2 sin φ

(2.15)

Real spherical harmonics are to be preferred to classical ones because they permit us to eliminate imaginary components in 3D problems. The trigonometric functions, associated Legendre functions and real spherical harmonics obey the following orthonormal relations:  π dφ Tm (φ) Tm (φ) = π (1 + δm,0 ) δm,m , (2.16) −π



1 −1

dμ Pm (μ) Pm  (μ) =

2( + m)! δ, (2 + 1)( − m)!

(2.17)

so that 



d2 Ω Rm (Ω) Rm (Ω) = 4π

4π δ, δm,m 2 + 1

(2.18)

with d2 Ω = dμ dφ, so that the components of the distribution in Eq. (2.11) are written  m f = d2 Ω Rm (Ω) f (Ω). (2.19) 4π

In the previous relations, we have introduced the integral over 4π to represent an integration over all possible directions. This integral is defined as   1  2π d2 Ω f (Ω) ≡ dμ dφ f (μ, φ). (2.20) 4π

−1

0

The real spherical harmonics satisfy the addition theorem which can be written in terms of two different solid angles Ω and Ω , as

Cross sections and nuclear data

P (Ω · Ω ) =

 

Rm (Ω) Rm (Ω );  ≥ 0.

9

(2.21)

m=−

The real spherical harmonics can be written as polynomials in direction cosines as follows: R00 = 1, R1−1 = ξ, R2−2 = R21 =



3 ηξ,

√ 3 μη,

R10 = μ,

R2−1 = √

√ 3 μξ,

(2.22) R11 = η, R20 =

(2.23) 1 2 3μ − 1 , 2

3 2 η − ξ2 , 2

R22 =

√ 5 2 3 2 ξ 3η − ξ 2 , R3−2 = 15 μξη, R3−1 = ξ 5μ − 1 , 8 8

√ 1 3 15 2 η 5μ2 − 1 , R32 = μ η − ξ2 , R30 = μ 5μ2 − 3 , R31 = 2 8 2

5 R33 = η η 2 − 3ξ 2 . 8

(2.24)

R3−3 =

2.2

(2.25)

Dealing with distributions

Many important quantities in reactor physics such as probability densities or number densities are distribution over space, solid angle and/or energy. These quantities may also be a function of time. We will now provide some mathematical concepts to help deal with these quantities. A distribution is an abstract quantity that gains physical significance only when associated with an order-n differential and with a support D, i.e., a definition domain. Let’s first introduce a definition: Definition A probability density P (x) is a distribution of the random variable x defined in such a way that the average of a function f (x) is given by relation  dx f (x) P (x) (2.26) f (x) = D

so that its normalization is

 1 =

dx P (x) = 1.

(2.27)

D

As an example, we study the probability density Pf (Ω) representing the angular distribution of secondary fission neutrons. This quantity is only meaningful in association with • an order-2 differential d2 Ω = sin ψ dψ dφ where ψ = cos−1 μ is the polar angle of the secondary neutron with respect to the principal axis and φ is the azimuthal angle.1 • the support 0 ≤ ψ ≤ π and 0 ≤ φ ≤ 2π. 1 This

differential is a scalar quantity. We should therefore avoid the notation dΩ.

10

Chapter 2

In this case, Pf (Ω) d2 Ω is the probability for the direction of the secondary neutron to be equal to Ω within a d2 Ω interval. If we assume isotropic emission for this neutron, then Pf (Ω) will be equal to a constant: Pf (Ω) ≡ Pf (μ, φ) = c. (2.28) The value of this constant can be obtained from the knowledge that any probability density is normalized to one:   1



dμ −1

dφ Pf (μ, φ) = (2)(2π)c = 1

(2.29)

0

so that Pf (Ω) =

1 . 4π

(2.30)

Distributions behave differently than functions. They are characterized by the following properties: 1. A distribution D(x) is positive (D(x) ≥ 0). 2. The product of a positive function f (x) by a distribution D(x) is a distribution of x. In this case, f (x)D(x) is a distribution of x. 3. The product of two distributions of x has no mathematical meaning. 4. If D2 (x, y) is a distribution of x and y, then a distribution of x only is obtained using the following reduction formula:  dy D2 (x, y) (2.31) D1 (x) = Sy

where Sy is the support of y. 5. Let’s consider a distribution Da (x) over support {Sx : x1 ≤ x ≤ x2 }. It is possible to obtain Db (y) with y = f (x), where f (x) is a strictly increasing or decreasing function of x over Sx . In this case,    dx  Db (y) = Da (x)   (2.32) dy which can be explicitly written as ⎧ ⎨ Da (x) dx ; Sy : f (x1 ) ≤ y ≤ f (x2 ), dy Db (y) = ⎩ −Da (x) dx ; Sy : f (x2 ) ≤ y ≤ f (x1 ), dy

dy > 0; dx dy if < 0. dx if

(2.33)

For example, let’s compute the probability density Pf (ψ) relative to the polar angle, using Eq. (2.30). A distribution reduction is first performed, as proposed in Eq. (2.31), leading to an expression for Pf (μ) ≡ Pf (cos ψ). We obtain 



Pf (μ) = 0

1 dφ Pf (μ, φ) = 4π





dφ = 0

1 ; 2

with

− 1 ≤ μ ≤ 1.

(2.34)

Next, a change of variable is performed, based on Eq. (2.32), as Pf (ψ) dψ = Pf (μ) |d(μ)| so that Pf (ψ) =

sin ψ 2

(2.35)

(2.36)

Cross sections and nuclear data 

with

11

π

dψ Pf (ψ) = 1.

(2.37)

0

Note that we have kept the same symbol identifying Pf (Ω), Pf (μ) and Pf (ψ) even though they are different mathematical quantities. This shortcut is called generic symbolism and will be used throughout this book. The exact meaning of Pf is found by looking at its arguments. Let us now compute back the probability density Pf (μ) with respect to the principal direction cosine μ. We perform a change of variable to μ = f (ψ) = cos ψ, as proposed in Eq. (2.33), so that d f (ψ) = − sin ψ < 0; with 0 ≤ ψ ≤ π (2.38) dψ and Pf (μ) = −Pf (ψ)

   sin ψ 1 1 dψ =− = ; df (ψ) 2 − sin ψ 2

with

− 1 ≤ μ ≤ 1.

(2.39)

The Dirac delta distribution is a probability density that can be viewed as the mathematical expression of certainty. If a variable x, defined over support Sx , is always equal to x0 with x0 ∈ Sx , then the corresponding probability density is written δ(x − x0 ). Consequently, it is possible to write  dx f (x) δ(x − x0 ) = f (x0 ) (2.40) Sx

where f (x) is any function of x defined over the support. The Dirac delta distribution is normalized to one, as any probability density, so that  dx δ(x − x0 ) = 1. (2.41) Sx

A change of variable can be performed in the usual way. If y = f (x), we rewrite Eq. (2.32) as    dx  δ(y) = δ(x)   (2.42) dy so that in the particular case where y = λx, Eq. (2.42) reduces to δ(λx) =

δ(x) . |λ|

(2.43)

Probability tables corresponding to a function f (x) with x1 ≤ x ≤ x2 can be defined from the probability density Π(f ). Π(f )df is the probability for function f (x) to have a value between f and f + df inside domain x1 ≤ x ≤ x2 . An illustration of this probability density is shown in Fig. 2.2. The probability density Π(f ) is normalized to unity, as 

max(f )

df Π(f ) = 1.

(2.44)

min(f )

The probability density Π(f ) can be approximated by an equivalent probability density Π (f ) defined as a weighted sum of K Dirac delta distributions and written as Π (f ) =

K  k=1

ωk δ(f − fk )

(2.45)

12

Chapter 2 f(x) 10 8 6 4 2 0 −2 −4

−8

1

2

3

4

5

6

7

8

9

x

Π(f)

−6

Figure 2.2: Definition of the probability density Π(f ). Function f (x) = (x + 1) sin x is defined over domain 1 ≤ x ≤ 9.5. where

K 

ωk = 1.

(2.46)

k=1

The discrete values ωk and fk ∈ Sf are the weights and base points, respectively. The support of function f (x) is {Sf : min(f ) ≤ f ≤ max(f )}. The set of values {ωk , fk ; k = 1, K} is an order K probability table. Using this approach, any Riemann integral with a f -dependent integrand and defined over domain x1 ≤ x ≤ x2 , can be replaced by an equivalent Lebesgue integral defined over its support Sf . We can write 1 x 2 − x1 and





max(f )

dx g [f (x)] = x1

max(f )

min(f )

2.3



x2

df Π(f ) g(f )

(2.47)

min(f )

df Π (f ) g(f ) =

K 

ωk g(fk ).

(2.48)

k=1

Dynamics of a scattering reaction

In order to simplify the representation of scattering reactions, we will introduce the following approximations: 1. Relativistic effect can be neglected. The kinetic energy of a neutron is generally smaller than 10 MeV in a nuclear reactor.2 This value is low as compared to the rest energy of the neutron (E0 = mc2 = 939.55 MeV).3 2. The neutron-neutron interactions can be neglected. This approximation is justified by the small number density of neutrons, compared to the number density of nuclei. 3. The neutron trajectories between collisions are straight lines. 4. The materials are isotropic in space. Consequently, the effects of a neutron-nucleus collision are not a function of the initial direction of the neutron. 2 The

3 The

electron volt is the unit of energy used in reactor physics. 1 eV=1.6021×10−19 Joule. mass of the neutron is m = 1.6749544 × 10−27 kg. The atomic mass unit is u = 1.660438 × 10−27 kg.

Cross sections and nuclear data

13

5. The lifetime of a neutron in a nuclear reactor is smaller than the radioactive half-life of the neutron ( 10.25 m) by many orders of magnitude. Radioactive decay of neutrons is therefore neglected. 6. The nuclei are always in thermal equilibrium with the material and their velocity distribution is given by the Maxwell-Boltzmann law at absolute temperature T :  p(V A ) =

mA 2πkT

 32



mAVA2 exp − 2kT

 (2.49)

where VA = the modulus of V A , the velocity of the nucleus in the laboratory frame of reference (LAB) k = Boltzmann constant (= 8.617065 × 10−5 eV/K = 1.38054 × 10−23 J/K) T = absolute temperature of the mixture (K) m = neutron mass (= 1.6749544 × 10−27 kg) A = atomic mass ratio (nucleus mass in units of the neutron mass) p(V A ) d3 VA = probability for a nucleus to have a velocity V A (within a d3 VA interval) in the LAB. This probability density is normalized as  d3 VA p(V A ) = 1.

(2.50)



These five approximations are commonly used in reactor physics and will be assumed throughout this book. We will now formulate a second set of approximations that will enable us to easily obtain our first collision law. These new approximations are less fundamental than the preceding ones and may not be applicable in some practical cases. 7. In a neutron-nucleus collision, both momentum and kinetic energy of the system are conserved. Such a reaction is said to be elastic. Note that this approximation may break down in some nuclear reactions, such as inelastic scattering, where gamma energy is produced. 8. The neutron-nucleus collision is isotropic in the center of mass frame of reference (CM) of the colliding pair. This approximation means that all the emission angles of the secondary particles are equiprobable in the CM frame of reference. This approximation is known to fail at energies of the incident neutron greater than 1 MeV. 9. The nuclei are free between impacts and behave like a free gas. This approximation assumes that the nuclides are free from any atomic or molecular binding forces. However, for energies of the incident neutron smaller than 4 eV, molecular or metallic binding forces do have an effect if the nuclide is used as a moderator (e.g., H2 O, D2 O, graphite, etc.). We will first study the dynamics of an elastic scattering reaction, either potential or resonant. We will obtain the collision law as a consequence of conservation relation for the linear momentum and for the kinetic energy of the system. A neutron-nucleus collision in the laboratory frame of reference (LAB) is represented in Fig. 2.3. The collision law will be obtained in terms of the following quantities:

14

Chapter 2 n

Vn' θ ψ

Vn

n

γ VA

A

' VA

A

Figure 2.3: Neutron-nucleus collision in the LAB. V n , V n  = initial and final velocity of the neutron in the LAB. We will also define the modulus of these vectors as Vn = |V n | and Vn = |V n  |. E, E  = initial and final kinetic energy of the neutron in the LAB. They are computed as E = 21 mVn2 and E  = 21 mVn2 . V A , V A  = initial and final velocity of the nucleus in the LAB. ψ, θ = deviation angles in the LAB for the nucleus and the neutron, as shown in Fig. 2.3. The collision law is a probability density written Pe (E  ← E, μ) where μ = cos θ is the deviation cosine of the neutron. The quantity Pe (E  ← E, μ) dE  dμ is the probability for a neutron of initial energy E and undergoing an isotropic collision in the CM to have a final energy equal to E  (within a dE  interval) and a deviation cosine equal to μ (within a dμ interval) in the LAB. This collision law is a distribution with respect to variables E  and μ but a function with respect to E. It may also be a function of other quantities such as the absolute temperature on the underlying material. Its support is 0 ≤ E  ≤ ∞ and −1 ≤ μ ≤ 1. It is easier to obtain the collision law by studying the same collision in the CM. The position r CM of the center of mass in the LAB is defined by (A + 1) r CM = r n + A r A

(2.51)

where r n and r A are the position of the neutron and of the nucleus, respectively. The velocity of the center of mass in the LAB is (A + 1) V CM = V n + A V A = V n  + A V A 

(2.52)

where the RHS part of this equation is an application of the conservation of linear momentum. The velocity V CM of the center of mass is constant in the LAB before and after the collision. The new dynamic relations will be obtained in terms of the following quantities: v n , v n  = initial and final velocity of the neutron in the CM. We will also define the modulus of these vectors as vn = |v n | and vn = |v n  |. en , en  = initial and final kinetic energy of the neutron in the CM. They are computed as en = 21 mvn2 and en  = 12 mvn2 . v A , v A  = initial and final velocity of the nucleus in the CM. eA , eA  = initial and final kinetic energy of the nucleus in the CM. They are computed as 2 2 and eA  = 21 mAvA . eA = 21 mAvA The velocities in the CM are v n = V n − V CM ,

v A = V A − V CM

(2.53)

Cross sections and nuclear data v n  = V n  − V CM

and

v A  = V A  − V CM .

15

(2.54)

Combining Eqs. (2.52), (2.53) and (2.54), we can show that vn = V n −

A Vn + A VA = VR A+1 A+1

and

vA =

−1 VR A+1

(2.55)

where V R is the initial relative velocity between the neutron and the nucleus. It is defined as V R = V n − V A.

(2.56)

We observe that v n and v A are collinear vectors of opposite direction in the CM. During the collision, the two particles will remain at rest in the CM. If a compound nucleus is formed, it will remain at rest in the CM, so that all the kinetic energy of the particles will be available as excitation energy. This quantity is the available kinetic energy for excitation eexc defined as 1 mA 2 eexc = en + eA = V . (2.57) 2A+1 R We will see later that eexc is only one component of the excitation energy for the compound nucleus. Moreover, eexc is not the sum of En and EA , as the compound nucleus is moving in the LAB. The kinetic energy of the compound nucleus in the LAB is not available as excitation energy. Assuming conservation of linear momentum in the CM, we write vn + A vA = vn  + A vA  =

A 1 VR − A VR = 0 A+1 A+1

(2.58)

so that v n = −A v A

and

v n  = −A v A  .

(2.59)

These relations are depicted in Fig. 2.4. We see that the deviation angles of the neutron and the nucleus are equal and that the velocity vectors of the two particles remain collinear after the collision.

n

vn

vA

vn' ϕ

A A

n

vA'

Figure 2.4: Neutron-nucleus collision in the CM. Assuming conservation of kinetic energy of the neutron-nucleus pair, we write

so that

en + eA = en + eA = eexc

(2.60)

1 1 1 mA 2 2  2 mv  + mAvA V . = 2 n 2 2A+1 R

(2.61)

Using Eq. (2.59), we finally find vn = vn =

A VR A+1

and

 vA = vA =

1 VR . A+1

(2.62)

16

Chapter 2

Equations (2.62) are scalar relations demonstrating the conservation of the CM velocity modules for each particle during the collision. We have now reached the point where the collision law can be obtained. Assuming the isotropic emission of the secondary neutron in the CM, a first probability density can be written as 1 (2.63) Pe (Ω ← Ω) = 4π where the solid angles are defined in terms of the deviation angle ϕ and on the azimuth in the CM. The deviation angle is already defined in Fig. 2.4. The two angles are defined in Fig. 2.5. vn' ε

ϕ

Ω

Ω'

n

ex

Figure 2.5: Initial and final directions of the neutron in the CM. Assuming that Ω = i, we see that Ω = cos ϕ i + sin ϕ cos j + sin ϕ sin k. The support of Pe is 0 ≤ ϕ ≤ π and 0 ≤ ≤ 2π. Pe (Ω ← Ω)d2 Ω is the probability for a neutron of initial direction Ω and undergoing an isotropic collision in the CM to have a final direction equal to Ω (within a d2 Ω interval) in the CM. A distribution reduction is performed, as proposed in Eq. (2.31) to get the probability density in terms of the deviation cosine cos ϕ = Ω · Ω in the CM. We obtain  2π 1 Pe (cos ϕ) = (2.64) d Pe (Ω ← Ω) = 2 0 over the support −1 ≤ cos ϕ ≤ 1. Pe (cos ϕ) d(cos ϕ) is the probability for a neutron undergoing an isotropic collision in the CM to have a deviation cosine equal to cos ϕ (within a d(cos ϕ) interval) in the CM. As expected, this probability density is normalized to one:  1 d(cos ϕ) Pe (cos ϕ) = 1. (2.65) −1

2.3.1

Collision of a neutron with a nucleus initially at rest

Before considering the general case of initially moving nuclides, we will study the collision of a neutron with a nucleus initially at rest. In this case, the preceding equations still applied, with V A = 0 in the LAB. Equations (2.52) and (2.62) are now written VCM =

1 Vn A+1

and

vn = vn =

A Vn . A+1

(2.66)

We can also apply the cosine law to the vector relation of Eq. (2.54) as depicted in Fig. 2.6. We obtain

2 + vn + 2VCM vn cos ϕ Vn = VCM 2

2

(2.67)

vn

where VCM and are independent of ϕ. Taking the derivative of Eq. (2.67) and substituting Eqs. (2.66) leads to 2Vn dVn = 2VCM vn d(cos ϕ) =

2A V 2 d(cos ϕ). (A + 1)2 n

(2.68)

Cross sections and nuclear data

Vn'

17

vn' ϕ

θ VCM

Figure 2.6: Relation between frames of reference. The last equation can be written in terms of initial and final energies of the neutron in the LAB. We obtain 4A E d(cos ϕ) = (1 − α) E d(cos ϕ) (2.69) 2dE  = (A + 1)2 where

 α=

A−1 A+1

2 (2.70)

so that 0 ≤ α < 1, the lower and upper limits corresponding to a collision of the neutron on a H and heavy nucleus, respectively. We perform a change of variable to E  = f (cos ϕ), as proposed in Eq. (2.33), so that

1

2 d > 0; (cos ϕ) = dE  (1 − α) E

− 1 ≤ cos ϕ ≤ 1

with

(2.71)

and Eq. (2.64) becomes  d 1 Pe (E ← E) = [Pe (cos ϕ)] ; (cos ϕ) = dE  (1 − α) E 



with

  Emin ≤ E  ≤ Emax .

(2.72)

The support of E  can also be found using the vector diagram of Fig. 2.6. If cos ϕ = −1, then A−1  Vn so that Emin = α E. (2.73) Vn = vn − VCM = A+1 At the other limit, cos ϕ = 1, and Vn = vn + VCM = Vn

so that

 Emax = E.

(2.74)

We conclude that the probability density is uniform in the support α E ≤ E  ≤ E, as shown in Fig. 2.7. The collision of a neutron with a nucleus initially at rest has the effect of slowing it down. The slowing-down effect is more important for light nuclides, as they are characterized by small values of α. Pe(E'←E) 1/(1-α)E

αE

E

E'

Figure 2.7: Collision law for a nucleus initially at rest. We will now compute the complete collision law Pe (E  ← E, μ), as defined in the beginning of Sect. 2.3. In the case where the nucleus is initially at rest, the variables E  and μ are

18

Chapter 2

dependent on each other and are related by a function of type μ = f (E  ), for any given value of E. All the neutrons with a given final energy E  have the same deviation angle ϕ in the CM and the same deviation cosine μ in the LAB. The probability density describing a known event is the Dirac delta density δ(x). In our case, the complete collision law is Pe (E  ← E, μ) = Pe (E  ← E) δ [μ − f (E  )] .

(2.75)

The vector diagram of Fig. 2.6 and the cosine law will be used again as the starting point to compute f (E  ). We write vn = Vn + VCM 2 − 2Vn VCM μ. 2

2

(2.76)

Using Eqs. (2.66), Eq. (2.76) becomes 

A A+1

2 2

Vn =

2 Vn

 +

1 A+1

2 Vn 2 −

2 V  Vn μ A+1 n

which can be written in terms of initial and final energy of the neutron in the LAB as √ −(A − 1) E + (A + 1) E  = 2 E E  μ.

(2.77)

(2.78)

It is now possible to obtain the deviation cosine of the neutron in the LAB as a function of E  . We write

E E 1 1  − (A − 1) . (2.79) μ = f (E ) = (A + 1) 2 E 2 E Substituting Eq. (2.79) into Eq. (2.75), we obtain the required collision law as ⎧     ⎨ 1 E 1 E 1  Pe (E  ← E, μ) = (1 − α)E δ μ − 2 (A + 1) E + 2 (A − 1) E  , if αE ≤ E ≤ E; ⎩ 0, otherwise. (2.80) This equation is often referred to as the elastic slowing-down collision law. It can be used to study the slowing-down of neutrons in the energy range above 1 eV. At lower energies, the nuclides can no longer be considered initially at rest due to their thermal agitation. They can therefore transmit kinetic energy to the neutrons. The support of this distribution is 0 ≤ E  ≤ ∞ and −1 ≤ μ ≤ 1 and its normalization condition is  1  ∞ dE  dμ Pe (E  ← E, μ) = 1. (2.81) 0

−1

Equation 2.72 indicates that a neutron loses a fraction of its initial kinetic energy in each elastic scattering reaction. A logarithmic scale is therefore more useful than a linear scale to describe the behavior of neutrons in energy. We define the lethargy of the neutron as u = ln

E0 E

(2.82)

where E0 is a reference energy taken above the maximum energy of all neutrons in the reactor. The lethargy is generally defined in the LAB. A neutron emitted at energy E0 has a zero lethargy. Its lethargy will increase as the neutron slows down in the reactor. The collision law can also be written in terms of lethargy. Pe (u ← u, μ)du dμ is the probability for a neutron of initial lethargy u and undergoing an isotropic collision in the CM to have a final lethargy equal to u (within a du interval) and a deviation cosine equal to μ

Cross sections and nuclear data

19

(within a dμ interval) in the LAB. We apply Eq. (2.82) as a change of variable in Eq. (2.80). Following the procedure of Eq. (2.33), we obtain   e−U  1 −U/2  + 12 (A − 1) eU/2 , if 0 ≤ U ≤ ; (2.83) Pe (u ← u, μ) = 1 − α δ μ − 2 (A + 1) e 0, otherwise, where U = u − u is the actual lethargy gain of the neutron and

= ln

1 α

(2.84)

is the maximum gain of lethargy.

2.4

Definition of a cross section

The trajectory of a neutron in a material is a straight line which can be interrupted by a nuclear interaction with a nucleus of the material. The neutron-nucleus collision can result in a variety of nuclear reactions. The elastic scattering reaction, studied in Sect. 2.3, is one such reaction. The concept of cross section is used to describe the probability of each type of nuclear reaction. This concept is based on a fundamental property characterizing nuclear interactions, and stated as: The probability for a neutron located at r and moving in a material at velocity Vn to undergo a nuclear reaction in a differential element of trajectory ds is independent of the past history of the neutron and is proportional to ds. Let’s consider a one-speed and parallel beam of neutrons of intensity I neutrons per unit surface and unit time. The beam hits a target of width ds perpendicularly, as shown in Fig. 2.8. The target contains a unique type of nuclide with a number density of N nuclei per unit volume.

N (cm-3)

I (cm-2 s-1)

ds

Figure 2.8: Definition of a cross section. The number density of nuclei in the target is given by N=

ρ A0 M

(2.85)

where ρ is the density (g/cm3 ), M is the atomic mass of one nuclide (expressed in u) and A0 is the Avogadro number defined as 6.022094 × 1023 u/g.4 The intensity I of the beam is obtained from I = VR n

(2.86)

where VR is the relative velocity of the neutrons with respect to the target and n is the number density of the neutrons (cm−3 ) in the beam. If the target is at 0 K, the nuclei are at rest and VR is equal to the velocity Vn of the neutrons. 4 The

unified atomic mass unit u is defined as one twelfth of the rest mass of a neutral

12 C

atom.

20

Chapter 2

The surfacic reaction rate dRx is defined as the number of nuclear reactions of type x per unit time and unit surface of the target. It is experimentally found that dRx is proportional to the number density of nuclides in the target, to the intensity of the beam, and to the width of the target, at the limit of zero width. The microscopic cross section σx is defined as the proportionality factor. This relation is written dRx = σx N I ds.

(2.87)

The microscopic cross section must have the dimension of a surface to make Eq. (2.87) dimensionally consistent. It is generally expressed in barn (b), with 1 b = 10−24 cm2 . It is also common to define the macroscopic cross section Σx to group all the characteristics of the target in a single value. It is defined as Σx = N σx .

(2.88)

If the material of the target is a homogeneous mixture of different types i of nuclides, the resulting macroscopic cross section is  Ni σx,i . (2.89) Σx = i

Moreover, we define the total macroscopic cross section as the sum of cross sections from all nuclear reactions. We write  Σx . (2.90) Σ= x

Now let’s consider a one-speed and parallel beam of intensity I0 neutrons per unit surface and unit time. The beam hits a slab of finite width perpendicularly, as shown in Fig. 2.9.

I0 (cm-2 s-1) s

ds

Figure 2.9: Attenuation of a neutron beam in a finite slab. The collision or total reaction rate dR represents the number of collisions of neutrons in an elemental width ds located at distance s, per unit time and unit surface of the slab. Each time a neutron collides in ds, it is removed from the uncollided beam. Using Eq. (2.87), the reaction rate is written dR = −dI(s) = I(s) Σ ds (2.91) where I(s) is the intensity of the uncollided beam after a distance s in the slab. Integrating this equation between 0 and s, we obtain I(s) = I0 e−Σs .

(2.92)

The ratio I(s)/I0 is the probability for the neutron to be uncollided after it travels a distance s. The probability of an interaction for this neutron in the following elemental width ds is Σ ds. The probability P (s) ds for a neutron in I0 to collide in ds is therefore P (s) ds = Σ e−Σs ds.

(2.93)

Cross sections and nuclear data

21

Equation 2.93 is useful to define the mean free path λ of neutrons in an infinite slab, an important quantity in reactor physics. The mean free path is the average trajectory length of the neutrons in an infinite and homogeneous material. This value is obtained from the equation  ∞ 1 (2.94) ds s P (s) = . λ= Σ 0 Each type of nuclear reaction is characterized by a specific microscopic cross section σx which is also a function of the type of nuclide and of the velocity or kinetic energy of the neutron. However, the potential cross section is independent of neutron energy. An elastic neutron-nucleus collision is characterized by an elastic scattering cross section σe . This reaction includes both potential and resonant elastic collisions. We use the symbol Q to represent the energy produced by a nuclear reaction in the form of kinetic energy in excess of eexc . An elastic scattering reaction has Q = 0. In some situations, called threshold reactions, Q is negative and the nuclear reaction can occur only if eexc ≥ −Q. If a scattering reaction has a threshold energy −Q, the compound nucleus is left excited after the collision and decays with gamma ray emission of energy −Q with a very short half-life. Such a reaction is the inelastic scattering cross section σin . The definition of scattering and absorption reactions is somewhat arbitrary. We have chosen to include (n,xn) reactions in the scattering cross section. σ total

σs σe

σin

σn,2n

σn,3n

(n,xn) scattering

σf

σγ

σα

σp

transmutation absorption

Figure 2.10: Hierarchy of cross-section types. In a similar way, we may define cross sections for reactions involving the absorption of the incident neutron. There are many types of such reactions, including the fission cross section σf , the radiative capture cross section σγ and transmutation cross sections σα (an α particle is emitted) or σp (a proton is emitted). The total cross section is the sum of all existing cross sections. A representation of this hierarchy is given in Fig. 2.10. Nuclear reactions in reactor physics are often represented with the following notation: (n,n): elastic scattering, (n,n’): inelastic scattering, (n,2n): n-2n reaction, (n,γ): radiative capture, (n,f): fission, etc. All these reactions, with the exception of the potential scattering, involve the formation of a compound nucleus and are characterized by cross sections that may exhibit high variation with neutron energy. These phenomena will be studied in the next section.

2.5

Formation of a compound nucleus

Any nuclear reaction involving formation of a compound nucleus proceeds in two successive steps:

22

Chapter 2 1. The incident neutron is absorbed by the target nucleus A Z X to form an excited state of X called the compound nucleus. During the formation process, the available nucleus A+1 Z kinetic energy of the incident neutron eexc and the binding energy of this additional neutron Sn (A + 1, Z) are distributed among all the nucleons of the compound nucleus. The binding energy is computed in terms of the mass default using Sn (A + 1, Z) = [M (A, Z) + mn − M (A + 1, Z)] c2

(2.95)

where M (A, Z) is the mass of isotope A Z X expressed in u, mn = 1.008665 u is the mass of the neutron and c2 = 931.5 MeV/u is the square of the light velocity in void. 2. The compound nucleus decays with a half-life between 10−22 and 10−14 second, without memory of how it was formed. The neutronic reactions are not the only ones that can produce a compound nucleus; a photo-nuclear interaction (with an incident γ ray) can produce the same effect. This decay can occur following a number of decay channels, as represented in Table 2.1. Each decay channel involves the production of secondary rays and/or particles which can emerge in ground or excited state.

Table 2.1: Types and number of decay channels 1 2 3 4

Type of reaction elastic scattering inelastic scattering radiative capture fission

Number of decay channels 1 channel 1 channel if eexc ≥ −Q very high number of channels 2 or 3 channels if eexc + Sn ≥ ef

We may model the creation and decay of the compound nucleus as a two-stage reaction: ⎧ 1 ⎪ ⎨ 2 A+1 A 1 ∗ , (2.96) Z X +0 n → Z X → ⎪ ⎩ 3 4 where the asterisk indicates that the compound nucleus is in an excited state. The first arrow denotes the formation stage and the second, the decay stage. The energy-level diagram for this reaction is shown in Fig. 2.11. A decay channel is open only if three conservation laws of the nuclide-nucleus pair are obeyed: conservation of energy, of linear momentum, and of angular momentum. The first two conservation laws have already been studied in Sect. 2.3. The principle of conservation of angular momentum is written J =I +K +L (2.97) where I = angular momentum of the target nucleus A Z X in its ground state J = angular momentum of the compound nucleus

A+1 ZX

in its excited state

K = angular momentum of the neutron L = orbital angular momentum of the nuclide-nucleus pair in the CM.

Cross sections and nuclear data

23

≈ 1 eV

J

π2

(excited level)

2

es = –Q

4

1

eexc Iπ1 A ZX

negative resonances

3

Sn(A+1,Z) ≈ 5 MeV

≈ 40 keV

A+1 (compound nucleus) ZX

Figure 2.11: Reaction with formation of a heavy compound nucleus.

The classical definition of the orbital angular momentum of the nuclide-nucleus pair about the origin of the CM is L = m(r n − r CM ) × v n + mA(r A − r CM ) × v A .

(2.98)

Using Eq. (2.55) and defining the ez -directed axis as perpendicular to the plane where the particles are moving, Eq. (2.98) simplifies to L = ΔR VR m0 ez

(2.99)

where ΔR is the distance between the lines of definition of vectors v n and v A in the CM and m0 is the reduced mass of the neutron defined as m0 =

mA . A+1

(2.100)

In reactor physics, the principle of conservation of angular momentum involves principles of quantum mechanics. There is a relation between the angular momentum of a particle and its spin quantum number and a relation between the orbital angular momentum of the neutronnucleus pair and the angular momentum quantum number. In quantum mechanics, the modulus

24

Chapter 2

of the orbital angular momentum vector L is related to the angular momentum quantum number , a positive integer, by the relation  L = ( + 1) ¯h (2.101) where h ¯ = 1.054494×10−34 J·s is the reduced Plancks constant.  is an important characteristic of a neutron-nuclide interaction. A comparison of the classical expression of L in Eq. (2.99) and of the quantum expression in Eq. (2.101) indicates that  = 0 is likely to occur if VR is low. However, in cases where ΔR or VR is high, greater values of  become possible. Note that high values of ΔR are only possible when the target nucleus has a large radius, a characteristic of heavy nuclides. The following nomenclature is universally accepted:  0; s-wave interaction, =

1; 2;

p-wave interaction, d-wave interaction,

with s-wave interactions the most common for low-energy incident neutrons and p- or d-wave interactions more probable for heavy target nuclides. Another quantum-related quantity is required, in addition to the angular momentum. The parity π is a binary quantity (equal to +1 or -1) that characterizes the energy levels of the particles in interaction. The basic information about parity is shown in Table 2.2. Notations I π1 and J π2 are often used to represent the spin and parity of initial and final levels, respectively. An energy level of the compound nucleus can be excited if the two following selection rules are fulfilled (see Appendix D in Ref. [1]): 1. the spin J of the excited level in A+1 Z X is an element of set {Jmin , Jmin + 1, . . . , Jmax } where    1  1  (2.102) Jmin = |I − | −  and Jmax =  + I + , 2 2 2. the parity of the excited level in

A+1 ZX

must obey

π2 = π1 (−1)

(2.103)

where π1 and π2 are the parity of the target (ground level) and of the compound nucleus (excited level), respectively. The parity is therefore conserved with s- and d-wave interactions and inverted with p-wave interactions.

Table 2.2: Spin and parity of some particles at ground level. Spin (I, J or K) Neutron 1/2 Nucleus (ground state): even A and even Z 0 even A and odd Z integer and = 0 odd A half integer

Parity (π) +1 +1 unknown unknown

Notice that e∗ = Sn (A + 1, Z) + eexc is the available excitation energy of the compound nucleus and is measured on the CM. If the compound nucleus has an excited state at ei that is close to e∗ , then one can have a resonance condition and the compound nucleus formation cross section will show a peak at the neutron incident energy corresponding to ei . These peaks are at the origin of the resonant cross section phenomena, as depicted in Fig. 2.12. We also

Cross sections and nuclear data

25

eexc σx

12.5

7.5

10.0

5.0

2.5

0

A ZX

Figure 2.12: Resonant structure of cross sections.

observe that the resonance peaks for a cross section of isotope A Z X correspond to the excitation X located above energy S (A + 1, Z). states of isotope A+1 n Z Each excitation level ei has a certain energy width γi , due to the Heisenberg uncertainty principle. All the resonances of the nuclide will contribute to its cross sections at a given energy. Interference effects may occur between resonances, but are beyond the scope of this text. The width γi corresponds to a finite lifetime τi of this level and is written γi =

¯h . τi

(2.104)

The finite lifetime is the average lifetime of the compound nucleus at level i. It is the reciprocal of the radioactive decay constant. The smaller the width, the longer the lifetime of the level. The energy width γi is defined in the CM. The resonance width is related to the formation of the compound nucleus at level i. The probability for it to decay with a nuclear reaction of type x is given in terms of the partial resonance width γx,i as γx,i (2.105) Px,i = γi so that γi =



γx,i .

(2.106)

x

The decay channel x is one of the reactions listed in Table 2.1. The partial width corresponding to the scattering reaction is the neutron width γn,i . The peak energy of a resonance may be negative, in the case where a level of the compound nucleus is close to the state corresponding to the capture of a neutron by the target but is located below this state. Such a resonance is called a negative resonance. In this case, the peak of the resonance cannot be observed directly, but detailed inspection of the cross-section variation allows the determination of γi and of the negative ei value for this resonance. Intermediate and heavy isotopes are characterized by a high number of resonances. It becomes possible to apply statistical studies of the resonance widths γ and of their spacing D, corresponding to a given spin and parity. This statistical treatment is useful for the representation of the unresolved resonances in domain 10keV ≤ E ≤ 300keV, even through the resonances do not completely overlap. In these conditions, only average values of γ and D are available, and a statistical approach is indicated.

26

Chapter 2

The neutron width is a function of the incident neutron energy and is written γn (eexc ). The statistical treatment of the neutron width is applied on the random variable x=

γn γn 

(2.107)

where the reduced neutron width γn , a function of the angular momentum quantum number , is defined as γn (eexc ) (2.108) γn = √ v (eexc ) eexc where v (eexc ) is a coefficient related to the penetrability of the potential barrier in the target nucleus. The first three values of this coefficient are v0 (eexc ) v1 (eexc )

=

1 

= 

v2 (eexc )

=

R λ R λ

2 

 1+

4 

R λ

 9+3

2 −1

R λ



2 +

R λ

4 −1 (2.109)

where R is the hard sphere radius of the nucleus. It can be computed in terms of the atomic mass ratio A using the following correlation:   (2.110) R = 0.123 A1/3 + 0.08 × 10−12 cm, and where λ is the reduced wavelength of the neutron, defined by the relation λ =

¯h ¯h =√ m0 V R 2m0 eexc

(2.111)

where the reduced mass of the neutron m0 is given by Eq. (2.100). Note that the right-hand term was obtained with the help of Eq. (2.57). The reduced wavelength can also be written in terms of the neutron mass m and of the excitation energy Eexc in the LAB. We write A+1 h ¯ 1 A+1 √ √ = 0.4552136 × 10−9 cm λ = A A 2m Eexc Eexc where Eexc =

A+1 eexc A

(2.112)

(2.113)

 is expressed in eV. √ Using the above definitions, we find that the reduced neutron width γn can be expressed in meV. Porter and Thomas have shown that the resonance widths γγ , γf and the normalized neutron width γn corresponding to a single spin and parity obey chi-square statistics. The PorterThomas distribution is written  νx  ν −1 ν 2 e−νx/2 P (x, ν) = (2.114) 2G(ν/2) 2

where x = γx / γx  is the random variable defined as the ratio of the actual resonance width divided by the average resonance width for reaction x. The random variable defined in Eq. (2.107) must be used in the case of the neutron width. The number of degrees of freedom ν in the

Cross sections and nuclear data

27

Porter-Thomas distribution is equal to the number of decay channels of the compound nucleus. The average value of x is 1 and its most probable value is xp = 1 − 2/ν if ν ≥ 2. In the case where ν = 1, P (x, 1) becomes infinite at x = 0. The gamma function G(ρ) is defined as  ∞ G(ρ) = dt e−t tρ−1 (2.115) 0



so that G(1/2) = π, G(1) = 1 and G(ρ) = (ρ − 1) G(ρ − 1). The Porter-Thomas distribution is depicted in Fig. 2.13 for different values of ν. P(x,ν)

1.5

ν=∞

1

ν = 16 ν=4 ν=2

0.5

ν=1 0

0

3

2

1

x

Figure 2.13: Porter-Thomas distribution. In the case of a scattering reaction, ν = 1 and Eq. (2.114) simplifies to a decreasing exponential. In the case of radiative capture, the number of decay channels is very high and P (x, ∞) = δ(x − 1), the Dirac delta distribution. In this case, γγ will be of similar magnitude from resonance to resonance. The statistical distribution of the resonance spacings corresponding to a single spin and parity follows the Wigner distribution, written as S(x) =

π 2 π x e− 4 x 2

where

x=

D . D

(2.116)

The Wigner distribution is depicted in Fig. 2.14.

2.5.1

The single level Breit-Wigner formulas

The single level Breit-Wigner (SLBW) formulas result from the application of the Schr¨odinger equation to a compound nucleus model with a single excitation level. With this model, variations in cross sections are related to the width and energy characteristics of the excited level. For reactions involving the absorption of the incident neutron, such as radiative capture or fission, the SLBW formula is written in terms of the reduced energy variable u=

2 (eexc − e1 ) γ1

as[2] σx (eexc ) = σ0 where

γx,1 1 γ1 1 + u2

(2.117)

(2.118)

28

Chapter 2 S(x)

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

1

2

3

x

Figure 2.14: Wigner distribution. γx,1 = resonance width of the excited level for an absorption reaction of type x γ1 = total resonance width of the excited level e1 = energy of the excited level in the CM relative to the ground level of the target nucleus. The parameter σ0 is defined as σ0 = 4π λ 2 gJ

 γn,1 γn,1 (eexc ) 2π¯h2 = v (eexc ) gJ √ γ1 m0 eexc γ1

(2.119)

where the expression for γn,1 (eexc ) and λ 2 were recovered from Eqs. (2.108) and (2.111), re spectively. In this relation, γn,1 is constant. The statistical spin factor gJ is defined as gJ =

2J + 1 2J + 1 = (2I + 1)(2K + 1) 2(2I + 1)

(2.120)

since K = 1/2 for the neutron. The excited level of the compound nucleus has a spin J which is a function of the angular momentum quantum number  and is consistent with Eq. (2.102). In the case of an elastic scattering reaction, the cross section is the sum of three components. The first two are the potential and resonant cross-section terms. There is also an interaction term between the first two components. The interference term arises in the quantum mechanical model when the modulus of the sum of two complex quantities is taken. The SLBW formula corresponding to the elastic scattering cross section is   γn,1 1 u 2  σe (eexc ) = σp + σ0 sin 2φ + σ0 − 2 sin φ . (2.121) 1 + u2 γ1 1 + u2 The potential component σp is defined in terms of the angular momentum quantum number  as σp = 4π λ 2 (2 + 1) sin2 φ (2.122) where the integer quantum number  is ≥ 0 and where the first values of the shift factor φ are written as a φ0 =  λ a a φ1 =  − tan−1  λ λ

Cross sections and nuclear data

=

φ2

a − tan−1 λ

3a λ  a 2 . 3−  λ

29

(2.123)

We have used the diffusion radius a, different from the hard sphere radius R introduced earlier. In general, the ratio a/λ is small with respect to one, and the potential cross-section component σp0 for s-wave interactions is almost equal to the classical value corresponding to a “billiard-ball” collision: (2.124) σp0 = 4π a2 . Summation of Eq. (2.121) with Eq. (2.118) corresponding to all absorption types of nuclear reactions leads to the SLBW expression of the total cross section: σ(eexc ) = σp + σ0 sin 2φ

u 1 + σ0 cos 2φ . 2 1+u 1 + u2

(2.125)

Equations (2.118) and (2.121) describe the variation of the absorption-type and scattering cross sections with energy eexc for the case of a unique resonance. These variations are depicted in Fig. 2.15. σe (b) 9

σf (b)

σγ (b)

80 20 40 8.75 10 20

8.5

0

0.2

0.4

0.6

0.8 E (eV)

Figure 2.15:

235

0

0

0.2

0.4

0.6

0.8 E (eV)

0 0

0.2

0.4

0.6

0.8 E (eV)

U cross sections of the 0.29 eV resonance.

Figure 2.16 is a nice illustration of the effect of the interference term in Eq. (2.121). This is a very well-known shielding issue associated with 56 Fe. The cross section almost vanishes near 24 keV, so that incident neutrons with this energy undergo very few collisions in iron. The SLBW formula can only be applied to an isolated resonance. However, most isotopes exhibit many resonances at increasing energies. A crude approximation consists of neglecting resonance interactions and simply adding the SLBW contribution of each resonance. In this case, the cross section of a reaction x = e is written by summing the contributions of I resonances as I  γx,i 1 σx (eexc ) = σ0 . (2.126) γ 1 + u2 i i=1 A similar expression can be written for σe (eexc ). In the general case, many levels of the compound nucleus interact, and a multilevel formula is required. The cross-section values are obtained by summing the contributions from each individual resonance, taking care to introduce interaction terms in the sum. Such a formula is beyond the scope of this text. However, multilevel formulas are currently used for production calculations, as heavy nuclides exhibit many interacting resonances. Figures 2.16 to 2.19 depict the resolved microscopic total cross sections for typical nuclides at 0 K, obtained from a multilevel representation.

Chapter 2 Microscopic total cross section (b)

30

100

10

1

1,000

10,000

Figure 2.16:

56

100,000 Energy (eV)

Fe total cross section.

At energies above 10 keV, resonances become unresolved and are represented by statistical parameters. At higher energies, above 300 keV, the resonances come closer, to the point where they overlap, leading to the continuum energy domain. The higher the excitation energy Eexc , the smaller are the average spacings D and the larger are the resonance widths γ. A more highly excited level is likely to decay faster, leading to a larger value of γi = ¯h/τi . The SLBW equations (2.118) and (2.121) are functions of the excitation energy eexc in the CM. However, most theoretical developments used in reactor physics treat cross sections defined in terms of LAB-related quantities. Equation (2.113) has already been introduced to define the excitation energy Eexc in the LAB: Eexc =

A+1 1 eexc = mVR2 . A 2

(2.127)

In cases where the target nuclide is initially at rest, Eexc is equal to the initial energy of the neutron in the LAB. If we replace eexc by Eexc in Eqs. (2.118) and (2.121), these equations remain valid provided that we redefine LAB-related peak energy and resonance widths as E1 =

A+1 e1 A

(2.128)

A+1 γx,1 . A

(2.129)

and Γx,1 =

Peak energy and resonance widths are measured and reported in reference tables as LABdefined values, similar to those defined in Eqs. (2.128) and (2.129).[1] The neutron widths are reported with the statistical spin factor included, as gJ Γn,1 (E1 ).

Microscopic total cross section (b)

Cross sections and nuclear data 10,000

1,000

100

10

1 0.1

1

Microscopic total cross section (b)

Figure 2.17:

10

235

100

Energy (eV)

U total cross section.

10,000

1,000

100

10

1 1

10

100 Energy (eV)

Figure 2.18:

238

U total cross section.

31

Chapter 2 Microscopic total cross section (b)

32

10000

1000

100

10

1

0.1

1

10

100 Energy (eV)

Figure 2.19:

2.5.2

239

Pu total cross section.

Low-energy variation of cross sections

Now consider the case of a resonance located at an energy ex,1 above the thermal energy domain (> 1 eV) and study its contribution at thermal energies. We rewrite the SLBW formulas and take their limits as eexc approaches zero. In this study, we must take care of the energy dependence of the neutron width and reduce wavelength with respect to energy, using Taylor expansions around zero. If R/λ E or if Eexc E  (down-scattering). This distribution is plotted in Fig. 2.27 in the particular case where A = 5.0 and E = 0.25 eV. We observe convergence toward the 0 K distribution of Eq. (2.72) as T approaches zero.

2.8

Calculation of the probability tables

Probability tables corresponding to the microscopic total cross section σ(u) with ug−1 ≤ u ≤ ug can be defined from the probability density Π(σ) using the approach introduced at the end of Sect. 2.2. Π(σ)dσ is the probability for the microscopic total cross section of the resonant isotope to have a value between σ and σ + dσ. {ug ; 1 ≤ g ≤ Ng + 1} is the multigroup structure containing Ng + 1 lethargy limits. An illustration of the probability density is shown in Fig. 2.28.

Chapter 2 σe,0(E' ← E) / σe(E)

52

8

A = 5.0 E = 0.25 eV

7

T = 10 K T = 100 K

6

T=500 K 5

4

T = 1000 K

3

2

1

0

0

0.1

0.2

0.3

0.4

0.5

E' (eV)

Figure 2.27: Distribution σ e,0 (E  ← E). As might be expected, the probability density Π(σ) is normalized to unity:  max(σ) dσ Π(σ) = 1.

(2.249)

0

The probability density Π(σ) is represented by a series of K Dirac distributions centered at discrete values σk of the microscopic total cross section for the resonant isotope. Each discrete level is called a subgroup and is also characterized by a discrete weight ωk . This approach leads to an approximative expression of Π(σ) written as Π(σ) =

K 

δ(σ − σk ) ωk

with

k=1

K 

ωk = 1.

(2.250)

k=1

Using this definition, any Riemann integral in lethargy, with a σ-dependent integrand, can be replaced by an equivalent Lebesgue integral:  ug  max(σ) 1 du f [σ(u)] = dσ Π(σ) f (σ) (2.251) Δug ug−1 0 Substitution of Eq. (2.250) into Eq. (2.251) leads to the discretization: 1 Δug



ug

du f [σ(u)] = ug−1

K 

ωk f (σk ).

(2.252)

k=1

We can also compute partial cross-section information. σx (σ) is the average value of the microscopic partial cross section σx (u) corresponding to the value σ(u) of the total microscopic cross section. The following discretization is used: Π(σ) σx (σ) =

K  k=1

δ(σ − σk ) σx,k ωk .

(2.253)

Microscopic total cross section σ(u)

Cross sections and nuclear data

53

12.5

10.0

7.5

5.0

2.5

0.8

1.0

0

0.6 Lethargy u

0.01

0.4

0.02

0.2

0.03

0

Probability density Π(σ)

Figure 2.28: Representation of a probability density Π(σ). The peaks on the right curve become taller with increasing sampling of the left curve.

Partial cross-section information can also be used to discretize the following Riemann integral: 1 Δug



ug

du σx (u) f [σ(u)] = ug−1

K 

ωk σx,k f (σk ).

(2.254)

k=1

The set of values {ωk , σk , σx,k ; k = 1, K} corresponding to energy group g is the probability table describing the resonant behavior of cross sections. Before proceeding further, it is necessary to clarify a point related to the terminology. Levitt introduced the term probability table to describe a quadrature set in which the base points in cross section are fixed a priori.[10] The terms subgroup and multiband were introduced by Nikolaev[11] and Cullen[12] , respectively, to describe a quadrature set in which the base point and weights are simultaneously computed. The CALENDF approach of Ribon is an outgrowth of the techniques introduced by these two authors. In the following text, we will use the terminology proposed by Ribon.[13, 14] A probability table will be viewed as a quadrature set representing a probability density with a set of Dirac delta distributions. The term subgroup equation will be used to represent a transport equation in which some probability densities are replaced with probability tables. The moment approach consists of computing the probability table by solving the non-linear system obtained by setting f [σ(u)] = σ(u) with Lmin ≤  ≤ Lmax in Eq. (2.252).The CALENDF method reduces this non-linearity to the factorization of a characteristics polynomial. The base points for the partial cross section x are obtained by setting f [σ(u)] = σ(u) in Eq. (2.254), using the weights of Eq. (2.252). A sufficient number of equations is obtained with Lmax − Lmin + 1 = 2K in Eq. (2.252) and Lmax − Lmin + 1 = K in Eq. (2.254). Ribon proposed to choose a negative value for Lmin in order to correctly represent the effects of small cross sections. The recommended choice is 1 − K ≤  ≤ K in Eq. (2.252) and −K/2 ≤  ≤ (K − 1)/2 in Eq. (2.254). All these probability tables are consistent. The base points are constrained as follows: min(σ(u)) ≤ σk ≤ max(σ(u)); the values of the probability table are real, the weights are positive, and their sum is equal to one.

54

Chapter 2

2.9

Production of an isotopic cross-section library

ENDF/B data

NJOY cross-section processing code

Isotopic cross-section library

Lattice calculation

Reactor database

Full-core calculation

Reactor operation and fuel managemeny

Reactor physics

Lattice calculations are based on nuclear data originally described in the Evaluated Nuclear Data File ENDF-102 format.[1] This data is then fed to a cross-section processing code, similar to NJOY, to produce the isotopic cross-section library of the lattice code.[16, 17] The complete data flow is represented in Fig. 2.29.

Figure 2.29: Data flow for reactor physics calculations.

We will first give an overview of the ENDF system, used as the initial source of nuclear data in reactor physics and criticality applications. The information is classified into “files”, as described in Table 2.4. We can find nuclear data relative to neutron- or photon-induced reactions and covariance data required in sensitivity calculations (to take into account the consequences of errors in the basic nuclear data). Table 2.4: A Description of the ENDF/B content MF number 1 2 3 4 5 6 7 8 9 10 12-18 19-22 23-27 30-40

Class of data General information about the isotope Resonance parameter data Neutron-induced cross sections Angular distributions of the secondary neutrons (i.e., neutrons emitted by the nuclear reaction) Energy distributions of the secondary neutrons, including the fission spectra Energy-angular distributions of the secondary neutrons Parameters and tables related to the Ssym (α, β, T ) data used to represent the solid-state effect at thermal energies Radioactive decay and fission yield data Multiplicities for production of radioactive nuclides with different excited states Cross sections for the production of radioactive nuclides with different excited states Data related to photon production from neutron-induced reactions Data related to electron production from neutron-induced reactions Data related to photon-induced reactions Covariance data

The ENDF system was initially developed and the first libraries were compiled by the National Nuclear Data Center at Brookhaven National Laboratory (BNL) and by Associated Universities, Inc. in the USA. The goal of this system is to provide a unified format for the exchange and utilization of evaluated nuclear data throughout the world. The basic formats of the ENDF system have been developed with sufficient flexibility to allow an accurate description of cross sections over a large domain of energy for the incident neutron (10−5 eV to 150 MeV). It is possible to model each nuclear reaction individually.

Cross sections and nuclear data

55

The only restriction is a limit on the number of different representations of a single reaction mechanism. The latest official revision of the format is labeled ENDF-6. The ENDF system is made up of two distinct types of files. ENDF/A files may contain an arbitrary number of nuclear data sets for each isotope. These sets may be complete or partial. For example, a set may contain an evaluation of the 235 U cross sections in the energy domain 100 keV - 15 MeV. The ENDF/B file, on the other hand, contains only one recommended evaluation made of all the nuclear reactions of each isotope to be required in the subsequent lattice calculations. The ENDF/B file contains reference data and, in contrast with other files, is continuously revised on the basis of improved information. After a revision period of many years, part of the ENDF/B file may be replaced. In the USA, the set of selected evaluations in the ENDF/B file corresponds to official recommendations of the Cross Section Evaluation Working Group at Brookhaven National Laboratory. Major revision releases are labeled ENDF/B-V, ENDF/B-VI, ENDF/B-VII, etc., with minor releases indicated by an Arabic index. Other evaluation working groups exist outside the USA. For example, the Joint Evaluated File (JEF) project is a European working group responsible for setting the JEF2 and JEFF3 files. The isotopic content of this file may contain many similarities with ENDF/B-VI and ENDF/B-VII, but some isotopes are different. Version 1 of JEFF3 evaluation contains incident neutron data for 381 materials from 11 H to 255 100 Fm, thermal scattering data for 9 materials and radioactive decay data for 3852 isotopes. The evaluation of nuclear data is a validation process including the determination of nuclear data obtained from experimental measurements on accelerators such as the ORELA facility at Oak Ridge (USA), the GELINA facility at Geel (Belgium) or the neutron time-of-flight facility (nTOF) at CERN. Nuclear data for which no measures are available can be predicted from nuclear physics models. Some selected values may subsequently be parametrized as resonance parameters (using R−matrix theory), Ssym (α, β) matrices (to represent the solid-state effect at thermal energies) or Madland-Nix parameters for fission spectrum. Other data may be simply written as tables and indexed with recommended interpolation laws. All this information is written into specific sections (indexed with MF numbers) of the ENDF file, as described in Table 2.4. Each MF section is divided into sub-sections containing specific nuclear reactions (total, elastic, non-elastic, etc.) indexed with an MT number. The ENDF format was designed to facilitate subsequent computer processing of the data. The reading and processing of the information contained in an ENDF/B file is accomplished by a cross-section processing code such as NJOY.[16, 17] Most of the multigroup lattice codes in use today are fed with NJOY-processed cross sections. The current official versions are labeled NJOY 99 and NJOY 2012, indicating the major revisions of 1999 and 2012, respectively. These major releases are complemented with UPDATE-type correction over the 99.0 or 2012.0 versions. The major release of NJOY 99 can be obtained from the Radiation Safety Information Computational Center (RSICC) of Oak Ridge National Laboratory or from the Nuclear Energy Agency (NEA) Data Bank.[18, 19] The major release of NJOY 2012 can be obtained directly from Los Alamos National Laboratory (LANL). Finally, the UPDATE directives can be downloaded directly from their website. Each isotope of the evaluation is processed into a specific NJOY data flow, in order to produce an isotopic cross-section library consistent with the type of transport equation solution. Reference calculations are based on continuous-energy cross sections and are performed using a continuous-energy Monte Carlo method, as implemented in codes such as MCNP[20] , TRIPOLI-4[21] or SERPENT[22, 24] . The corresponding data flow is depicted in Fig. 2.30. Production calculations are based on multigroup cross sections using solution approaches such as those described in Chapter 3. The corresponding data flow is depicted in Fig. 2.31. NJOY is a set of modules performing specific parts of the continuous-energy or multigroup nuclear data processing:

56

Chapter 2 Resolved energy domain RECONR BROADR THERMR

Complete energy domain

PENDF

TRIPOLI4 UNRESR PURR

ENDF/B

PENDF ACER

ACELIB

MCNP

Figure 2.30: Data flow for continuous-energy Monte Carlo calculations. Resolved energy domain RECONR BROADR THERMR

Complete energy domain

PENDF UNRESR PURR

PENDF GROUPR

ENDF/B

GENDF

WIMR POWR MATXSR DRAGR

Isotopic cross-section library

Figure 2.31: Data flow for multigroup NJOY calculations.

RECONR This module reconstructs ENDF/B cross sections in the resolved energy domain on a union energy grid such that all partial cross sections can be represented to within a stated accuracy using linear interpolations. The output of module RECONR is a Point ENDF (PENDF) file. BROADR This module broadens tabulated cross sections of the resolved energy domain at some input temperature to specified output temperatures. The numerical convolution approach of Eq. (2.148) is used. The input and output of module BROADR are PENDF files. UNRESR This module prepares effective self-shielded cross sections versus energy, temperature and dilution cross sections in the unresolved energy domain. The results are added to the input PENDF file using a special ENDF/B format (MF=2, MT=152) for use by subsequent modules. THERMR This module is used to generate pointwise cross sections and energy-to-energy scattering matrices σs, (Ei → Ej ) and σs (Ei → Ej , μk ) in the thermal energy range. The results are added to the PENDF file for use by subsequent modules. The averaged cosine in the k-th bin is defined as  uk 1 μk = dμ μ σs (Ei , μ). (2.255) σs (Ei ) uk−1 GROUPR The basic capability of this module is to produce multigroup cross sections for neutrons by integrating the continuous-energy cross sections of the PENDF file over a user-defined energy group structure containing between 50 and 300 groups. We first define the group-average operator as  ug 1 f g = du f (u) (2.256) ug − ug−1 ug−1 where f (u) is a lethargy-dependent function and {ug ; 1 ≤ g ≤ Ng + 1} is the multigroup structure containing Ng + 1 lethargy limits. A multigroup cross section component σx,g

Cross sections and nuclear data is defined as σx,g =

w σx g wg

57

(2.257)

where w(u) is a user-defined weighting function. GROUPR is used to produce multigroup neutron cross sections, anisotropic group-togroup neutron scattering matrices, and anisotropic photon production matrices. Special features are provided for ratio quantities (e.g., ν, μ, ξ, or photon yields), delayed neutron spectra by time group, and anisotropic thermal neutron scattering. Fission may be represented as group-to-group matrices for full generality. All cross sections and matrices can be temperature-dependent and self-shielded. The output of module GROUPR is a Groupwise ENDF (GENDF) file. GROUPR offers the possibility of performing self-shielding in the resolved energy domain using a flux calculator to weight information on the PENDF file. This equation is written  u σe + du exp(u − u) σs0 (u ) φ(u ) = σ(u) φ(u) + σe φ(u) (2.258) u−

where

= maximum lethargy increment σs0 (u) = elastic slowing-down microscopic cross section of the resonant isotope obtained from the PENDF file σ(u) = microscopic total cross section of the resonant isotope obtained from the PENDF file φ(u) = fine structure function σe = dilution. The above equation is solved for many temperatures and many dilutions. The self-shielded cross sections σx φhom g σ x (σe ) = (2.259) φhom g for reaction x are then written in the GENDF file for each energy group g. GAMINR The basic capability of this module is to produce multigroup cross sections for gammas. This module is similar to GROUPR, without all the complexities related to self-shielding treatment. PURR The purpose of this module is to compute probability tables to represent resonant cross sections in the unresolved energy domains. Pseudo-resonances are built using average spacing and width values from ENDF/B tape and are sampled randomly to produce contributions to probability tables. The base points in total cross section are fixed a priori. PURR also computes the same self-shielding information produced by UNRESR and can be used as a replacement for this module. The UNRESR-type information is written on the PENDF tape using MT=152 and the probability tables are written using MT=153. ACER This module reformats data from the ENDF and PENDF files into the ACELIB library format used by the continuous-energy Monte Carlo code MCNP.[20] WIMSR This module reformats multigroup constants from the GENDF file into the WIMS-D or WIMS-E library formats.

58

Chapter 2

POWR This module reformats multigroup constants from the GENDF file into the EPRICELL, EPRI-CPM and CASMO library format. MATXSR This module reformats multigroup constants from the GENDF file into the MATXS interface format, a flexible and comprehensive CCCC-type format designed to hold all the data types which can be produced by NJOY. DRAGR This module reformats data from the ENDF, PENDF and GENDF files into the DRAGLIB library format used by the lattice code DRAGON.[25] A detailed presentation of module DRAGR will follow. Most multigroup data libraries are created in a format specific to the lattice code being used and are commercial products that can only be used with their companion lattice code. These formats contain between 50 and 300 energy groups, as required by the lattice computational schemes. The MATXS format (created by module MATXSR) is the first attempt at creating a generic format for storing multigroup nuclear data. A few open domain libraries are available in the MATXS or WIMS-D format (created by module WIMSR). Only WIMS-D and DRAGLIB formatted libraries currently contain fission product and depletion chain data.

2.9.1

Photo-atomic interaction data

Files with MF indices between 23 and 27 contain photo-atomic interaction data required to solve the photon transport equation using the techniques of Chapter 3. Gamma rays originate from radioactive decay of unstable nuclides and from neutron-induced reactions such as fission, radiative capture and other non-elastic reactions. A gamma ray releases its energy at its absorption location, resulting in gamma heating. A complete presentation of data processing related to gamma heating is given in Ref. [26]. There are various ways in which gammas can interact with matter at the electronic level (i.e., without penetrating the nucleus). The three dominant modes of photo-atomic interaction are the photo-electric effect, Compton effect (or incoherent scattering) and pair production. Each of these results in a transfer of energy to electrons, which then impart this energy to matter by excitation and ionization and thus contribute to heating. Coherent scattering is an elastic reaction resulting in no energy deposition. In general, the total photo-atomic gamma cross section, which is the sum of cross sections for different interactions, is a smooth function of the incident gamma energy and decreases from low to high gamma-energy values. As an example, Fig. 2.32 shows the gamma interaction cross sections for iron. At low energy, the interaction is dominated by the photoelectric process. The Compton process is the dominant interaction process over a wide energy range. Beyond the threshold energy of 1.02 MeV, pair production becomes important. It is worthwhile to note that the same photo-atomic cross sections apply to all the isotopes of a given element since gamma interactions take place with the electrons (or the atom as a whole) and not with the nucleus. In gamma-interaction tabulations, the cross sections are thus given for the various elements. Finally, the total cross section for a mixture of elements will simply be the sum of the different elemental contributions. The propagation of gammas through matter involves both diffusion (Compton scattering) and absorption (photoelectric effect, pair production) processes and is completely analogous to the propagation of neutrons. Like neutrons, gammas can be considered to be neutral pointparticles traveling quite large distances (typically on the order of centimeters) between successive interactions with the atoms (or electrons) of the medium. An exact formalism for describing the propagation of neutrons is provided by the particle transport equation, as presented in Chapter 3. Without modification, the same formalism can be applied to determine the distribution of gammas in a reactor. Thereby, one usually takes the gamma production as a fixed external source, and one must solve the transport equation in its inhomogeneous form.

Microscopic cross section (barn)

Cross sections and nuclear data

104

59

Coherent scattering Compton scattering Photoelectric absorption Pair production Total

102 1

10 2

10 4 10 2

10 1

1

10

Photon energy (MeV) Figure 2.32: Photo-atomic gamma interaction cross sections for iron.

Very few gamma rays penetrate the electron shells to interact with the nucleus of an atom. An important example of photo-nuclear interaction is photoneutron (γ,n) production from deuterium in heavy water. This is significant as a neutron source, but accounts for very little gamma ray absorption and represents a negligible fraction of the total gamma heating.

2.9.2

Delayed neutron data

The most common radioactive decay reaction in a nuclear reactor is the negative beta decay, which is efficient in reducing the neutron/proton ratio (or (A − Z)/Z) in fission products. In case where A − Z >> Z, delayed neutron decay may become possible. This mode of decay is a negative beta decay of specific half-life, producing a daughter nucleus with a level of excitation sufficient to emit a neutron. The emission of this secondary neutron follows the beta decay immediately. In the example of delayed neutron decay presented in Fig. 2.33, a 87 Br nucleus suffers a β − decay with a half life of 55.6 s, producing a daughter nucleus of 87 Kr in an excited state. Depending on its excitation energy, the 87 Kr nucleus may decay toward the ground state of 87 Kr with the emission of a gamma ray or toward the ground state of 86 Kr with the emission of a delayed neutron. The half-lives of the delayed neutron precursors, such as 87 Br, are smaller than one minute. If a nuclear reactor happened to be prompt-critical, even very slightly, the number of neutrons would increase exponentially, making the reactor uncontrollable. However, thanks to the delayed neutrons, it is possible to run a reactor subcritically as far as only prompt neutrons are concerned. The delayed neutrons come a moment later, just in time to sustain the chain reaction. The delayed neutrons allow more time for a critical state to be reached and more time to safely regulate the reactor. The delayed neutron fraction is obtained from the number of prompt (ν pr ) and delayed (ν del ) neutrons emitted per fission. This fraction is defined as ν del /(ν pr + ν del ) and is of the order of 0.0065 for a fission of 235 U and of the order of 0.002 for a fission of 239 Pu.

60

Chapter 2

87 35 Br β− β−

n 86 Kr 36

γ 87 Kr 36

Figure 2.33: Delayed neutron decay of

87 35 Br.

Delayed neutrons originate from the decay of some short-lived fission products referred to as delayed neutron precursors. with half-lives T1/2 ≤ 1 min. These fission products have a high (A − Z)/Z ratio and are therefore very unstable. They can emit a delayed neutron, as described in the decay reaction A ZX



A−1 Z+1 Y

+

0 −1 e

+ 10 n

so as to further reduce their (A − Z)/Z ratio. The delayed neutron is emitted just after the β − emission with the half-life of the beta decay. Delayed neutrons make possible the control of the reactor with relatively simple electronic devices. Without delayed neutrons, a nuclear reactor would be unstable and a small perturbation of its steady-state condition would result in an uncontrolled power excursion. It is possible to classify delayed neutron precursors into Nd well-defined groups, each with its own characteristic half-life. The classical approach was to define six groups, with half lives 0.2 s ≤ T1/2 ≤ 1 min. Delayed neutron data is available in the evaluation as MT=455 records. MF=1 contains average number of delayed neutrons released per fission event and MF=5 contains delayed fission neutron spectra. Unfortunately, the inspection of most ENDF/B evaluations reveals that the half-lives differ slightly from isotopes to isotopes, making their use difficult. In this case, it is recommended using only one set of half-lives corresponding to the principal fissionable isotope. Recently, a proposal was made in the JEFF3.1 evaluation to use the same eight groups for all fissionable isotopes. The proposed values are presented in Table 2.5.

Table 2.5: Recommended precursor groups in JEFF3.1 Group 1 2 3 4 5 6 7 8

Decay constant λ (s−1 ) 1.246670 × 10−2 2.829170 × 10−2 4.252440 × 10−2 1.330420 × 10−1 2.924672 × 10−1 6.664877 × 10−1 1.634781 3.554600

Half-life T1/2 (s) 55.6 24.5 16.3 5.21 2.37 1.04 0.424 0.195

Cross sections and nuclear data

2.9.3

61

An overview of DRAGR

The DRAGR module was written as a clean and direct utility to format a DRAGLIB library, using PENDF and GENDF data. Care was taken to avoid unnecessary processing of nuclear data and to keep the richness of ENDF/B information. Other advantages are related to the use of the DRAGLIB format, thanks to the careful design of its direct access procedure. The cross-section processing in DRAGR is similar to the approach used in module MATXSR. The basic principle is to avoid unnecessary approximations or simplifications. A DRAGLIB features the following characteristics: • The library file can be converted back and forth between a sequential ASCII format and a binary direct access format. DRAGR contains all management capabilities built-in. • The steady-state fission spectrum, χ(g), is assumed to be dilution independent. It is calculated using % σf (g ← h)φ0 (h) h % % χ(g) = (2.260) σf (g ← h)φ0 (h) g

h

where σf (g ← h) and φ0 (h), the library weight function for the first Legendre order, are recovered from MF=6 and MT=18 records of the GENDF file. The steady-state νσf values are calculated using  νσf (g) = σf (h ← g).

(2.261)

h

The delayed fission spectra, χdel  (g), are assumed to be dilution independent. They are calculated using νdel (g) (2.262) χdel  (g) = % del ν (h) h

where

νdel (g)

is recovered from MF=5 and MT=455 record of the GENDF file.

The delayed νσf values are calculated using # ν

del

σf, (g) = π(g)



$ νdel (h)

σf (g)

(2.263)

h

where π(g) is recovered from MF=3 and MT=455 record of the GENDF file and σf (g) is recovered from MF=3 and MT=18 record of the GENDF file. • The scattering matrix for the first Legendre order, σscat0 (h ← g), describes the energy transfer that follows an isotropic collision in the LAB. The collision can be an elastic or inelastic diffusion, a (n,2n), or a (n,3n) reaction. It is calculated from GENDF file information, using σscat0 (h ← g) = σdiffusion (h ← g) + σn,2n (h ← g) + σn,3n (h ← g)

(2.264)

This matrix is stored using the sparse storage scheme of the MATXS format, with the help of two h-indexed vectors: iscat0 (h) = most thermal group index that can produce a secondary neutron in group h; nscat0 (h) = number of primary groups that can produce a secondary neutron in group h.

62

Chapter 2 The scattering matrices for subsequent Legendre orders are stored in a similar manner. No transport-corrected data is written in the DRAGLIB file; the task of transport correction is handled in the lattice code. • The thermal cross sections and scattering matrices depend upon the binding between the atoms of the material. For the heavier materials, it is often a good approximation to treat the atoms as a gas of free particles at an appropriate temperature. Thermal cross sections with coherent or incoherent effects are included in the GENDF file in addition to the ordinary static cross sections. To prepare a corrected set of cross sections, DRAGR modifies the total cross section by subtraction of the static elastic cross section and by addition of the appropriate incoherent and coherent thermal cross sections over the thermal energy range. For the scattering matrix, DRAGR uses the static matrix above the thermal cut-off energy and the requested incoherent or coherent matrices below. • The (n,2n) and (n,3n) cross sections are edited from the GENDF file using σn,2n (g) =

1 σn,2n (k ← g) 2

and

σn,3n (g) =

k

1 σn,3n (k ← g) 3

(2.265)

k

• DRAGR offers the possibility of including PENDF-type information in the DRAGLIB file, to perform a more accurate self-shielding calculation in the resolved energy domain. PENDF information is transformed into piecewise uniform cross sections defined over micro-energy groups, named Autolib data, which form a superset of the original group structure. • File 8 of ENDF evaluation contains half-lives, decay modes, decay energies, and radiation spectra for most isotopes. Information concerning the decay of the reaction products is also given in this file. In addition, fission product yield data (MT=454 and 459) for fissionable materials and spontaneous radioactive decay data (MT=457) for the nucleus are included.

Y1 A

E

λ1

λ1

Before lumping

After lumping

U-235

U-235

(n,f) Ef

(n,f) Ef+Y E 1 λ1

Y2 B (n,γ) E

C

Y1 +Y2 Eλ2

Eλ2

B

λ2

λ2

(n,γ) E + Eλ3 γ

γ Eλ3

λ3

D

D

Figure 2.34: Lumping short-lived fission products in

235

U.

File 8 is processed by module DRAGR. A large number of fission products are included in the evaluated file for each element capable of undergoing fission. For example, in the fission product yield data file included in ENDF/B-VI rel. 8, one can notice that there is information of 1232 fission products for 0.0253 eV fission of 233 U, 1247 fission products for 0.0253 eV fission of 235 U etc. But the evaluations are not available for all the nuclides, as most of them have very short half-lives, which in the reactor context can be considered insignificant. They are subsequently lumped by a procedure that is built into DRAGR, as depicted in Fig. 2.34. If there are nuclides with long half-lives, but which are not available

Cross sections and nuclear data

63

as evaluated files, a warning is provided before lumping the corresponding element. The DRAGR user has complete control over the lumping process. DRAGR currently has no capability to produce pseudo-fission product, i.e., custom library isotopes made from the combination of many minor ENDF fission products. Information on energies for various reaction types like (n, γ), (n, f), (n, 2n), (n, 3n), (n, 4n), (n, α), (n, p), (n, 2α), (n, np), (n, d) and (n, t) are recovered from earlier DRAGR single-isotope calculations and used for inclusion in relevant depletion data in DRAGLIB format. The fission energy of (n, f) is obtained from MF=1 and MT=458 and the energy from delayed betas and gammas is subtracted from it. Information regarding energies for other reactions is derived by DRAGR from MF=3. The corresponding MT numbers for the above-mentioned reactions (other than (n, f)) are 102, 16, 17, 37, 107, 103, 108, 28, 104, 105, respectively. The complete information required to do the depletion calculations is provided in specific records of the DRAGLIB file.

64

Chapter 2

Exercises 2.1 Obtain the probability density P (μ) where P (μ) dμ is the probability for the deviation cosine to have a value equal to μ (within a dμ interval) in the LAB. Assume an elastic and isotropic collision in the CM. Neglect the initial velocity of the target nucleus. Perform a Legendre polynomial expansion of P (μ) up to order L = 1 in the case of a Hydrogen nucleus (use A=1). Plot both the exact probability density and the order-one approximation on the same graph. (Hint: First obtain the relation between μ = cos θ and cos ϕ by using the sine law in Fig. 2.6.) 2.2 Obtain the probability density P (E  ← (VCM , VR )) where P (E  ← (VCM , VR )) dE  is the probability for the neutron to have a final energy equal to E  (within a dE  interval) in the LAB when the neutron-nucleus pair has an initial center-of-mass velocity equal to VCM and an initial relative velocity equal to VR . Assume an elastic and isotropic collision in the CM. Do not neglect the initial velocity of the target nucleus. 2.3 (a) Express the ratio E  /E of the energy of the neutron after the collision over its initial energy in the LAB in terms of the mass ratio A of the nucleus and of the deviation cosine of the neutron cos ϕ in the CM. (b) Express the deviation cosine of the neutron μ in the LAB in terms of A and cos ϕ in the CM. (c) Express the average deviation cosine μ of the neutron in the LAB in terms of the mass ratio A of the nucleus. For the three questions, assume an elastic and isotropic collision in the CM. Neglect the initial velocity of the target nucleus. 2.4 (a) Express the average lethargy gain u − u of the neutron in the LAB in terms of the mass ratio A of the nucleus. (b) Find the average number of scattering collisions n to slow down a neutron from energy E0 to energy E in the LAB. (c) Compute u − u and n for the following nuclei: 1 H, 12 C and 238 U. Use E0 = 2 MeV and E = 0.025 eV. For the three questions, assume an elastic and isotropic collision in the CM. Neglect the initial velocity of the target nucleus. 2.5 A neutron undergoes an inelastic scattering with a positive threshold energy equal to es = −Q. Find the deviation cosine μ of the neutron in the LAB in terms of the mass ratio A of the nucleus and of the initial (E) and final (E  ) energies of the neutron in the LAB. Assume an isotropic collision in the CM and neglect the initial velocity of the target nucleus. Assume that the conservation of energy relation is en + eA + es = en + eA . 2.6 A neutron-nucleus collision is elastic and linearly anisotropic in the CM, so that P(cos ϕ) =

1 (1 + a cos ϕ) with a < 1. 2

We assume that the nuclei are free and initially at rest. (a) Find the probability density P (μ) such that P (μ) dμ is the probability for the deviation cosine to be equal to μ (within a dμ interval) in the LAB. (b) Find this probability density for a Hydrogen nucleus (use A = 1). (c) Find the first two Legendre coefficients b and c in P (μ) b + c μ for a Hydrogen nucleus.

Cross sections and nuclear data

65

2.7 A nucleus of mass ratio A >> 1 has a unique resonance at E1 = 80 eV, corresponding to an s-wave interaction. For this resonance, gJ = 1, Γn,1 = 5 eV, Γγ,1 = 1 eV and Γα,1 = 3 eV. All other partial widths are negligible. Compute the 0 K cross sections for (n,γ) and (n,α) reactions at 85 eV. 2.8 The resonance parameters of 232 Th are given in Table 2.6 for energies of the incident neutron ≤ 721 eV in the LAB. (a) Which compound nucleus is formed by capture of the incident neutron? Which nucleus is formed after γ-ray decay of the compound nucleus? (b) Give the SLBW formula for the radiative capture cross section of 232 Th. Give the spin and parity of the compound nucleus states assuming that only s- and p-wave interactions are taking place. You may neglect the interactions between different excitation levels of the compound nucleus. (c) The sum of contributions from all resonances in Table 2.6 at 0.025 eV is σγ = 0.43 b. The measured cross section at this energy is σγ = 7.40 b. Assume that the difference is due to an s-wave negative resonance located at energy −E0 . Find the value of E0 using widths Γ0n,0 and Γγ,0 of the negative resonance equal to the statistical averages & 0' Γn and Γγ  of all s-wave resonances in Table 2.6. (d) The resonance integral Ires is given by the following expression:  ∞ σγ (E) dE Ires = E Ec where Ec = 0.5 eV is the cutoff energy of Cadmium. Making the required approximations, show that the expression of Ires is given by Ires =

π 2.604 × 106 2



A+1 A

2  i

Γγ,i gΓn,i (Ei ) . Ei2 Γi

This equation permits the computation of Ires within 20% by using only s-wave contributions. Find the numerical value of Ires .

66

Chapter 2

Table 2.6: Resonance parameters of

232

Th

i Ei (eV) gΓn,i (Ei ) (meV) Γγ,i (meV) 1 8.346 0.0003 29.0 2 13.111 0.0002 3 21.783 2.0200 24.5 4 23.439 3.8800 26.6 5 36.926 0.0010 6 38.165 0.0006 7 40.925 0.0006 8 47.001 0.0014 9 49.850 0.0006 10 54.130 0.0011 11 58.780 0.0096 12 59.514 3.9000 23.7 13 64.580 0.0005 14 69.224 43.8000 21.9 15 90.098 0.0070 16 98.106 0.0050 17 103.646 0.0060 18 111.987 0.0040 19 113.032 13.6000 17.4 20 117.752 0.0020 21 120.870 23.0000 17.3 22 128.210 0.0730 23 129.190 3.4600 16.8 24 145.871 0.0910 25 148.074 0.0120 26 154.382 0.2050 18.8 27 167.033 0.0160 28 170.400 60.9000 21.9 29 178.931 0.0230 30 192.756 18.1000 22.5 31 196.315 0.0830 32 199.444 10.4000 17.9 33 202.666 0.0280 34 211.091 0.0160 35 219.547 0.0510 36 221.336 30.7000 22.0 37 232.020 0.0130 38 234.220 0.0200 39 242.520 0.0490 40 251.730 32.8000 21.7 41 258.287 0.0100 42 263.305 23.3000 18.6 43 272.619 0.0190 a Values of  in parenthesis are estimated values.

a 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 (1) (1) (1) 0 1 0 (1) 0 1 (1) 0 (1) 0 1 0 0 0 1 1 (1) 0 (1) (1) (1) 0 (1) 0 (1)

Cross sections and nuclear data

Table 2.6: Resonance parameters of i 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

Ei (eV) 276.819 285.797 290.406 299.578 302.565 305.501 309.370 321.800 328.956 335.052 338.049 341.831 351.800 361.202 365.183 369.322 380.487 391.697 400.918 403.000 411.781 420.853 427.100 454.218 458.864 462.541 466.400 470.617 476.297 488.775 500.000 510.359 528.496 533.327 535.058 540.208 550.300 569.785 573.555 578.093 584.000 594.012 598.279 617.838 625.100 628.000 634.200

gΓn,i (Ei ) (meV) 0.0350 31.2600 0.0700 0.0420 0.1280 28.0000 0.0530 0.0600 75.2980 0.0350 0.0500 40.0000 0.0770 0.1000 25.4000 26.0000 0.1150 0.1760 11.9000 0.1040 0.2800 0.5400 0.0190 1.2300 0.0600 65.5990 0.1000 0.0400 0.1000 60.1000 0.0500 5.3200 15.7000 0.3100 0.3400 1.1800 0.4100 28.7000 0.7500 2.9700 0.0850 0.1000 10.0990 4.0999 0.0530 0.0550 0.0730

232

Th (cont’d.)

Γγ,i (meV) 17.6

17.2

21.2

19.7

22.7 22.4

14.9

19.0

17.2

17.9

26.3

26.6

 (1) 0 (1) (1) (1) 0 (1) (1) 0 (1) (1) 0 (1) (1) 0 0 (1) (0) 0 (1) 1 (0) (1) 0 (1) 0 (1) (1) (0) 0 (1) 0 0 (1) (1) 1 (1) 0 (0) 0 (1) (1) 0 0 (1) (1) (1)

67

68

Chapter 2

Table 2.6: Resonance parameters of i 91 92 93 94 95 96 97 98 99 100 101 102

Ei (eV) 644.100 656.602 660.700 665.303 675.198 687.446 695.800 698.929 701.190 704.530 712.922 720.200

232

gΓn,i (Ei ) (meV) 0.0900 49.1000 0.2000 25.1000 210.0002 54.8000 0.1700 0.1500 10.8990 0.1700 29.6000 0.0930

Th (cont’d.)

Γγ,i (meV) 16.3 12.4 18.4 18.9

13.6

 (1) 0 (1) 0 0 0 (1) (1) 0 (1) 0 (1)

236 2.9 The nuclear reaction 10 n +235 92 U → 92 U + γ has a resonance at energy E1 = 0.29 eV in the LAB. The other parameters of this resonance are Γγ,1 = 0.035 eV, Γn,1 (E1 ) = 3 × 10−6 eV, Γf,1 = 0.10 eV and J π = 3− , corresponding to an s-wave interaction. The ground level of 235 U is I π = (7/2)− . Assume that the diffusion radius of 235 U is equal to its hard sphere radius.

(a) Compute the ratio σe /σγ on the resonance peak. (b) Compute the value of σγ on the resonance peak at 1000 K using the ψ function of Eq. (2.163). 2.10 (a) Making the correct change of variable in Eq. (2.219), show that  ∞ 1 dt eiβt − α Wsym (t, T ) Ssym = 2π −∞ where

 Wsym (t, T ) =

∞ 0−

    ω − cos ω t cosh 2ω ω 0  0 .  dω ρ(ω) ω sinh ω ω0 2ω0

(b) Using ρ(ω) = δ(ω), show that this formula reduces to the free gas Eq. (2.211). 2.11 We study the s-wave interaction of neutrons with the E1 = 7.67 keV resonance of 54 Fe. The other parameters of this resonance are Γγ,1 = 1.8 eV, Γn,1 (E1 ) = 1.06 keV and J π = (1/2)+ . To simplify the calculations, the SLBW equations are used, Γ1 and σ0 are assumed to be constant, the diffusion radius a is taken to be zero and the Doppler effect is neglected. Compute the order-two probability table {ωk , σk , σγ,k ; k = 1, 2} for this resonance in the interval E1 − 4Γ1 ≤ E ≤ E1 + 4Γ1 . Use a moment approach with 0 ≤  ≤ 3 in Eq. (2.252) and solve for σk using a Newton method. Use 0 ≤  ≤ 1 in Eq. (2.254). The lethargy-averages of cross-section moments can be replaced by energy averages. The following relations can be used to compute the moments:  1 = tan−1 x dx 1 + x2 and

 dx

x 2n − 1 1 = + 2 n+1 2 n (1 + x ) 2n(1 + x ) 2n

 dx

1 if n > 0. (1 + x2 )n

Chapter 3

The transport equation The transport equation is introduced to describe a population of neutral particles such as neutrons or photons, in a close domain, under transient (i.e., time-dependent) or steady state (i.e., stationary) conditions. Its derivation is based on the principle of particle conservation. The transport equation describes the statistical behavior of a large population of particles. The exact number of particles per unit volume is continuously varying with time, even at steady state conditions. Under steady state conditions, the number density of particles oscillates about an average value related to the solution of the steady state transport equation. A solution of the transport equation is required in many fields of nuclear engineering, notably in reactor physics, in safety and criticality, and in radiation shielding and protection. We review legacy approaches for solving the transport equation, namely, the method of spherical harmonics, the collision probability method, the discrete ordinates method, the method of characteristics and the multigroup Monte Carlo method.

3.1

The particle flux

We first introduce the fundamental quantities used in the context of the transport equation. We use an approach of statistical mechanics in which each particle is moving in a six-dimensional phase space made of three positions and three velocity coordinate axes. The position of a single particle is identified by a set of seven quantities: • three position coordinates r = x i + y j + z k • three velocity coordinates. We use the velocity module Vn ≡ |V n | with V n = dr/dt and the two components of the direction Ω ≡ V n /Vn • the time t, used in transient situations, when the steady-state hypothesis is not valid. A population of particles is represented by a distribution, the population density n(r, Vn , Ω, t) such that n(r, Vn , Ω, t) d3 r dVn d2 Ω is the number of particles, at time t, in the volume element d3 r surrounding point r, in the velocity element dVn surrounding Vn , and in the solid angle element d2 Ω surrounding Ω. We note that n(r, Vn , Ω, t) is a distribution with respect to variables r, Vn and Ω. It is a function of t. The dependent variable used in reactor physics is the particle flux. The angular flux is a distribution related to the population density and defined as φ(r, Vn , Ω, t) ≡ Vn n(r, Vn , Ω, t).

(3.1)

It is more convenient to use angular flux as the dependent variable of the transport equation. This choice helps to simplify the calculation of reaction rates by a formula similar to Eq. (2.87).

70

Chapter 3

The angular flux has no precise physical significance; it is a mathematical definition. However, the probability for a particle to collide depends on each of the factors n and Vn . Increasing the number of particles in one cubic centimeter volume makes it more likely that one of them will collide. Increasing the particle speed increases the number of visits in the one cubic centimeter volume each second. The angular flux defined in Eq. (3.1) gives the maximum information about the population of particles. In many applications a more global representation is preferred. The integrated flux is obtained by performing a distribution reduction on variable Ω, as proposed in Eq. (2.31). We obtain  d2 Ω φ(r, Vn , Ω, t) (3.2) φ(r, Vn , t) = 4π

where we have used the same symbol to represent the two distributions, as proposed in Sect. 2.2. In physical terms, the integrated flux is the total distance traveled in one second by all the particles in the one cubic centimeter volume, as it is obtained by multiplying the number of particles in that cubic centimeter by the speed of each one. This is equivalent to the total length of all the particle tracks laid down in one cubic centimeter in one second. The integrated flux may be written with the particle energy E or lethargy u as independent variable, replacing Vn . The change of variables can be performed as proposed in Eq. (2.33). We write E0 1 , (3.3) E = m Vn2 and u = ln 2 E where m is the mass of a particle and E0 is the maximum energy of a particle, so that φ(r, E, t) =

1 φ(r, Vn , t), m Vn

0 < E ≤ E0

(3.4)

and 0 ≤ u < ∞.

φ(r, u, t) = E φ(r, E, t),

(3.5)

We now define the angular current, another fundamental distribution. In Fig. 3.1, we present an element of surface d2 S with a unit normal vector N located on point r. The number d3 n of particles, of velocity Vn and direction Ω, crossing d2 S during an element of time dt is equal to the number of particles located in the represented slanted cylinder in Fig. 3.1. This number is   (3.6) d3 n = n(r, Vn , Ω, t) d2 S (Vn dt) Ω · N .

N

Ω

V nd t

d 2S

Figure 3.1: Definition of the particle current. The angular current J (r, Vn , Ω, t) is a vector defined in such a way that d3 n = J (r, Vn , Ω, t) · N dt

d2 S

(3.7)

The transport equation

71

so that J (r, Vn , Ω, t) = Ω φ(r, Vn , Ω, t). In similarity with the integrated flux, we can define the integrated current as   d2 Ω J (r, Vn , Ω, t) = d2 Ω Ω φ(r, Vn , Ω, t). J (r, Vn , t) = 4π

(3.8)

(3.9)



The angular current is positive if the particle crosses d2 S in the direction of N , and negative otherwise. We can also define the outgoing current J + and incoming current J − by integrating the angular current over outgoing and incoming directions, respectively. We write  d2 Ω (Ω · N ) φ(r, Vn , Ω, t) (3.10) J + (r, Vn , t) = Ω·N >0 

and −

J (r, Vn , t) = − so that

Ω·N 0  1  2π   1 = dμ μ dω φ(r, Vn , t) + 3μ Jx (r, Vn , t) + 3 1 − μ2 cos ω Jy (r, Vn , t) 4π 0 0   + 3 1 − μ2 sin ω Jz (r, Vn , t) =

1 1 φ(r, Vn , t) + J (r, Vn , t) · N . 4 2

Similarly, we can show that J − (r, Vn , t) = and

3.2

1 1 φ(r, Vn , t) − J (r, Vn , t) · N 4 2

  φ(r, Vn , t) = 2 J − (r, Vn , t) + J + (r, Vn , t) .

(3.18)

(3.19)

Derivation of the transport equation

The transport equation is obtained with the same hypothesis already made in Sect. 2.3. The absence of particle-particle interactions produces a linear form of the Boltzmann equation. The transport equation is obtained as the phase-space balance relation for the neutral particles located in a control volume. We first define a control volume C, surrounded by surface ∂C, as illustrated in Fig. 3.2. We consider the particles located in C traveling in direction Ω (within a d2 Ω interval), with a velocity equal to Vn (within a dVn interval).1 The number of such particles, initially equal to  d3 r n(r, Vn , Ω, t) dVn d2 Ω C

is going to change during a small period of time Δt. We define the following quantities: Y

Ω C

r X Z

Figure 3.2: Particle balance in a control volume. 1 The

reader should not confuse d3 r, the elemental volume with dr = r  − r.

The transport equation • the rate of change of particles in V during Δt is  d3 r [n(r, Vn , Ω, t + Δt) − n(r, Vn , Ω, t)] dVn d2 Ω; d3 A =

73

(3.20)

C

• the net number of particles streaming out of V during Δt is obtained by integrating the particle current over ∂C as  d2 r (Ω · N ) φ(r, Vn , Ω, t) dVn d2 Ω Δt (3.21) d3 B = ∂C

where N is the unit vector, normal to ∂C, and pointing outside ∂C at point r. Now use the divergence theorem to transform Eq. (3.21) into  3 d B= d3 r ∇ · Ω φ(r, Vn , Ω, t) dVn d2 Ω Δt (3.22) C

• the number of collisions in d3 r during Δt is  3 d3 r Σ(r, Vn ) [Vn n(r, Vn , Ω, t)] dVn d2 Ω Δt d C=

(3.23)

C

where we assume that the macroscopic total cross section Σ is independent of Ω and t. The independence of cross sections with t is generally not valid and is introduced here to simplify the notation. • the number of new particles created in d3 r during Δt is  d3 r Q(r, Vn , Ω, t) dVn d2 Ω Δt d3 D =

(3.24)

C

where Q(r, Vn , Ω, t) is the source density. The particle balance is written d3 A = −d3 B − d3 C + d3 D

(3.25)

so that the integral over the control volume can be discarded from the four terms, leading to n(r, Vn , Ω, t + Δt) − n(r, Vn , Ω, t) = −∇ · Ω φ(r, Vn , Ω, t) − Σ(r, Vn ) [Vn n(r, Vn , Ω, t)] Δt (3.26) + Q(r, Vn , Ω, t). Taking the limit as Δt → 0 and introducing the angular flux as dependent variable, we obtain the differential form of the transport equation: 1 ∂ φ(r, Vn , Ω, t) + ∇ · Ω φ(r, Vn , Ω, t) + Σ(r, Vn ) φ(r, Vn , Ω, t) = Q(r, Vn , Ω, t). Vn ∂t

(3.27)

Using the identity ∇ · w f (r) = w · ∇f (r), Eq. (3.27) can be rewritten as 1 ∂ φ(r, Vn , Ω, t) + Ω · ∇φ(r, Vn , Ω, t) + Σ(r, Vn ) φ(r, Vn , Ω, t) = Q(r, Vn , Ω, t). Vn ∂t

(3.28)

In steady-state conditions, this equation reduces to Ω · ∇φ(r, Vn , Ω) + Σ(r, Vn ) φ(r, Vn , Ω) = Q(r, Vn , Ω).

(3.29)

74

Chapter 3

We finally note that the source density can be written in a spherical harmonic expansion similar to Eq. (3.13): Q(r, Vn , Ω, t) =

L   2 + 1  =0



m Qm  (r, Vn , t) R (Ω)

(3.30)

m=−

where the value of L is smaller or equal to the value used in Eq. (3.13) for the angular flux expansion. Equation (3.28) is the basic formulation of the linear Boltzmann equation.

3.2.1

The characteristic form of the transport equation

The characteristic form of the transport equation corresponds to an integration of the streaming operator Ω · ∇φ over the characteristic, a straight line of direction Ω corresponding to the particle trajectory. At each time of its motion, the particle is assumed to be at distance s from a reference position r on its characteristic, so that its actual position is r + s Ω at time t + s/Vn . The streaming operator can be transformed using the chain rule. We first write d dx ∂ dy ∂ dz ∂ dt ∂ = + + + ds ds ∂x ds ∂y ds ∂z ds ∂t

(3.31)

ds Ω = dr = dx i + dy j + dz k.

(3.32)

with Taking the dot product of Eq. (3.32) with i, we obtain ds Ω · i = dx. Similarly, ds Ω · j = dy and ds Ω · k = dz. After substitution into Eq. (3.31), we obtain d ∂ ∂ ∂ 1 ∂ 1 ∂ = (Ω · i) + (Ω · j) + (Ω · k) + = Ω·∇+ . ds ∂x ∂y ∂z Vn ∂t Vn ∂t

(3.33)

Substituting Eq. (3.33) into Eq. (3.28), we obtain the backward characteristic form of the transport equation: d φ(r + s Ω, Vn , Ω, t + s/Vn ) + Σ(r + s Ω, Vn ) φ(r + s Ω, Vn , Ω, t + s/Vn ) ds = Q(r + s Ω, Vn , Ω, t + s/Vn ).

(3.34)

Equation (3.34) can also be written in the forward form as −

3.2.2

d φ(r − s Ω, Vn , Ω, t − s/Vn ) + Σ(r − s Ω, Vn ) φ(r − s Ω, Vn , Ω, t − s/Vn ) ds = Q(r − s Ω, Vn , Ω, t − s/Vn ).

(3.35)

The integral form of the transport equation

The integral transport equation is obtained by integrating the angular flux along its characteristic, for a given value of the source density Q(r, Vn , Ω, t). We first introduce an integrating factor e−τ (s, Vn ) where the optical path is defined as a function of the macroscopic total cross section Σ(r, Vn ) using  s

τ (s, Vn ) =

ds Σ(r − s Ω, Vn ).

(3.36)

0

We next compute the following relation:    d −τ (s,Vn ) e φ(r − sΩ, Vn , Ω, t − s/Vn ) = e−τ (s,Vn ) − Σ(r − sΩ, Vn ) ds  d × φ(r − sΩ, Vn , Ω, t − s/Vn ) + φ(r − sΩ, Vn , Ω, t − s/Vn ) ds

(3.37)

The transport equation where we used the identity d ds



s

75

ds g(s ) = g(s).

0

Substitution of Eq. (3.35) into Eq. (3.37) leads to   d −τ (s,Vn ) e φ(r − sΩ, Vn , Ω, t − s/Vn ) = e−τ (s,Vn ) Q(r − sΩ, Vn , Ω, t − s/Vn ). − ds Equation (3.38) can be integrated between 0 and ∞, so that    ∞ d −τ (s,Vn ) e ds φ(r − sΩ, Vn , Ω, t − s/Vn ) − ds 0  ∞ = ds e−τ (s,Vn ) Q(r − sΩ, Vn , Ω, t − s/Vn )

(3.38)

(3.39)

0



or



ds e−τ (s,Vn ) Q(r − s Ω, Vn , Ω, t − s/Vn ).

φ(r, Vn , Ω, t) =

(3.40)

0

Equation (3.40) is the integral form of the transport equation for the infinite-domain case. As represented in Fig. 3.3, a particle from source Q(r  , Vn , Ω) will travel with an exponential attenuation factor in direction Ω and contribute to the flux at point r.

Ω s

r

r' Figure 3.3: Characteristic of the particle between two positions.

If the domain is finite, it is possible to integrate only over the s values corresponding to a value of r  inside the domain. In this case, the integral form of the transport equation is written φ(r, Vn , Ω, t) = e−τ (b,Vn ) φ(r − b Ω, Vn , Ω, t − b/Vn )  b ds e−τ (s,Vn ) Q(r − s Ω, Vn , Ω, t − s/Vn ) +

(3.41)

0

where φ(r − b Ω, Vn , Ω, t − b/Vn ) can be assimilated to a boundary flux. The integral form of the transport equation is generally limited to isotropic sources in the LAB, so that 1 Q(r, Vn , Ω, t) = Q(r, Vn , t). (3.42) 4π

3.2.3

Boundary and continuity conditions

The domain V where the particles move may be surrounded by a boundary ∂V where boundary conditions are imposed. We also introduce N (r s ), the outward normal at r s ∈ ∂V . Solution of the transport equation in V requires the knowledge of the angular flux φ(r s , Vn , Ω, t) for Ω · N (r s ) < 0.

76

Chapter 3

The albedo boundary condition is used to relate the incoming flux with the known outgoing flux. This condition is written φ(r s , Vn , Ω, t) = β φ(r s , Vn , Ω , t) with Ω · N (r s ) < 0

(3.43)

where Ω is the direction of the outgoing particle. The albedo β is equal to zero and one for a vacuum and reflective boundary condition, respectively. Intermediate values can also be used. Specular reflection corresponds to the case where Ω · N (r s ) = −Ω · N (r s ) and (Ω × Ω ) · N (r s ) = 0.

(3.44)

The white boundary condition is a reflective condition where all particles striking the boundary turn back to V with an isotropic angular distribution. In this case,    d2 Ω Ω · N (r s ) φ(r s , Vn , Ω , t)  Ω ·N (r s )>0 φ(r s , Vn , Ω, t) = β with Ω · N (r s ) < 0 (3.45)    2  Ω d Ω · N (r ) s Ω ·N (r s )>0 where β is the albedo, defined as before. Eq. (3.45) simplifies to    β φ(r s , Vn , Ω, t) = d2 Ω Ω · N (r s ) φ(r s , Vn , Ω , t) with Ω · N (r s ) < 0. (3.46) π Ω ·N (r s )>0 The periodic boundary condition corresponds to the case where the flux on one boundary is equal to the flux on another parallel boundary in a periodic lattice grid. In this case, φ(r s , Vn , Ω, t) = φ(r s + Δr, Vn , Ω, t)

(3.47)

where Δr is the lattice pitch. The zero-flux boundary condition corresponds to the absence of particles on ∂V. This condition is non-physical as particles are continuously leaving the domain V , producing a non-zero number density on ∂V . The vacuum boundary condition must always be preferred to represent an external boundary. In cases where a zero-flux boundary condition must be applied, it is obtained by setting to zero all even moments of the spherical harmonic expansion of φ: φm  (r s , Vn , t) = 0 with  even.

(3.48)

Inside the domain V , the angular flux φ(r, Vn , Ω, t) must be continuous across all internal interfaces in the direction Ω of the moving particle. Discontinuities along Ω can only occur if the source density contains Dirac delta contributions. The continuity condition is not required along directions which are not parallel to the path of travel.

3.3

Source density in reactor physics

In reactor physics, the neutral particles are neutrons and the source density is a multiplicative source of secondary fission, scattering and (n,xn) secondary neutrons. Expressions for the source density are given in steady-state and transient conditions. The steady-state source density is used in both lattice and static full-core calculations. The transient source density is only meaningful for full-core calculations. In the following developments, the energy variable E = mVn2 /2 is used as a replacement for the neutron velocity Vn as independent variable.

The transport equation

3.3.1

77

The steady-state source density

In the case of a multiplying medium with neutrons, the differential form of the steady-state transport equation is given by Eq. (3.29) as Ω · ∇φ(r, E, Ω) + Σ(r, E) φ(r, E, Ω) = Q(r, E, Ω).

(3.49)

Assuming that the fission reactions are isotropic in the LAB, the steady-state source density is written  ∞  1 d 2 Ω dE  Σs (r, E ← E  , Ω ← Ω ) φ(r, E  , Ω ) + Qfiss (r, E) Q(r, E, Ω) = 4πKeff 4π 0 (3.50) where Σs (r, E ← E  , Ω ← Ω ) = macroscopic differential scattering cross section taking into account diffusion and (n,xn) reactions. Keff = effective multiplication factor. If the sum of absorption and leakage rates does not equal the production rate of new fission neutrons, the steady-state condition is lost. Keff is the factor used to divide the fission sources in order to maintain the steady-state condition. Qfiss (r, E) = isotropic fission sources. In isotropic media, the scattering cross section is only a function of the scattering angle, so that Eq. (3.50) can be rewritten  ∞  1 1 d 2 Ω dE  Σs (r, E ← E  , Ω · Ω ) φ(r, E  , Ω ) + Qfiss (r, E). Q(r, E, Ω) = 2π 4π 4πKeff 0 (3.51) In this case, it is convenient to expand the scattering cross section in terms of Legendre polynomials as proposed in Eq. (2.236): Σs (r, E ← E  , Ω · Ω ) =

L  2 + 1 =0

2

Σs, (r, E ← E  ) P (Ω · Ω )

(3.52)

where L is the scattering order of the medium where the neutron is moving. L = 0 and L = 1 correspond to isotropic scattering and to linearly anisotropic scattering in the LAB, respectively. The Legendre coefficients Σs, (E ← E  ) are defined by Eq. (2.237) as Σs, (E ← E  ) =



1 −1

dμ Σs (E ← E  , μ) P (μ).

(3.53)

Using the addition theorem of spherical harmonics (see Eq. (2.21)), it is possible to rewrite the scattering source of Eq. (3.51) in terms of the spherical harmonics components of the flux:  Q(r, E, Ω) = 0



dE 

L  2 + 1 =0



Σs, (r, E ← E  )

 

 Rm (Ω) φm  (r, E ) +

m=−

1 Qfiss (r, E) 4πKeff (3.54)



where

d2 Ω Rm (Ω) φ(r, E, Ω).

φm  (r, E) =

(3.55)



We assume that the isotropic fission source is independent of the energy of the incident neutron. For each fissionable nuclide i, the energy of emitted neutrons is distributed according to

78

Chapter 3

a probability density known as fission spectrum χi (E). The quantity χi (E) dE is the probability for an emitted neutron to have an energy equal to E (within a dE interval) in the LAB. As expected, the normalization is  ∞

dE χi (E) = 1.

(3.56)

0

The isotropic fission source is written Q

fiss

fiss J 

(r, E) =





χj (E)

dE  νΣf,j (r, E  ) φ(r, E  )

(3.57)

0

j=1

where J fiss = total number of fissionable isotopes νΣf,j (r, E) = number of emitted neutrons per fission times the macroscopic fission cross section of the j th fissionable isotope. Substitution of Eq. (3.57) into Eq. (3.54) gives the complete expression of a multiplicative source in reactor physics: 



dE 

Q(r, E, Ω) =

L  2 + 1

0

+

1 4πKeff

=0 fiss J 



Σs, (r, E ← E  )

 

 Rm (Ω) φm  (r, E )

m=−

 χj (E)



dE  νΣf,j (r, E  ) φ(r, E  )

(3.58)

0

j=1

where φ(r, E) ≡ φ00 (r, E). Substitution of Eq. (3.58) into Eq. (3.49) leads to the singular form of the transport equation. This is an eigenproblem featuring a number of properties: • The neutron flux φ appears in each term, so that φ = 0 is a trivial solution. A set of non-trivial solutions (also called eigensolutions) exists for some discrete values of Keff . We clearly obtain an eigenvalue problem, with Keff as the eigenvalue and φ as the eigenvector. The fundamental solution corresponds to the maximum possible value of Keff and is the only eigensolution with a physical meaning. • Only the flux distribution of the fundamental solution is almost positive everywhere in the domain. The other eigensolutions are the harmonics of the flux and are partly positive and partly negative. • The flux distributions of each eigensolution can be arbitrarily normalized. If φ(r, E) is a non-trivial solution, then C φ(r, E) is also a non-trivial solution for any non-zero value of the constant C. The value of the normalization constant C is generally computed from the thermal power P of the reactor using  ∞  dE d3 r H(r, E) φ(r, E) = P (3.59) 0

V

where V is the volume of the reactor and H(r, E) is the power factor giving the recoverable energy in terms of the flux. • It is possible to define a mathematical adjoint problem with the same eigenvalues as the original problem but with different eigenvectors.

The transport equation

79

A multiplicative domain with Keff > 1 is said to be over-critical because its flux level will increase with time if we remove the eigenvalue. Similarly, a multiplicative domain with Keff < 1 is said to be under-critical. Each term of the steady-state transport equation is an operator for which an adjoint operator can be found. The general rules for creating the adjoint of an operator are: 1. Transpose the matrix operators. 2. Change the sign of odd-parity differential operators. 3. Interchange the arguments of the kernels of integral operators. Using these rules, the adjoint of Eq. (3.49) is written −Ω · ∇φ∗ (r, E, Ω) + Σ(r, E) φ∗ (r, E, Ω) = Q∗ (r, E, Ω)

(3.60)

where the adjoint source density is Q∗ (r, E, Ω) =





dE 

0

L  2 + 1 =0



Σs, (r, E  ← E)

 Rm (Ω) φ∗m  (r, E )

m=−

fiss

J  1 νΣf,j (r, E) 4πKeff j=1

+

 





dE  χj (E  ) φ∗ (r, E  ).

(3.61)

0

Close inspection of Eq. (3.61) reveals that the adjoint flux is a function of E. The adjoint flux cannot be a distribution of E because the term χj (E  ) φ∗ (r, E  ) in Eq. (3.61) cannot involve the product of two distributions of E  , as explained in Sect. 2.2. In some textbooks, the adjoint flux is referred to as the importance function. The adjoint flux solution is generally normalized to an arbitrary value:  ∞  dE d3 r φ∗ (r, E) = 1. (3.62) 0

V

The adjoint transport equation is also an eigenvalue problem. Its eigenvalues are the same as those of the original transport equation. Each eigenvalue, such as the Keff in Eqs. (3.58) or (3.61), can be expressed in terms of the corresponding eigenvectors φ(r, E) and φ∗ (r, E) using the Rayleigh ratio: fiss J  ∞

j=1

Keff = 















dE χj (E ) φ (r, E )

0

dE νΣf,j (r, E) φ(r, E) 0

  dE  φ∗ (r, E  ) Σ(r, E  ) φ(r, E  ) −

0



dE Σs,0 (r, E  ← E) φ(r, E)

.

(3.63)

0

The interest of the Rayleigh ratio is that it is stationary with respect to a small variation δΣ of the cross-section terms. The first order variation δKeff corresponding to such a variation in cross sections can be written in terms of φ, φ∗ , Σ and δΣ, without using δφ or δφ∗ . This observation is at the origin of the perturbation theory.

3.3.2

The transient source density

The fission source is responsible for the persistence of the chain reaction. Most secondary fission neutrons are emitted within 10−17 s after the fission and are considered to be prompt neutrons. In addition to these, delayed neutrons are produced as the result of physical processes explained

80

Chapter 3

in Sect. 2.9.2. These neutrons are emitted with half-lives T1/2 ≤ 1 min due to decay of some short-lived fission products referred to as delayed neutron precursors. It is possible to classify delayed neutron precursors into Nd well-defined groups, each with its own characteristic half-life T1/2, = ln 2/λ . The number Nd is generally set in interval 6 ≤ Nd ≤ 8. In the case of a multiplying medium with neutrons, the differential form of the transient transport equation leads to the so-called space-time kinetics equations. It is given by Eq. (3.28) as 1 ∂ φ(r, E, Ω, t) + Ω · ∇φ(r, E, Ω, t) + Σ(r, E) φ(r, E, Ω, t) = Q(r, E, Ω, t). Vn ∂t

(3.64)

The transient source density must differentiate prompt and delayed neutron sources. It is written  ∞ L    2 + 1  Σs, (r, E ← E  ) Q(r, E, Ω, t) = dE  Rm (Ω) φm  (r, E , t) 4π 0 =0

+

+

1 4π

fiss  J

χpr j (E)

j=1

fiss J 

j=1

m=−

 0



dE  νjpr (r, E  ) Σf,j (r, E  ) φ(r, E  , t) 

χdel ,j (E) λ c,j (r, t)

+ q(r, E, t)

(3.65)



together with the set of Nd × J fiss precursor equations:  ∞ ∂c,j (r, t) del = dE ν,j (r, E) Σf,j (r, E) φ(r, E, t) − λ c,j (r, t); ∂t 0

 = 1, Nd

(3.66)

where χpr j (E) = prompt neutron spectrum for a fission of isotope j νjpr (r, E) = number of prompt neutrons for a fission of isotope j Σf,j (r, E) = macroscopic fission cross section for isotope j χdel ,j (E) = neutron spectra for delayed neutrons emitted by precursors in group  due to a fission of isotope j λ = radioactive decay constant for precursor group . This constant is assumed to be independent of the fissionable isotope j. c,j (r, t) = concentration of the -th precursor for a fission of isotope j del ν,j (r, E) = number of delayed neutrons in precursor group  for a fission of isotope j.

For the sake of completeness, we have introduced in Eq. (3.65) an external neutron source which isotropically emits q(r, E, t) dV dE neutrons per second in dV dE at time t. This source is taken to define, for example, (γ,n) or (α,n) neutrons produced in a 9 Be source assembly. The neutron spectra are normalized to one, so that  ∞ dE χss (3.67) j (E) = 1 0

and



∞ 0

dE χdel  (E) = 1;  = 1, Nd .

(3.68)

The transport equation

81

The delayed neutron fraction in precursor group  is written (∞ β,j =

del dE ν,j (r, E) Σf,j (r, E) φ(r, E)

0 (∞

(3.69) dE νjss (r, E) Σf,j (r, E) φ(r, E)

0

so that  1−



(∞



dE νjpr (r, E) Σf,j (r, E) φ(r, E)

= 0(∞

β,j



(3.70) dE νjss (r, E) Σf,j (r, E) φ(r, E)

0

where the variable t has been omitted in order to simplify the notation. The steady-state number of neutrons for a fission of isotope j is  del νjss (r, E) = νjpr (r, E) + ν,j (r, E)

(3.71)



so that νΣf,i (r, E) ≡ νjss (r, E) Σf,j (r, E) is used in Eq. (3.56). The steady-state fission spectrum, taking into account both prompt and delayed neutrons, for a fission of isotope j is     ss β,j χpr β,j χdel (3.72) χj (E) = 1 − ,j (E). j (E) + 



Another quantity of interest is the mean neutron generation time. It is defined as (∞ Λ(r) =

fiss J%

0 (∞

dE

1 φ(r, E) Vn (E)

(3.73)

dE νΣf,j (r, E) φ(r, E)

j=1 0

where Vn (E) =



2E/m.

(3.74)

The transport equation is generally solved over the complete reactor by assuming a unique averaged fissionable isotope. In this case, the summations over j disappear in Eqs. (3.65) and (3.66), so that 



0

dE 

L  2 + 1

Σs, (r, E ← E  )

 

 Rm (Ω) φm  (r, E , t) 4π m=−     ∞ 1 + χpr (r, E) 1 − β dE  νΣf (r, E  ) φ(r, E  , t) 4π 0    χdel (r, E) λ c (r, t) + q(r, E, t) +   

Q(r, E, Ω, t) =

=0

(3.75)



together with the set of Nd precursor equations:  ∞ ∂c (r, t) = β dE νΣf (r, E) φ(r, E, t) − λ c (r, t); ∂t 0 where

 = 1, Nd

(3.76)

82

Chapter 3

νΣf (r, E) =

fiss J 

νΣf,j (r, E) =

j=1 fiss J%

νjss (r, E) Σf,j (r, E),

(3.77)

j=1

(∞

β,j

j=1

β =

fiss J 

dE νΣf,j (r, E) φ(r, E)

0

fiss ∞ J% (

,

(3.78)

dE νΣf,j (r, E) φ(r, E)

j=1 0 fiss J%

pr

χ (r, E) =

j=1

 1−

% 

 1−

 β,j χpr j (E)

%

β

 J fiss ∞ % (

fiss J%

χdel  (r, E) =

j=1

dE  νΣf,j (r, E  ) φ(r, E  )

0

β,j χdel ,j (E)

dE νΣf,j (r, E) φ(r, E)

(∞

dE  νΣf,j (r, E  ) φ(r, E  )

0

β

fiss ∞ J% (

(3.79)

j=1 0



and

(∞

;

 = 1, Nd .

(3.80)

dE νΣf,j (r, E) φ(r, E)

j=1 0

3.4

The transport correction

The transport equation is frequently solved by assuming the isotropy of the scattering sources in the LAB. This approximation is generally not valid but can be mitigated by performing a transport correction on the cross sections appearing in the transport equation. The basic principle is to add a forward-peaked component in the Legendre expansion of the differential scattering cross section. This additional component takes the form of a Dirac delta term in Eq. (3.52). Σs (r, E ← E  , μ) =

L  2 + 1 =0

2

Σs, (r, E ← E  ) P (μ) + ΔΣtr (r, E  ) δ(E − E  ) δ(μ − 1) (3.81)

where Σs, (r, E ← E  ) is a modified Legendre coefficient and ΔΣtr (r, E  ) is the additional coefficient multiplying the Dirac delta terms. These coefficients are computed so as to preserve the Legendre moments of Eq. (3.53). We write  1 dμ Σs (r, E ← E  , μ) P (μ) = Σs, (r, E ← E  ) (3.82) −1

for 0 ≤  ≤ L + 1. Substituting Eq. (3.81) into Eq. (3.82) and using the relation P (1) = 1, we obtain Σs, (r, E ← E  ) + ΔΣtr (r, E  ) δ(E − E  ) = Σs, (r, E ← E  ) and

ΔΣtr (r, E  ) = Σs,L+1 (r, E  ).

if 0 ≤  ≤ L

(3.83) (3.84)

Writing L = 0, Eqs. (3.81) and (3.84) reduce to Σs (r, E ← E  , μ) =

1 [Σs,0 (r, E ← E  ) − Σs,1 (r, E  ) δ(E − E  )] + Σs,1 (r, E  ) δ(E − E  ) δ(μ − 1) 2 (3.85)

The transport equation

83

so that the substitution of Eq. (3.85) in the steady-state transport equation (3.49) leads to ¯ Ω · ∇φ(r, E, Ω) + Σ(r, E) φ(r, E, Ω) = Q(r, E, Ω)

(3.86)

where the transport-corrected macroscopic total cross section is written ¯ Σ(r, E) = Σ(r, E) − Σs,1 (r, E)

(3.87)

and where the transport-corrected steady-state source density of Eq. (3.51) is now given by  ∞ 1 Q(r, E, Ω) = dE  [Σs,0 (r, E ← E  ) − Σs,1 (r, E  ) δ(E − E  )] φ(r, E  ) 4π 0 fiss  ∞ J  1 + χj (E) dE  νΣf,j (r, E  ) φ(r, E  ). (3.88) 4πKeff j=1 0 The transport equation (3.86) with the transport-corrected source density (3.88) is as easy to solve as the transport equation for an isotropic collision in the LAB, but includes a correction for anisotropic scattering effects. This technique of transport correction is very useful with the integral form of the transport equation, as presented in Eqs. (3.40) and (3.41), as these equations are otherwise limited to isotropic scattering in the LAB. In this case, the optical path defined in Eq. (3.36) is computed using the transport corrected total cross section defined in Eq. (3.87). Lattice calculations are generally performed this way.

3.5

Multigroup discretization

The numerical solution of the transport equation is greatly facilitated by using a multigroup discretization in energy. This approach consists in dividing the energy domain in a set of G energy groups inside which the neutrons are assumed to behave as one-speed particles and to take averages of all energy-dependent quantities over these groups. This procedure is also named energy condensation. It is advantageous to define the groups in terms of the lethargy variable. As neutron energy approaches the thermal energy range, the number of collisions required to slow down increases and the average energy loss per collision decreases. Conversely, the average gain in lethargy per collision is almost constant over the complete energy range. We are going to assume constant cross sections in each group. The definition of the lethargy limits is made after close inspection of the cross section behavior of all major isotopes present in the reactor, including the position of the resolved resonances. The cross sections of low-energy resonances (such as the 0.3 eV resonance of 239 Pu) must be precisely discretized with a sufficient number of groups and other resolved resonances must be enclosed in an energy group, in order to avoid numerical problems. Multigroup discretization may be performed in many instances of the global computational scheme. The first energy condensation occurs in the GROUPR module, during the NJOY processing step, as explained in Sect. 2.9. Energy condensation of continuous-energy cross sections produces multigroup cross sections defined over the energy structure of the cross section library, typically with 50 ≤ G ≤ 400. The next energy condensation occurs in the lattice code, in order to produce cross sections defined over the energy structure of the reactor calculation (see step 3 of Fig. 1.1) with 2 ≤ G ≤ 8. In some cases, the lattice code uses a multilevel energy representation and performs two energy condensations; the first toward an intermediate energy structure with 20 ≤ G ≤ 35, and the second toward the energy structure of the reactor calculation. The values of G actually used after each condensation step are carefully chosen by the computational scheme specialists.

84

Chapter 3

The reference energy E0 used to define the lethargy u = ln(E0 /E) is generally taken above 10 MeV in order to correspond to the maximum energy of neutrons in a nuclear reactor. The lethargy is zero for the neutrons of energy E0 and increases as neutrons slow down. We divide the energy domain 0 ≤ E ≤ E0 into G groups Wg , so that Wg = {u; ug−1 ≤ u < ug } = {E; Eg < E ≤ Eg−1 }; g = 1, G where ug = ln(E0 /Eg ) and u0 = 0. Before proceeding with energy condensation, we shall define the average Xg of a function or of a distribution X(E) over group g. The following definition is used:  Xg =



ug

Eg−1

du X(u) =

dE X(E)

ug−1

if X(E) is a distribution

(3.89)

Eg

and Xg =

1 ug − ug−1



ug

du X(u) = ug−1



1 ln(Eg−1 /Eg )

Eg−1 Eg

dE X(E) E

if X(E) is a function.

(3.90) The group-averaged values of the flux, cross section, differential cross section and source density are therefore defined as  ug φg (r, Ω) ≡ φ(r, Ω)g = du φ(r, u, Ω), (3.91) ug−1

 φg (r) ≡ φ(r)g =  Σ(r) φ(r)g =  Σs, (r) φ(r)g←h =

ug

du φ(r, u),

(3.92)

ug−1

ug

du Σ(r, u) φ(r, u),

(3.93)

ug−1



ug

uh

du ug−1

du Σs, (r, u ← u ) φ(r, u )

(3.94)

uh−1



and Q(r, Ω)g =

ug

du Q(r, u, Ω).

(3.95)

ug−1

The angular and integrated multigroup flux components are defined as φg (r, Ω) ≡ φ(r, Ω)g and φg (r) ≡ φ(r)g . The multigroup cross-section components are defined in such a way as to preserve the values of the reaction rates. We write Σg (r) =

Σs,,g←h (r) = and νΣf,j,g (r) =

1 Σ(r) φ(r)g , φg (r)

(3.96)

1 Σs, (r) φ(r)g←h φh (r)

(3.97)

1 νΣf,j (r) φ(r)g . φg (r)

(3.98)

The multigroup transport correction obtained by energy condensation of Eq. (3.84) leads to ΔΣtr,g (r) = Σs,1,g (r).

(3.99)

The transport equation

85

The multigroup transport corrected macroscopic cross section is written Σg (r) = Σg (r) − ΔΣtr,g (r)

(3.100)

and the multigroup P0 transport-corrected component of the differential scattering cross section is written Σs,0,g←h (r) = Σs,0,g←h (r) − δgh ΔΣtr,g (r) (3.101) where δgh is the Kronecker delta function. Equation (3.101) is likely to produce negative Σs,0,g←g (r) components. The transport equation for neutrons can be written in multigroup form, leading to a set of G-coupled integro-differential equations. We will now present the steady-state and transient transport equations.

3.5.1

Multigroup steady-state transport equation

The multigroup and differential form of the steady-state transport equation in group g is written Ω · ∇φg (r, Ω) + Σg (r) φg (r, Ω) = Qg (r, Ω)

(3.102)

where 1 ≤ g ≤ G. The multigroup source density is Qg (r, Ω) =

L G   2 + 1



h=1 =0

+

1 4πKeff

fiss J 

 

Σs,,g←h (r)

χj,g

j=1

Rm (Ω) φm ,h (r)

m=− G 

νΣf,j,h (r) φh (r)

(3.103)

h=1

and the average fission spectrum in group g is  χj,g ≡ χj g =

ug

du χj (u).

(3.104)

ug−1

It is always possible to perform a transport correction on the transport equation, whatever its form. This operation will only be illustrated in the case of Eq. (3.102). The substitution of Eqs. (3.100) and (3.101) into Eq. (3.102) leads to a differential transport equation with a first-order transport correction: Ω · ∇φg (r, Ω) + Σg (r) φg (r, Ω) = Qg (r, Ω) −

1 ΔΣtr,g (r) φg (r). 4π

(3.105)

The characteristic form of Eq. (3.102), without transport correction, is d φg (r + s Ω, Ω) + Σg (r + s Ω) φg (r + s Ω, Ω) = Qg (r + s Ω, Ω). ds and the integral infinite-domain form is  φg (r, Ω) =

(3.106)



ds e−τg (s) Qg (r − s Ω, Ω)

(3.107)

0

or, in the case of a finite domain, φg (r, Ω) = e−τg (b) φg (r − b Ω, Ω) +



b

ds e−τg (s) Qg (r − s Ω, Ω)

0

(3.108)

86

Chapter 3

where the optical path in group g is 

s

τg (s) =

ds Σg (r − s Ω).

(3.109)

0

We have obtained an eigenproblem taking the form of a set of coupled differential equations. This problem is not self-adjoint, due to slowing-down effects. The corresponding adjoint equation is written in terms of the multigroup adjoint flux φ∗g (r, Ω) ≡ φ∗ (r, Ω)g and φ∗g (r) ≡ φ∗ (r)g . At this point, an important distinction must be made. The adjoint flux is a function of energy, not a distribution. It is therefore defined as  ug 1 ∗ ∗ du φ∗ (r, u, Ω), (3.110) φg (r, Ω) ≡ φ (r, Ω)g = ug − ug−1 ug−1 and

1 ug − ug−1

φ∗g (r) ≡ φ∗ (r)g =



ug

du φ∗ (r, u).

(3.111)

ug−1

The adjoint, multigroup and differential form of the steady-state transport equation in group g is written −Ω · ∇φ∗g (r, Ω) + Σg (r) φ∗g (r, Ω) = Q∗g (r, Ω) (3.112) where 1 ≤ g ≤ G. The adjoint multigroup source density is Q∗g (r, Ω) =

L G   2 + 1 h=1 =0

+

1 4πKeff

4π fiss J 

j=1

Σs,,h←g (r)

νΣf,j,g (r)

 

Rm (Ω) φ∗m ,h (r)

m=− G 

χj,h φ∗h (r).

(3.113)

h=1

Different approaches can be used to solve the transport equation for neutral particles. The most accurate, and most expensive, technique is the Monte Carlo method. Many millions of particle histories are simulated based on a sequence of random numbers. The simulation of each particle takes into account its interactions with an accurate representation of the geometric domain, using a continuous-energy or multigroup representation of the cross sections. The Monte Carlo method in multigroup approximation is presented in Sect. 3.11. The second class of approaches comprises deterministic solution techniques. These approaches do not use any random number generator. They are based on the application of numerical analysis techniques to the transport equation, either in differential (see Eq. (3.28)), characteristic (see Eq. (3.34)) or integral (see Eq. (3.41)) form. The particle flux is used as dependent variable and the transport equation is solved with its boundary conditions. A multigroup representation of the cross sections is generally imposed. The deterministic approaches are based on many approximations related to their energetic and spatial discretization and to the limitation of the angular representation. Legacy deterministic approaches for solving the transport equation are presented in Sects. 3.7 to 3.10.

3.5.2

Multigroup transient transport equation

The multigroup and differential form of the transient transport equation in group g is written 1 ∂ φg (r, Ω, t) + Ω · ∇φg (r, Ω, t) + Σg (r) φg (r, Ω, t) = Qg (r, Ω, t) Vn,g ∂t where 1 ≤ g ≤ G.

(3.114)

The transport equation

87

The multigroup source density is L G   2 + 1

Qg (r, Ω, t) =



h=1 =0

1 4π

+

fiss  J

j=1

Rm (Ω) φm ,h (r, t)

m=−

 χpr j,g 1 −



j=1

fiss J 

+

 

Σs,,g←h (r)

β,j





νΣf,j,h (r) φh (r, t)

h

 χdel ,j,g λ c,j (r, t)

(3.115)



together with the set of Nd × J fiss precursor equations:  ∂c,j (r, t) = β,j νΣf,j,h (r) φh (r, t) − λ c,j (r, t); ∂t

 = 1, Nd .

(3.116)

h

The following condensation formulas have been used: ) * 1 1 1 = φ(r) , Vn,g φg (r) Vn g

(3.117)

%

β,j

νΣdel f,,j,g (r) φg (r) % = νΣf,j,g (r) φg (r) g

(3.118)

g

and

 1−



%

 β,j

g

= %



νΣpr f,j,g (r) φg (r) (3.119)

νΣf,j,g (r) φg (r)

g

where the variable t 'has been omitted & pr & del ' in order to simplify the notation. We have also used the del relations χpr j,g = χj g , χ,j,g = χ,j g and  χss j,g

= 1−



 β,j χpr j,g +





β,j χdel ,j,g .

(3.120)



In the case of a unique averaged fissionable isotope, all the summations over j disappear in Eqs. (3.115) and (3.116): Qg (r, Ω, t) =

L G   2 + 1 h=1 =0



Σs,,g←h (r)

 

Rm (Ω) φm ,h (r, t)

m=−

      1 del χpr + β νΣ (r) φ (r, t) + χ λ c (r, t) 1 −  f,h h g ,g   4π 

h



(3.121) together with the set of Nd precursor equations:  ∂c (r, t) = β νΣf,g (r) φg (r, t) − λ c (r, t); ∂t g

 = 1, Nd .

(3.122)

88

Chapter 3 Using additional approximations, the new condensation relations are rewritten as fiss J%

β =

β,j

%

νΣf,j,g (r) φg (r)

g

j=1 fiss J%

%

,

(3.123)

νΣf,j,g (r) φg (r)

j=1 g fiss J%

χpr g =

 1−

%

j=1



 1−

%

 β,j χpr j,g

β

 J fiss % %

fiss J%

χdel ,g

=

j=1

β,j χdel ,j,g β

fiss J%

%

νΣf,j,h (r) φh (r)

h

(3.124)

νΣf,j,h (r) φh (r)

j=1 h



and

%

%

νΣf,j,h (r) φh (r)

h

;

 = 1, Nd .

(3.125)

νΣf,j,h (r) φh (r)

j=1 h

as

The above definitions ensure that the group-integrated steady-state fission spectrum is given     χss = 1 − β χpr β χdel (3.126) g g + ,g . 



The mean neutron generation time can also be written in terms of multigroup quantities as % (1/Vn,g ) φg (r) g Λ = fiss . (3.127) J% % νΣf,j,g (r) φg (r) j=1 g

3.6

The first-order streaming operator

We now study the behavior of the first-order streaming operator Ω · ∇φ(r, Ω) in different geometries. The energy is not represented as an independent variable, in order to simplify the notation. The streaming operator actually represents the rate of change of the angular flux along the streaming path of the particle, in the direction of its motion Ω. Two coordinate systems can be used to express this term. The position r of the particle is defined in a Cartesian, cylindrical or spherical coordinate system consistent with the type of geometry being analyzed. The direction of the particle is a solid angle Ω defined in an angular-direction coordinate system that is moving with the particle. Ω is therefore defined in terms of its direction cosines in this moving coordinate system using Ω = μ eμ + η eη + ξ e ξ

3.6.1

with μ2 + η 2 + ξ 2 = 1.

(3.128)

Cartesian coordinate system

The 3D Cartesian coordinate system is shown in Fig. 3.4. The particle is located at position (x, y, z), corresponding to the origin of the angular-direction coordinate system. The three axes of the angular-direction coordinate system, denoted as ex = i, ey = j and ez = k, are parallel to the X, Y and Z axes of the Cartesian system.

The transport equation Z

89

ez ξ Ω ψ φ

(x,y,z)

η

ω

ey

μ

ex

Y

X

Figure 3.4: Cartesian coordinate system. The direction Ω of the particle is uniquely defined by the direction cosine μ of the polar angle Ψ and by the azimuthal angle φ. The first-order streaming operator is therefore a distribution of x, y, z, μ and φ. Consequently, it can be written as Ω·∇=

dx ∂ dy ∂ dz ∂ dμ ∂ dφ ∂ + + + + ds ∂x ds ∂y ds ∂z ds ∂μ ds ∂φ

(3.129)

where ds is a differential element of the particle path in direction Ω. Here, we have dy dz dx = μ, = η, =ξ ds ds ds so that Ω·∇=μ

and

dμ dφ = =0 ds ds

∂ ∂ ∂ +η +ξ . ∂x ∂y ∂z

(3.130)

(3.131)

In the particular case of 1D x-oriented slab geometry, the flux and source density are independent of y, z and of the azimuthal angle φ. The source density components with m = 0 vanish, so that Eq. (3.30) is written Q(r, Ω) =

L  2 + 1 =0



Q (r) R,0 (Ω) =

L  2 + 1 =0



Q (r) P (μ)

(3.132)

where P (μ) is the -order Legendre polynomial. The source density is reduced by integration over the azimuthal angle, using Q(r, Ω) d3 r d2 Ω = Q(x, μ) dx dμ, d3 r = dx dy dz and d2 Ω = dμ dφ. We obtain L  2 + 1 Q (x) P (μ) (3.133) Q(x, μ) = 2 =0

so that using the streaming operator (3.131), the first-order form of the linear Boltzmann equation (3.28) in slab geometry is written  μ

 L  ∂ 2 + 1 + Σ(x) φ(x, μ) = Q (x) P (μ). ∂x 2 =0

(3.134)

90

Chapter 3

Another useful geometry is the 2D Cartesian geometry defined on the (x, y) plane. It is convenient to represent the angular variation of the flux using the direction cosine ξ and azimuthal angle ω, as represented in Fig. 3.4. In this case, the flux and source density are independent of z and are symmetric with respect to the direction cosine ξ, so that φ(x, y, ξ, ω) = φ(x, y, −ξ, ω)

and

Q(x, y, ξ, ω) = Q(x, y, −ξ, ω).

(3.135)

In this case, the source density components with odd values of +m vanish, so that Eq. (3.30) is written L   2 + 1  m Q (x, y) Rm (Ω) (3.136) Q(x, y, Ω) = 4π =0

m=− +m even

and the first-order form of the linear Boltzmann equation (3.28) in Cartesian 2D geometry is written    ∂ ∂ + 1 − ξ 2 sin ω + Σ(x, y) φ(x, y, ξ, ω) 1 − ξ 2 cos ω ∂x ∂y =

L   2 + 1  =0



where =

(3.137)

m=− +m even

 Rm (ξ, ω)

3.6.2

m Qm  (x, y) R (ξ, ω)

(2 − δm,0 )

( − |m|)! |m| P (ξ) Tm (ω). ( + |m|)! 

(3.138)

Cylindrical coordinate system

The 3D cylindrical coordinate system is shown in Fig. 3.5. The particle is located at position (ρ, θ, z), corresponding to the origin of the angular-direction coordinate system. The three axes of the angular-direction coordinate system, denoted as eρ , eθ and ez , are defined in such a way that eρ is collinear with the projection of r on the XY plane and that ez is parallel to the Z axis. The direction Ω of the particle is uniquely defined by the direction cosine ξ of the polar angle and by the azimuthal angle ω. The first-order streaming operator is therefore a distribution of ρ, θ, z, ξ and ω. Consequently, it can be written as Ω·∇=

dρ ∂ dθ ∂ dz ∂ dξ ∂ dω ∂ + + + + ds ∂ρ ds ∂θ ds ∂z ds ∂ξ ds ∂ω

(3.139)

where dθ η dz dμ dρ = μ, = , = ξ and = 0. ds ds ρ ds ds

(3.140)

The term dω/ds is not zero because the particle direction changes as the particle move. This phenomenon, called angular redistribution, is specific to curvilinear geometries. The angular redistribution term is computed with the help of Fig. 3.6, representing the projection of the particle path on the eρ -eθ plane.

The transport equation

91

Z ez Ω

ξ

eθ η

φ

ρ (ρ,θ,z)

ω μ eρ Y eθ

θ X

Figure 3.5: Cylindrical coordinate system.

2 ω − ds √1 −ρξ sin ω

ds √1 − ξ2

ρ

ds √1 − ξ2 sin ω

pro je art ction icl e p of th

ω



Figure 3.6: Angular redistribution of particles in cylindrical geometry. We see that

dω 1 η =− (3.141) 1 − ξ 2 sin ω = − ds ρ ρ where the negative sign indicates that the azimuthal angle ω decreases as the particle goes forward. The first-order streaming operator in cylindrical geometry is obtained after substituting Eqs. (3.140) and (3.141) into Eq. (3.139): Ω·∇=μ

∂ η ∂ ∂ η ∂ + +ξ − . ∂ρ ρ ∂θ ∂z ρ ∂ω

(3.142)

When this operator is applied on the angular flux, the terms can be rearranged in a form that facilitates the representation of particle conservation: Ω · ∇φ =

η ∂φ ∂φ 1 ∂ μ ∂ (ρφ) + +ξ − (ηφ). ρ ∂ρ ρ ∂θ ∂z ρ ∂ω

(3.143)

The angular flux and source are distributions of the solid angle only through direction cosine ξ and azimuthal angle ω. The angular flux and source vary parametrically with μ and η through relations   (3.144) μ = 1 − ξ 2 cos ω and η = 1 − ξ 2 sin ω.

92

Chapter 3

Eqs. (3.144) can also be used to show that ∂η/∂ω = μ and to transform Eq. (3.142) into Eq. (3.143). In the particular case of a 1D cylindrical geometry, the flux and source density are independent of θ, z and are symmetric with respect to both the direction cosine ξ and azimuthal angle ω, so that φ(ρ, ξ, ω) = φ(ρ, ξ, −ω),

Q(ρ, ξ, ω) = Q(ρ, ξ, −ω),

φ(ρ, ξ, ω) = φ(ρ, −ξ, ω)

Q(ρ, ξ, ω) = Q(ρ, −ξ, ω).

and

(3.145)

Under these conditions, the source density components with m < 0 and with odd values of m +  vanish, so that Eq. (3.30) is written  L  2 + 1 

Q(ρ, Ω) =

=0



m Qm  (ρ) R (Ω)

(3.146)

m=0 +m even

and the first-order form of the linear Boltzmann equation (3.28) in cylindrical 1D geometry is written μ

L   2 + 1  m ∂ η ∂ φ(ρ, ξ, ω) − φ(ρ, ξ, ω) + Σ(ρ) φ(ρ, ξ, ω) = Q (ρ) Rm (ξ, ω) ∂ρ ρ ∂ω 4π m=0  =0

where

 (2 − δm,0 )

Rm (ξ, ω) =

(3.147)

+m even

( − m)! m P (ξ) cos mω. ( + m)! 

(3.148)

The conservative form of Eq. (3.147) is written L   μ ∂ 2 + 1  m 1 ∂ [ρφ(ρ, ξ, ω)] − [ηφ(ρ, ξ, ω)] + Σ(ρ) φ(ρ, ξ, ω) = Q (ρ) Rm (ξ, ω) ρ ∂ρ ρ ∂ω 4π m=0  =0

+m even

(3.149) where it can be shown that

 d2 Ω 4π

3.6.3

∂ [ηφ(ρ, ξ, ω)] = 0. ∂ω

(3.150)

Spherical coordinate system

The 3D spherical coordinate system is shown in Fig. 3.7. The particle is located at the origin of the angular-direction coordinate system. The three axes of the angular-direction coordinate system, denoted as er , e1 and e2 , are defined in such a way that er is collinear with the position vector of the particle. The direction Ω of the particle is uniquely defined by the direction cosine μ of the polar angle and by the azimuthal angle φ. For 1D spheres, the first-order streaming operator is only a distribution of r and μ so that it can be written as Ω·∇=

dμ ∂ dr ∂ + ds ∂r ds ∂μ

(3.151)

The transport equation

93

e1 η Ω φ

μ

er

Z

r

ξ

Y

e2

X

Figure 3.7: Spherical coordinate system.

where dr/ds = μ and where the angular redistribution term dμ/ds is evaluated using an expression similar to Eq. (3.141). Writing μ = cos θ, we can show that r dθ = −ds sin θ and sin2 θ 1 − μ2 dμ = = ds r r

(3.152)

so that Ω·∇=μ

∂ 1 − μ2 ∂ + . ∂r r ∂μ

(3.153)

When this operator is applied on the angular flux, the terms can be rearranged in a form that facilitates the representation of particle conservation: Ω · ∇φ =

 μ ∂ 2 1 ∂  (r φ) + (1 − μ2 )φ . 2 r ∂r r ∂μ

(3.154)

In the particular case of a 1D spherical geometry, the flux and source density are only dependent upon r and μ, so that the source density components with m = 0 vanish. In this case, Eq. (3.30) is written Q(r, μ) =

L  2 + 1 =0

2

Q (r) P (μ)

(3.155)

so that using the streaming operator (3.153), the first-order form of the linear Boltzmann equation (3.28) in 1D spherical geometry is written  2 + 1 1 − μ2 ∂ ∂ φ(r, μ) + φ(r, μ) + Σ(r) φ(r, μ) = Q (r) P (μ). ∂r r ∂μ 2 L

μ

(3.156)

=0

The conservative form of this equation is L   1 ∂   2 + 1 μ ∂  2 2 r (1 − μ Q (r) P (μ). φ(r, μ) + )φ(r, μ) + Σ(r) φ(r, μ) = 2 r ∂r r ∂μ 2 =0

(3.157)

94

Chapter 3

3.7

The spherical harmonics method

The spherical harmonics, or Pn method, is a discretization of the differential form of the transport equation. The angular flux is represented as a limited development in real spherical harmonics, as defined in Eqs. (2.12). This approach is by far the oldest way to solve transport equations and was used by astrophysicists at the beginning of the 20th century.[27] More recently, this approach was used in neutron transport theory and has been called the Pn method.[28, 29] A closely related approximation is based on the solution of the simplified Pn equation, leading to an efficient solution technique that can be used for full-core calculations.[30] We have chosen a weighted residual derivation of the relations between values of the particle flux defined at specific points of the spatial domain. A presentation of modern spherical harmonics approximations, based on variational principles and consistent with this text, can be found in Ref. [31]. It is useful to recall the one-speed steady-state transport Eq. (3.102) as Ω · ∇φ(r, Ω) + Σ(r) φ(r, Ω) = Q(r, Ω)

(3.158)

where the group index g is omitted to simplify the notation. The spherical harmonics method is based on the expansion of φ(r, Ω) and Q(r, Ω) in spherical harmonics. The expansions are truncated after a few terms, leading to the so-called Pn method. We write n   2 + 1  m φ(r, Ω) = φ (r) Rm (Ω) (3.159) 4π =0

and Q(r, Ω) =

m=−

 L  2 + 1  =0



m Qm  (r) R (Ω)

(3.160)

m=−

where n is odd and L ≤ n. The within-group scattering component can be made explicit in Eq. (3.160), leading to Q(r, Ω) =

L   2 + 1  =0



m m [Σw, (r) φm  (r) + Q (r)] R (Ω)

(3.161)

m=−

where Σw, (r) is the macroscopic within-group scattering cross section and Qm  (r) is the outof-group source density. It is possible to use symmetry properties of specific geometries to reduce the number of components in Eqs. (3.159) to (3.161). This will be the subject of the following sub-sections.

3.7.1

The Pn method in 1D slab geometry

Discretization in angle The Pn method will first be studied for the simple case of a 1D x-oriented slab geometry. In this case, the flux and source density are independent of y, z and of the azimuthal angle. The flux and source density components with m = 0 vanish, so that the angular variation of the flux is only a function of the direction cosine μ. The flux components can be developed using the first n + 1 Legendre polynomials, n being an odd number. Equation (3.158) simplifies to Eq. (3.134), so that   ∂ μ + Σ(x) φ(x, μ) = Q(x, μ) (3.162) ∂x

The transport equation

95

where Eqs. (3.159) and (3.160) are now written φ(x, μ) =

n  2 + 1 =0

2

φ (x) P (μ) and

Q(x, μ) =

L  2 + 1 =0

2

Q (x) P (μ),

where L ≤ n, so that the components of the flux are written  1 φ (x) = dμ P (μ) φ(x, μ)

(3.163)

(3.164)

−1

with the scalar flux and current given by φ0 (x) and φ1 (x), respectively. We next substitute Eqs. (3.163) in Eq. (3.162), multiply by P (μ), integrate from −1 to +1, and use the orthogonality and recurrence relations for Legendre polynomials. These relations were introduced as Eqs. (2.8) and (2.10), respectively. The result is  +1 d d φ−1 (x) + φ+1 (x) + Σ(x) φ (x) = Q (x) 2 + 1 dx 2 + 1 dx

(3.165)

where 0 ≤  ≤ n. Boundary conditions A boundary condition with specular reflection on surface x− is imposed as a symmetry in direction cosine μ: φ(x− , μ) = φ(x− , −μ) (3.166) so that the odd moments of the flux are set to zero at point x− . There is no straightforward way to represent a vacuum boundary condition. If the domain is bounded on the left by a vacuum, then φ(x− , μ) = 0 if μ > 0.

(3.167)

No sum of Legendre polynomials can fulfill Eq. (3.167) exactly. We are limited to using an approximation in which this condition is projected on the polynomial basis, as proposed by Marshak. Another well-known approximation was proposed by Mark, but will not be considered until we introduce the discrete ordinate, or Sn , method in Sect. 3.9. A Marshak boundary condition on the left boundary x− is written 

1

dμ φ(x− , μ) P (μ) = 0

 1 n  2m + 1 φm (x− ) dμ P (μ) Pm (μ) = 0 2 0 m=0

(3.168)

where  = 1, 3, . . . , n. Equation (3.168) can be generalized by introducing an albedo β − representing the fraction of outgoing particles undergoing specular reflection, so that φ(x− , μ) = β − φ(x− , −μ) if μ > 0. The revised condition is  1  0 n n   (2m + 1) φm (x− ) dμ P (μ) Pm (μ) = −β − (2m + 1) φm (x− ) dμ P (μ) Pm (μ) m=0

0

−1

m=0

(3.169) where  = 1, 3, . . . , n. This equation can be rewritten as (1 + β − ) φ (x− ) + (1 − β − )

n−1  m=0 m even

M,m φm (x− ) = 0

(3.170)

96

Chapter 3

where  = 1, 3, . . . , n and where the Marshak coefficients M,m are given in Table 3.1. They are defined as  1 M,m = (2m + 1) dμ P (μ) Pm (μ). (3.171) 0

Table 3.1: Marshak coefficients in slab geometry.  1 3 5 7 9

m=0 0.5 −0.125 0.0625 −0.039063 0.027344

m=2 0.625 0.625 −0.195312 0.109375 −0.073242

m=4 −0.1875 0.632812 0.632812 −0.205078 0.118652

m=6 0.101562 −0.203125 0.634766 0.634765 −0.208283

m=8 −0.066406 0.116211 −0.207520 0.635528 0.635528

The Marshak coefficients in slab geometry can be obtained with the following Matlab script: function f=pnmars(l,m) % return the Marshak boundary coefficients in slab geometry. These % coefficients are specific to the left boundary. % function f=pnmars(l,m) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal if mod(l,2) == 0 error(’odd first index expected’) end zgksi=[ 0.00529953837 0.0277124941 0.0671843886 0.122297794 0.191061884 ... 0.270991623 0.359198213 0.452493757 0.547506273 0.640801787 0.729008377 ... 0.808938146 0.877702236 0.932815611 0.972287536 0.994700432 ] ; wgksi=[ 0.01357623 0.0311267618 0.047579255 0.0623144843 0.0747979954 ... 0.0845782608 0.0913017094 0.0947253034 0.0947253034 0.0913017094 ... 0.0845782608 0.0747979954 0.0623144843 0.047579255 0.0311267618 ... 0.01357623 ] ; f=(2*m+1)*sum(wgksi(:).*plgndr(l,0,zgksi(:)).*plgndr(m,0,zgksi(:))) ;

Similarly, a Marshak condition on the right boundary at x+ would be written (1 + β + ) φ (x+ ) − (1 − β + )

n−1 

M,m φm (x+ ) = 0

(3.172)

m=0 m even

where  = 1, 3, . . . , n. Difference relations A first-order numerical solution of the spherical harmonics equations requires the application of finite-difference discretization to every order  of Eq. (3.165), resulting in a symmetric linear system of n + 1 coupled relations. The domain is divided into sub-volumes, or elements, with constant cross sections, as depicted in Fig. 3.8. The odd-parity variables are discretized over mesh-centered coordinates (xi−1 , xi , xi+1 , etc.) and the even-parity variables are discretized over interface coordinates (xi−1/2 , xi+1/2 , xi+3/2 , etc.). We define the corresponding volumes as Δxi = xi+1/2 − xi−1/2 .

(3.173)

The transport equation

sub-volume i-1

xi-3/2

xi-1

sub-volume i

sub-volume i+1

xi

xi+1

xi-1/2

Δxi-1

xi+1/2

Δxi

97

x

xi+3/2

Δxi+1

Figure 3.8: Spatial discretization for slab geometry.

Let us now consider the spherical harmonics discretized relations for even indices . First consider the case where surface i + 1/2 is not a boundary. The finite-difference relations can be applied in many different ways, leading to linear-order accuracy. The specific relations presented here have been selected to enforce consistency with the diamond differencing scheme of the discrete ordinates method presented in Sect. 3.9.2. We first consider even-parity indices . The approximation consists in writing Eq. (3.165) at xi and xi+1 , where we use the average of even-parity variables on these points. We write 

  d 2 + 1 d − φ−1,i + ( + 1) φ− Σi φ + + φ+ +1,i + ,i−1/2 ,i+1/2 dx dx 2  2 + 1  + Q,i−1/2 + Q+ = ,i+1/2 2

(3.174)

and 

  d 2 + 1 d − + + φ φ−1,i+1 + ( + 1) φ− Σ + + φ i+1 ,i+1/2 ,i+3/2 dx dx +1,i+1 2  2 + 1  + Q,i+1/2 + Q+ = ,i+3/2 2

(3.175)

together with the finite-difference relations − φ− d − ∓1,i+1/2 − φ∓1,i φ = dx ∓1,i Δxi /2

and

− φ− d − ∓1,i+1 − φ∓1,i+1/2 φ , = dx ∓1,i+1 Δxi+1 /2

(3.176)

so that − − −  (φ− −1,i+1 − φ−1,i ) + ( + 1)(φ+1,i+1 − φ+1,i )   Δxi  Δxi  Σi φ+ Σi φ+ + (2 + 1) − Q+ − Q+ + (2 + 1) ,i−1/2 ,i−1/2 ,i+1/2 ,i+1/2 4 4   Δxi+1  Δxi+1  + + Σi+1 φ,i+1/2 − Q,i+1/2 + (2 + 1) Σi+1 φ+ − Q+ + (2 + 1) ,i+3/2 ,i+3/2 4 4 = 0 (3.177)

where 1 ≤ i ≤ I. Similarly, the left and right boundary relations are obtained using difference relations. The derivative of odd-parity variables at x1/2 are written with the help of Eq. (3.170) as d − φ = dx ∓1,1

− φ− ∓1,1 − φ∓1,1/2

Δx1 /2

⎛ =

⎞ − n−1 

2 ⎜ − 1−β ⎝φ∓1,1 + Δx1 1 + β−

⎟ M∓1,m φ+ m,1/2 ⎠

m=0 m even

(3.178)

98

Chapter 3 The left and right boundary relations are finally written  Δx1  − Σ1 φ+ − Q+  φ− −1,1 + ( + 1) φ+1,1 + (2 + 1) ,1/2 ,1/2 4 n−1   Δx1 1 − β−  ˆ + (2 + 1) + (2 + 1) Σ1 φ+ − Q+ M,m φ+ ,3/2 ,3/2 m,1/2 = 0 4 1 + β − m=0 m even

(3.179) and

 ΔxI  ΣI φ+ − Q+ ,I−1/2 ,I−1/2 4 n−1   ΔxI 1 − β+  ˆ + (2 + 1) + (2 + 1) ΣI φ + − Q+ M,m φ+ ,I+1/2 ,I+1/2 m,I+1/2 = 0 4 1 + β + m=0

− − φ− −1,I − ( + 1) φ+1,I + (2 + 1)

m even

(3.180) where



1

ˆ ,m = (2m + 1) M

dμ μ P (μ) Pm (μ) 0

=

 1   M−1,m + ( + 1) M+1,m . 2 + 1

(3.181)

Finally, the spherical harmonics discretized relations for odd-parity indices  are obtained by integrating Eq. (3.165) between xi−1/2 and xi+1/2 and by assuming that φ− ,i is equal to the averaged value over sub-volume i. We obtain     + + + − − φ+ −1,i+1/2 − φ−1,i−1/2 − ( + 1) φ+1,i+1/2 − φ+1,i−1/2 − (2 + 1) Δxi Σi φ,i = −(2 + 1) Δxi Q− ,i

(3.182)

where 1 ≤ i ≤ I. Equations (3.177) to (3.182) are the difference equations corresponding to the discretized transport equation in 1D slab geometry. They are solved iteratively, taking two successive Legendre orders at each iteration. The scattering reduction is made in a straightforward way, − by extracting the within-group scattering rates from Q+ ,i±1/2 and Q,i .

3.7.2

The Pn method in 1D cylindrical geometry

Discretization in angle Due to specific symmetries, the flux is a function of the radius ρ, of the direction cosine ξ, of the azimuthal angle ω and can be developed in terms of the even  + m positive components of an expansion in spherical harmonics, where 1 ≤  ≤ n, n being an odd number. Equation (3.158) simplifies to Eq. (3.147) which can be rewritten, with the help of Eqs. (3.144), as   1 − ξ 2 sin ω ∂ ∂ 2 φ(ρ, ξ, ω) − φ(ρ, ξ, ω) + Σ(ρ) φ(ρ, ξ, ω) 1 − ξ cos ω ∂ρ ρ ∂ω = Q(ρ, ξ, ω) (3.183) where the angular source is expanded at order L ≤ n. The spherical harmonic expansions are written n   2 + 1  m φ(ρ, ξ, ω) = φ (ρ) Rm (ξ, ω) (3.184) 4π m=0  =0

+m even

The transport equation and Q(ρ, ξ, ω) =

L   2 + 1  =0



m Qm  (ρ) R (ξ, ω)

99

(3.185)

m=0 +m even

so that the components of the flux are written  φm  (ρ) =



1

π

dξ −1

−π

dω Rm (ξ, ω) φ(ρ, ξ, ω)

(3.186)

with the scalar flux and current given by φ00 (ρ) and φ11 (ρ), respectively.  We next substitute Eq. (3.184) into Eq. (3.183), multiply by ρ Rm (ξ, ω), integrate over 4π and use the orthogonality relation (2.18). The result is     d d m−1 m − (m − 1) φ − (m − 1) φm−1 ρ ρ (ρ) + B Am   −1 +1 (ρ) dρ dρ     d d m+1 m m + C ρ + (m + 1) φ−1 (ρ) + D ρ + (m + 1) φm+1 +1 (ρ) dρ dρ m + ρ Σ(ρ) φm (3.187)  (ρ) = ρ Q (ρ) where 0 ≤  ≤ n and 0 ≤ m ≤  with  + m an even integer. We used the following relations:  π    2 + 1 1 2 dξ 1 − ξ dω cos ω Rm (ξ, ω) Rm (ξ, ω) 4π −1 −π m m = Am  δ ,−1 δm ,m−1 + B δ ,+1 δm ,m−1 + C δ ,−1 δm ,m+1 m + D δ ,+1 δm ,m+1 ,

(3.188)

 π   2 + 1 1 ∂ m R  (ξ, ω) dξ 1 − ξ 2 dω sin ω Rm (ξ, ω) 4π ∂ω  −1 −π m = (m − 1) Am  δ ,−1 δm ,m−1 + (m − 1) B δ ,+1 δm ,m−1 − (m + 1) Cm δ ,−1 δm ,m+1 − (m + 1) Dm δ ,+1 δm ,m+1

(3.189)

   π    ∂ m 2 + 1 1 2 dξ 1 − ξ dω sin ω R (ξ, ω) Rm (ξ, ω) 4π ∂ω −1 −π m = −m Am  δ ,−1 δm ,m−1 − m B δ ,+1 δm ,m−1 m m +m C δ ,−1 δm ,m+1 + m D δ ,+1 δm ,m+1

(3.190)

and

with the definitions: Am 

=

Bm

=

Cm

=

Dm

=

 1 (1 − δm,0 )(1 + δm,1 )( + m)( + m − 1), 2(2 + 1)  1 − (1 − δm,0 )(1 + δm,1 )( − m + 1)( − m + 2), 2(2 + 1)  1 − (1 + δm,0 )( − m)( − m − 1), 2(2 + 1)  1 (1 + δm,0 )( + m + 1)( + m + 2). 2(2 + 1)

(3.191)

100

Chapter 3

These coefficients were obtained using the following identities:  1  dξ 1 − ξ 2 Pm (ξ) Pm+1 (ξ)  −1   ( + m)! 2 ( + m + 2)! δ, −1 − δ, +1 , = 2 + 1 (2 + 3)( − m)! (2 − 1)( − m − 2)! 

 1 − ξ 2 Pm (ξ) Pm−1 (ξ)  −1   1 1 2( + m)! δ, +1 − δ, −1 , = (2 + 1)( − m)! 2 − 1 2 + 3

(3.192)

1





π

and 

π

π [(1 + δm,0 ) δm,m −1 + (1 + δm ,0 ) δm,m +1 ] 2

(3.194)

π [(1 + δm,0 ) δm,m −1 − δm,m +1 ] where m > 0. 2

(3.195)

dφ cos φ cos mφ cos m φ =

−π

dφ sin φ cos mφ sin m φ =

−π

(3.193)

Boundary conditions The ρ = ρ− ≡ 0 condition is set by forcing the flux to be an even function of ζ at the origin. Consequently, all components of the flux with an odd value of  are forced to zero. The external boundary condition of a 1D cylindrical geometry is introduced by choosing an albedo β + set to zero for representing a voided boundary, or set to one for representing reflection of particles. The voided boundary condition is similar to the Marshak condition used for 1D slab geometry. The inward flux, written as φ(ρ+ , ξ, ω) = 0

if π/2 < ω < 3π/2

(3.196)

is projected onto a space of trial functions. Such a boundary condition is useful in criticality problems for computing the critical radius of tubes. The most general albedo boundary condition is written (1 + β

+

) φm  (ρ+ )

− (1 − β ) +

n−1 



 





m Mm,m , φ (ρ+ ) = 0

(3.197)

 =0 m =0  even m even

where  and m are odd integers, 1 ≤  ≤ n and 1 ≤ m ≤ . The cylindrical-geometry Marshak coefficients are defined as   π/2   2 + 1 1 dξ dω Rm (ξ, ω) Rm (ξ, ω). (3.198) = Mm,m  , 2π −1 −π/2 They can be obtained using the following Matlab script: function f=pncmar(l1,l2,m1,m2) % return the Marshak boundary coefficients in 1D tube geometry. % function f=pncmar(l1,l2,m1,m2) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal

The transport equation

101

if mod(l1,2) == 0 error(’odd legendre order expected.’) elseif mod(m1,2) == 0 error(’odd azimuthal order expected.’) end zgksi=[ -0.989400923 -0.944575012 -0.865631223 -0.755404413 -0.617876232 ... -0.458016783 -0.281603545 -0.0950125083 0.0950125083 0.281603545 ... 0.458016783 0.617876232 0.755404413 0.865631223 0.944575012 0.989400923 ] ; wgksi=[ 0.0271524601 0.0622535236 0.0951585099 0.124628969 0.149595991 ... 0.169156522 0.182603419 0.189450607 0.189450607 0.182603419 0.169156522 ... 0.149595991 0.124628969 0.0951585099 0.0622535236 0.0271524601 ] ; coef=1.0 ; if m1 > 0 , coef=coef*sqrt(2.0*factorial(l1-m1)/factorial(l1+m1)) ; end if m2 > 0 , coef=coef*sqrt(2.0*factorial(l2-m2)/factorial(l2+m2)) ; end sum1=sum(wgksi(:).*plgndr(l1,m1,zgksi(:)).*plgndr(l2,m2,zgksi(:))) ; if m1 == m2 sumphi=0.25 ; elseif mod(m1+m2,2) == 0 sumphi=0.0 ; else sumphi=(-1.)^fix((m1-m2)/2)*sign(m1-m2)*(1./(m1-m2)+1./(m1+m2))/(2.*pi) ; end f=sum1*coef*sumphi*(2.*l2+1.) ;

Implementing the reflecting boundary condition is less straightforward. Such a condition is useful in the context of the Wigner-Seitz approximation for lattice calculations in reactor physics. An elementary cell of a nuclear reactor can be represented with a reflecting rectangular or hexagonal boundary. The Wigner-Seitz approximation consists of replacing the exact boundary with an equivalent cylindrical boundary, as shown in Fig. 3.9, taking care to conserve the amount of moderator present in the cell.

Fuel

Fuel

Figure 3.9: Wigner-Seitz boundary approximation. However, a specular boundary condition cannot be used with Wigner-Seitz approximation, because a neutron incident on the boundary would be reflected in such a way that its path could not intersect the fuel element without being scattered. The correct condition in this case is the white boundary condition in which the particles are reflected back, on the cylindrical boundary, with an isotropic angular distribution in the radial plane. Such a condition can be represented by forcing to zero the components of the incoming odd-parity fluxes with m = 1 and by treating the remaining components with a vacuum boundary condition. Difference relations Equations (3.187) with the Marshak boundary condition (3.197) can be discretized in ρ by replacing the differential terms with difference relations, taking care to preserve the symmetry of the resulting matrices. The odd-parity variables are discretized over mesh-centered coordinates

102

Chapter 3

(ρi−1 , ρi , ρi+1 , etc.) and the even-parity variables are discretized over interface coordinates (ρi−1/2 , ρi+1/2 , ρi+3/2 , etc.). We also define Δρi = ρi+1/2 − ρi−1/2 , ρi =

ρi−1/2 + ρi+1/2 and Vi = 2π ρi Δρi . 2

(3.199)

We first consider even-parity indices  and m in the case where surface i + 1/2 is not a boundary. The approximation consists in writing Eqs. (3.187) at ρi and ρi+1 , using the average of even-parity variables on these points. We write     d d −,m−1 −,m−1 −,m−1 −,m−1 m m A (ρ φ−1,i ) − m φ−1,i (ρ φ+1,i ) − m φ+1,i + B dρ dρ     d d −,m+1 −,m+1 −,m+1 m (ρ φ−,m+1 (ρ φ + D ) + m φ ) + m φ + Cm  −1,i −1,i +1,i +1,i dρ dρ     ρi Σ i ρi +,m = (3.200) φ+,m Q+,m + φ+,m + ,i−1/2 ,i+1/2 ,i−1/2 + Q,i+1/2 2 2 and 

   d d −,m−1 −,m−1 −,m−1 m (ρ φ−,m−1 (ρ φ + B ) − m φ ) − m φ  −1,i+1 −1,i+1 +1,i+1 +1,i+1 dρ dρ     d d −,m+1 −,m+1 −,m+1 m (ρ φ−,m+1 (ρ φ ) + m φ ) + m φ + Cm + D  −1,i+1 −1,i+1 +1,i+1 +1,i+1 dρ dρ     ρi+1 Σi+1 ρi+1 +,m +,m = φ+,m Q+,m + ,i+1/2 + φ,i+3/2 ,i+1/2 + Q,i+3/2 2 2

Am 

(3.201) together with the finite-difference relations

and

−,m∓1 ρi+1/2 φ−,m∓1 d ∓1,i+1/2 − ρi φ∓1,i (ρ φ−,m∓1 ) = ∓1,i dρ Δρi /2

(3.202)

−,m∓1 ρi+1 φ−,m∓1 d ∓1,i+1 − ρi+1/2 φ∓1,i+1/2 (ρ φ−,m∓1 , ) = ∓1,i+1 dρ Δρi+1 /2

(3.203)

so that ! m −,m−1 (Δρi φ−,m−1 + Δρ φ ) i+1 −1,i −1,i+1 2 ! m −,m−1 −,m−1 −,m−1 −,m−1 m 2πB (ρi+1 φ+1,i+1 − ρi φ+1,i ) − (Δρi φ+1,i + Δρi+1 φ+1,i+1 ) 2 ! m −,m+1 −,m+1 −,m+1 m 2πC (ρi+1 φ−1,i+1 − ρi φ−1,i ) + (Δρi φ−,m+1 −1,i + Δρi+1 φ−1,i+1 ) 2 ! m −,m+1 −,m+1 −,m+1 m 2πD (ρi+1 φ+1,i+1 − ρi φ+1,i ) + (Δρi φ−,m+1 + Δρ φ ) i+1 +1,i +1,i+1 2    V Vi  i +,m +,m Σi φ+,m Σi φ+,m ,i−1/2 − Q,i−1/2 + 4 ,i+1/2 − Q,i+1/2 4   Vi+1  Vi+1  +,m +,m +,m Σi+1 φ+,m Σ − Q φ − Q + = 0 i+1 ,i+1/2 ,i+1/2 ,i+3/2 ,i+3/2 4 4

−,m−1 (ρi+1 φ−,m−1 2πAm  −1,i+1 − ρi φ−1,i ) −

+ + + + +

(3.204) where  and m are even integers and 1 ≤ i < I.

The transport equation

103

Let us now consider the case where ρI+1/2 is the outer boundary. The derivative of oddparity variables at ρI+1/2 is written with the help of Eq. (3.197) as −,m∓1 ρI+1/2 φ−,m∓1 d ∓1,I+1/2 − ρI φ∓1,I (ρ φ−,m∓1 ) = ∓1,I dρ ΔρI /2    n−1  1 − β+  2 m∓1,m +,m −,m∓1 ρ+ M φ − ρ φ = I ∓1,I ∓1,  ,I+1/2 ΔρI 1 + β+    =0 m =0  even m even

(3.205) so that

! m + 2πBm −ρI φ−,m−1 ΔρI φ−,m−1 −1,I +1,I − 2 ! m + 2πCm −ρI φ−,m+1 ΔρI φ−,m+1 + 2πDm −ρI φ−,m+1 −1,I + −1,I +1,I + 2     VI VI + ΣI φ+,m ΣI φ+,m − Q+,m − Q+,m + ,I−1/2 ,I−1/2 ,I+1/2 ,I+1/2 4 4  + n−1    1−β +,m ˆ m,m + 2πρ+ M , φ ,I+1/2 = 0 1 + β+   −ρI φ−,m−1 2πAm  −1,I −

! m ΔρI φ−,m−1 +1,I 2 ! m ΔρI φ−,m+1 +1,I 2

(3.206)

 =0 m =0  even m even

where  and m are even integers. We also introduced ρ+ ≡ ρI+1/2 and  π/2     2 + 1 1 2 ˆ m,m = dξ 1 − ξ dω cos ω Rm (ξ, ω) Rm (ξ, ω) M  , 2π −1 −π/2 







m−1,m = Am + Bm Mm−1,m + Cm Mm+1,m + Dm Mm+1,m  M−1, +1, −1, +1, .

(3.207)

Finally, the spherical harmonics discretized relations for odd-parity indices  and m are is obtained by integrating Eq. (3.187) between ρi−1/2 and ρi+1/2 and by assuming that φ−,m ,i equal to the averaged value over sub-volume i. We obtain    m−1   +,m−1 +,m−1 +,m−1 +,m−1 Δρ + φ φ − φ ρ − φ − 2πAm i i  −1,i+1/2 −1,i−1/2 −1,i−1/2 −1,i+1/2 2    m−1   +,m−1 +,m−1 +,m−1 +,m−1 m Δρi φ+1,i−1/2 + φ+1,i+1/2 − 2πB ρi φ+1,i+1/2 − φ+1,i−1/2 − 2    m+1   +,m+1 +,m+1 +,m+1 +,m+1 m − 2πC ρi φ−1,i+1/2 − φ−1,i−1/2 + Δρi φ−1,i−1/2 + φ−1,i+1/2 2    m+1   +,m+1 +,m+1 +,m+1 − 2πDm ρi φ+,m+1 Δρ + φ − φ + φ i +1,i+1/2 +1,i−1/2 +1,i−1/2 +1,i+1/2 2 −,m − Vi Σi φ−,m ,i = −Vi Q,i

(3.208)

where  and m are odd integers and 1 ≤ i ≤ I.

3.7.3

The Pn method in 1D spherical geometry

Discretization in angle The Pn method will be studied for the simple case of a 1D spherical geometry. In this case, the angular variation of the flux is only a function of the direction cosine μ and can be developed

104

Chapter 3

using the first n + 1 Legendre polynomials, n being an odd number. Equation (3.158) simplifies to Eq. (3.156), so that μ

1 − μ2 ∂ ∂ φ(r, μ) + φ(r, μ) + Σ(r) φ(r, μ) = Q(r, μ) ∂r r ∂μ

(3.209)

where the angular source is expanded at order L ≤ n. The spherical harmonic expansions are written

φ(r, μ) =

n  2 + 1 =0

2

φ (r) P (μ) and

Q(r, μ) =

L  2 + 1 =0

2

Q (r) P (μ).

(3.210)

so that the components of the flux are written  φ (r) =

1 −1

dμ P (μ) φ(r, μ)

(3.211)

with the scalar flux and current given by φ0 (r) and φ1 (r), respectively. We next substitute Eq. (3.210) into Eq. (3.209), multiply by P (μ), integrate from −1 to +1, and use the orthogonality and recurrence relations (2.8) and (2.10) for Legendre polynomials. The result is     ∂ ∂ +1  r − ( − 1) φ−1 (r) + r + ( + 2) φ+1 (r) 2 + 1 ∂r 2 + 1 ∂r (3.212) + r Σ(r) φ (r) = r Q (r) where 0 ≤  ≤ n. Boundary conditions The boundary conditions are similar to those in cylindrical 1D geometry. The r = r− ≡ 0 condition is set by forcing the flux to be an even function of μ at the origin. Consequently, all components of the flux with an odd value of  are forced to zero. Vacuum and general albedo (β + ) boundary conditions at r = r+ , on the external surface, are set using the Marshak coefficients already introduced for slab geometry in Sect. 3.7.1. A white boundary condition can be applied at r = r+ , in which case the particles are reflected back with an isotropic angular distribution. Such a condition can be represented by forcing to zero the component of the incoming odd-parity fluxes with  = 1 and by treating the remaining components with a vacuum boundary condition.

Difference relations Equation (3.212) with the Marshak boundary condition (3.172) can be discretized in r by replacing the differential terms with difference relations, taking care to preserve the symmetry of the resulting matrices. The odd-parity variables are discretized over mesh-centered coordinates (ri−1 , ri , ri+1 , etc.) and the even-parity variables are discretized over interface coordinates (ri−1/2 , ri+1/2 , ri+3/2 , etc.).

The transport equation

105

We first consider even-parity indices  in the case where surface i + 1/2 is not a boundary. The finite-difference approximation is set as before, leading to     − 2 2 − 2 2 − 4π r˜i+1 + 4π( + 1) r ˜ φ− − r ˜ φ φ − r ˜ φ i i+1 i −1,i+1 −1,i +1,i+1 +1,i   − − − − − 4π ( + 1) Bi φ−1,i + Ai+1 φ−1,i+1 − Bi φ+1,i − Ai+1 φ+1,i+1  1    Δr 2  2Δri s i + + + 4πri2 Δri Rp,1 + Σ Rp,1 + Rss φ − Q i p,1 ,i−1/2+p ,i−1/2+p ri ri p=0 1  

 Δr 2 2Δri+1 s i+1 + Rp,0 + Δri+1 Rp,0 + Rss p,0 r r i+1 i+1 p=0   + = 0 − Q × Σi+1 φ+ ,i+1/2+p ,i+1/2+p 2 4πri+1



(3.213)

where  is even and 1 ≤ i ≤ I. The geometric coefficients are defined as Δri = ri+1/2 − ri−1/2 1 ri−1/2 + ri+1/2 ri = 2 1 ri−1/2 ri−1/2 + ri−1/2 ri+1/2 + ri+1/2 ri+1/2 r˜i2 = 3 Vi = 4π r˜i2 Δri r r ri+1/2  ri+1/2  i−1/2 i−1/2 + and Bi = Δri + . Ai = Δri 3 6 6 3 [31] The mass matrix components Rp,q , Rsp,q and Rss p,q are defined as      1/4 1/4 −5/144 −1/144 1/108 R= , Rs = and Rss = 1/4 1/4 −1/144 7/144 1/54

 1/54 . 1/27

(3.214)

(3.215)

Let us now consider the case where rI+1/2 is the outer boundary. In this case, the even-parity difference relation is written   − − −4π r˜I2 φ− ˜I2 φ− −1,I − 4π( + 1) r +1,I + 4πBI  ( + 1) φ−1,I − φ+1,I  1   Δr 2   2ΔrI s I + 4πrI2 ΔrI Rp,1 + Rss − Q+ Rp,1 + ΣI φ+ p,1 ,I−1/2+p ,I−1/2+p rI rI p=0 2 + (2 + 1) 4π r+

n−1 1 − β+  ˆ Mm, φ+ m,I+1/2 = 0 1 + β + m=0

(3.216)

m even

where  is even. Finally, the spherical harmonics discretized relations for odd-parity indices  are obtained by integrating Eq. (3.212) between ri−1/2 and ri+1/2 and by assuming that φ− ,i is equal to the averaged value over sub-volume i. We obtain     + + + 2 − 4π r ˜ − φ ( + 1) φ − φ −4π r˜i2  φ+ i −1,i+1/2 −1,i−1/2 +1,i+1/2 +1,i−1/2    + + 4π  ( − 1) Ai φ+ −1,i−1/2 + Bi φ−1,i+1/2   + − ( + 1)( + 2) Ai φ+ − (2 + 1) Vi Σi φ− + B φ i +1,i+1/2 ,i +1,i−1/2 = −(2 + 1) Vi Q− ,i where  is odd and 1 ≤ i ≤ I.

(3.217)

106

Chapter 3

3.7.4

The simplified Pn method in 2D Cartesian geometry

Application of the spherical harmonics method in 2D and 3D cases produces a linear system with complicated couplings between the discretized unknowns in space and angle. For this reason, the discrete ordinates method of Sect. 3.9 is generally a more practical choice. The SPn method, on the other hand, is based on an expansion of the angular flux in an incomplete basis of orthogonal functions, and its discretization produces a linear system with a simplified structure that can be solved effectively in 2D and 3D cases. The SPn method is a practical approach to solve transport problems in physical systems that can be considered as nearly plane and where the neutrons travel along directions orthogonal to planes. A few important facts must be understood concerning the use of SPn methods: • The SP1 method is equivalent to the P1 method in 1D, 2D and 3D cases. Assuming L = 0 in these cases produces an approximation that is equivalent to the diffusion approximation of Sect. 5.1. • The SPn method is equivalent to the Pn method in 1D, for all values of n. • Using an incomplete basis does not guarantee the convergence of the numerical results as n increases in 2D and 3D cases. However, SP3 or SP5 results have proven to be more accurate than SP1 results in many situations, leading to production codes with improved accuracy when compared with the diffusion approximation Discretization in angle The SPn is not based on a spherical harmonics expansion. This approach is an heuristic presented in the original work of Gelbard.[30] We start with the 1-D slab-geometry Pn equations, obtained in Sect 3.7.1. These equations are written +1 d  d φ−1 (x) + φ+1 (x) + Σ(x) φ (x) = Q (x) 2 + 1 dx 2 + 1 dx

(3.218)

where φ (x) is the -th Legendre moment of the angular flux, Σ(x) is the macroscopic total cross section and Q (x) is the -th Legendre moment of the angular source. These equations are written for 0 ≤  ≤ n. The closure relation consists to assume that φn+1 (x) is identically zero. The Gelbard approach to obtain the SPn equations is based on the following procedure: 1. Replace the operator

d dx

in Eq. (3.218) for even  with the divergence operator.

2. Replace the operator

d dx

in Eq. (3.218) for odd  with the gradient operator.

Carrying out this procedure, we obtain +1  ∇ · Φ−1 (r) + ∇ · Φ+1 (r) + Σ(r) φ (r) = Q (r) 2 + 1 2 + 1

(3.219)

if 0 ≤  ≤ n − 1 and  is even, and +1  ∇φ−1 (r) + ∇φ+1 (r) + Σ(r) Φ (r) = Q (r) 2 + 1 2 + 1

(3.220)

if 1 ≤  ≤ n and  is odd. Similarly, the albedo boundary condition of Eq. (3.170) can be generalized to the SPn method by writing (1 + β(r)) Φ (r) · N (r) − (1 − β(r))

n−1  m=0 m even

M,m φm (r) = 0

if r ∈ ∂Vβ

(3.221)

The transport equation

107

where  is an odd integer, ∂Vβ is the boundary with an albedo condition, β(r) is the albedo and N (r) is an outgoing normal unit vector. Equations (3.219) and (3.220) are the differential formulation of the SPn method. The scalar even-parity flux φ (r) and vector odd-parity flux Φ (r) are the dependent variables of this equation system. Difference relations The Cartesian domain is discretized in a I × J grid of rectangular sub-volumes. The odd− parity variables are discretized over mesh-centered coordinates, so that φ− i,j ≡ φ (xi , yj ). The even-parity variables are defined over the surfaces surrounding sub-volumes, so that φ+ i∓1/2,j ≡ + + + φ (x1∓1/2 , yj ) and φi,j∓1/2 ≡ φ (xi , yj∓1/2 , ) We define the corresponding mesh widths and volumes as Δxi = xi+1/2 − xi−1/2 , Δyj = yj+1/2 − yj−1/2 and Vi,j = Δxi Δyj .

(3.222)

The difference relations are obtained by similarity with the slab geometry derivation of Sect. 3.7.1, so that 2D Cartesian results are identical to 1D slab results in cases where I = 1 or J = 1. Let us first consider the difference relation, for even-parity values of , in the case where surface i + 1/2 is not a boundary. We obtain     − +1  − − φ−1,i+1,j − φ− φ − φ + Δy Δyj j −1,i,j +1,i,j 2 + 1 2 + 1 +1,i+1,j     Vi,j Vi,j + Σi,j φ+ Σi,j φ+ + − Q+ − Q+ ,i−1/2,j ,i−1/2,j ,i+1/2,j ,i+1/2,j 4 4   Vi+1,j  Vi+1,j  + + + Σi+1,j φ,i+1/2,j − Q,i+1/2,j + Σi+1,j φ+ − Q + ,i+3/2,j ,i+3/2,j 4 4 = 0 (3.223) where  is even, 1 ≤ i < I and 1 ≤ j < J. We next consider the case where surface j + 1/2 is not a boundary. We obtain     − +1  − φ−1,i,j+1 − φ− φ+1,i,j+1 − φ− + Δxi Δxi −1,i,j +1,i,j 2 + 1 2 + 1   Vi,j  Vi,j  + + + Σi,j φ,i,j−1/2 − Q,i,j−1/2 + Σi,j φ+ − Q+ ,i,j+1/2 ,i,j+1/2 4 4   Vi,j+1  Vi,j+1  + + Σi,j+1 φ,i,j+1/2 − Q,i,j+1/2 + Σi,j+1 φ+ − Q+ + ,i,j+3/2 ,i,j+3/2 4 4 = 0 (3.224) where  is even, 1 ≤ i < I and 1 ≤ j < J. Let us now consider the case where the external right boundary, located at xI+1/2 , has an albedo condition. The difference equation is written  +1 Vi,j   − + + Δyj φ− Δy Σ − φ + φ − Q − j I,j −1,I,j +1,I,j ,I−1/2,j ,I−1/2,j 2 + 1 2 + 1 4 n−1  1 − β+  ˆ Vi,j  + ΣI,j φ+ − Q+ + Δyj M, φ+ ,I+1/2,j ,I+1/2,j  ,I+1/2,j 4 1 + β+   =0  even

= 0 where  is even and 1 ≤ j < J.

(3.225)

108

Chapter 3

Finally, the spherical harmonics discretized relations for odd-parity indices  are obtained by integrating Eq. (3.220) over sub-volume {i, j} and by assuming that φ− ,i,j is equal to the averaged value over this sub-volume. We obtain     +1  Δyj φ+ Δyj φ+ − − φ+ − φ+ − −1,i+1/2,j −1,i−1/2,j +1,i+1/2,j +1,i−1/2,j 2 + 1 2 + 1      +1 − − Δxi φ+ Δxi φ+ − φ+ − φ+ −1,i,j+1/2 −1,i,j−1/2 +1,i,j+1/2 +1,i,j−1/2 2 + 1 2 + 1 − − − Vi,j Σi,j φ,i,j = −Vi,j Q,i,j (3.226) where  is odd, 1 ≤ i ≤ I and 1 ≤ j ≤ J.

3.8

The collision probability method

The collision probability (CP) method results from the spatial discretization of the integral transport equation in multigroup form, assuming isotropic particle sources.[32] For a problem containing I regions, this approach produces a I × I matrix in each energy group. This method is preferred for treating general unstructured meshes and few-region problems. Collision probabilities can be defined over an infinite domain (such as a lattice of identical cells or assemblies) or over a finite (or open) domain D surrounded by a surface ∂D. The formalism of the first case is simpler but brings some difficulties related to the practical evaluation of the CPs. It will be examined first. The second case requires that boundary conditions be added to close the domain. Let us first integrate Eq. (3.107) over the solid angles to directly obtain the integrated flux φg (r):    ∞ 1 2 2 d Ω φg (r, Ω) = d Ω ds e−τg (s) Qg (r − sΩ) (3.227) φg (r) = 4π 4π 4π 0 where the optical path τg (s) is given by Eq. (3.109). We now introduce the change of variable r  = r − s Ω with d3 r = s2 d2 Ω ds. We obtain  e−τg (s) 1 φg (r) = d3 r  Qg (r  ) (3.228) 4π ∞ s2 with s = |r − r  |. This form of transport equation is generally used to represent an infinite lattice of identical (or unit) cells or assemblies, repeating themselves by symmetric or periodic boundary conditions. We next perform a partition of the unit cell or assembly into regions Vi . We also use the symbol Vi∞ to represent the infinite set of regions Vi belonging to all the cells or assemblies in the lattice. We also suppose that the sources of secondary neutrons are uniform and equal to Qi,g on each region Vi . After multiplication by Σg (r) and integration over each region Vi , Eq. (3.228) can be written     1 e−τg (s) 3 3 d r Σg (r) Qi,g d3 r  (3.229) d r Σg (r) φg (r) = 4π Vj s2 Vj Vi∞ i where Qi,g =



Σs0,i,g←h φi,h +

h

1 Qfiss . Keff i,g

(3.230)

The fission source in Eq. (3.230) is defined as Qfiss i,g

=

fiss J 

j=1

χj,g

 h

νΣf,j,h φi,h

(3.231)

The transport equation

109

where j is a fissionable isotope index, χj,g is the fission spectrum of isotope j and Σf,j,h is the macroscopic fission cross section of isotope j for neutrons in group h. Equation (3.229) simplifies to  Vj Σj,g φj,g = Qi,g Vi Pij,g (3.232) i

where φj,g Σj,g =

1 Vj φj,g

and Pij,g =

1 = Vj

1 4π Vi



 d3 r φg (r),

(3.233)

d3 r Σg (r) φg (r)

(3.234)

Vj

 Vj

d3 r  Vi∞

 d3 r Σg (r) Vj

e−τg (s) . s2

(3.235)

The collision probability Pij,g is the probability for a neutron born uniformly and isotropically in any of the regions Vi of the lattice to undergo its first collision in region Vj of a unit cell or assembly. If the total cross section Σg (r) is constant and equal to Σj,g in region Vj , reduced CPs can be defined from Eq. (3.235): pij,g

Pij,g 1 = = Σj,g 4π Vi



3 

 d3 r

d r Vi∞

Vj

e−τg (s) . s2

(3.236)

Reduced CPs generally remain finite in the limit where Σj,g tends to zero. This ensures the correct behavior of the collision probability theory in cases where some regions of the lattice are voided. Other interesting properties of CPs are the reciprocity and conservation properties, which can be written (3.237) pij,g Vi = pji,g Vj and



pij,g Σj,g = 1; ∀i.

(3.238)

j

Using the reciprocity property, Eq. (3.232) can be further simplified to  φi,g = Qj,g pij,g .

(3.239)

j

The CP method generally proceeds in three steps: 1. A tracking process is applied over the lattice geometry to span a sufficiently large number of neutron trajectories. In a 2D domain, the tracking parameters are the number of azimuthal angles and the number of parallel tracks per centimeter. 2. A numerical integration process is required to compute the CPs, using tracking information and knowledge of the macroscopic total cross sections in each region. This integration should be done for each energy group, but the process is completely parallelizable as there is no interaction between the groups. Parallelization is greatly facilitated in cases where the same tracking file is used for all the energy groups.

110

Chapter 3

3. Once the CPs are known, the integrated flux can be computed from Eqs. (3.230) and (3.239). Collision probability techniques can also be applied to the case of a domain D surrounded by a surface ∂D. In this case, the free path lengths are restricted to finite lengths defined inside ∂D and Eq. (3.108) is used as the basic integral transport equation. Infinite lattices can still be described by incorporating reflective or periodic boundary conditions over ∂D.

3.8.1

The interface current method

Another important category of collision probability techniques is the interface current (IC) methods.[33] In this case, a unit assembly is subdivided into cells and CP matrices are computed for each uncoupled cell. The detailed flux can then be reconstructed from the knowledge of interface currents surrounding each cell. In each point r s of the surface ∂V surrounding a cell, the outgoing angular flux can be expressed as a double Pn expansion: φ+ (r s , Ω) =

1  + ϕ (r s ) ψρ (Ω, N + ) where Ω · N + > 0 4π ρ ρ

(3.240)

where N + is a unit outgoing vector, normal to ∂V , and located at point r s . In this section, we do not show the group g dependence of the various physical quantities. This will help to lighten the mathematical notation. The base functions are chosen so as to satisfy the following orthogonality condition:  d2 Ω (Ω · N ) ψν (Ω, N ) ψρ (Ω, N ) = πδνρ (3.241) Ω·N >0 where δνρ is the delta Kronecker function. In 2D cases, the base functions corresponding to a double P1 expansion are illustrated in Fig. 3.10 and are obtained as ψ0 (Ω, N )

=

ψ1 (Ω, N )

=

(DP0 component) √ √ 3 2 (Ω · N ) − 2 2 (first DP1 component)

ψ2 (Ω, N )

=

2 (Ω · N ⊥ )

1

(second DP1 component)

where N ⊥ is a unit vector perpendicular to N and located in the 2D plane.

Incoming interface current

Cell 2 Outgoing interface current

Cell 1

DP-0 component

First DP-1 component Second DP-1 component

Figure 3.10: The interface current method.

(3.242)

The transport equation

111

The neutron balance equation is ensured by using the same expansion for the outgoing angular flux in a cell and for the incoming angular flux in the neighboring cell. Using N − as the incoming unit normal vector in the neighboring cell, we write φ− (r s , Ω) =

1  − ϕ (r s ) ψρ (Ω, N − ) where Ω · N − > 0. 4π ρ ρ

(3.243)

Another usual approximation consists in assuming that the expansion coefficients ϕ+ ρ (r s ) + − and ϕ− ρ (r s ) are uniform along each side of the cell. They are taken equal to ϕρ,α and ϕρ,α on surface Sα . Uniform-DP0 and Uniform-DP1 are the two usual IC approximations. A cell may contain one or several regions defining the fuel, clad and coolant. A CP method is used to compute the response matrices of each cell. The following matrices are computed: pij = reduced CP for a neutron born uniformly and isotropically in region i to have its first collision in region j without leaving the cell. (ρ)

pSα j = reduced CP for a neutron entering from surface Sα uniformly and with an angular distribution ψρ (Ω, N − ) to have its first collision in region j without leaving the cell. (ν)

PiSβ = escape probability for a neutron born uniformly and isotropically in region i to leave the cell by surface Sβ with an angular distribution ψν (Ω, N + ). (ρν)

PSα Sβ = transmission probability for a neutron entering from surface Sα uniformly and with an angular distribution ψρ (Ω, N − ) to leave the cell by surface Sβ with an angular distribution ψν (Ω, N + ). The reduced collision probability component pij is given by an equation similar to Eq. (3.236), taking care to replace the integration over Vi∞ by an integration over the unique volume Vi in the cell being processed. We write pij =



Pij 1 = Σj 4π Vi

d3 r 



Vi

d3 r Vj

e−τ (s) . s2

(3.244)

(ρ)

The pSα j components are defined as (ρ)

(ρ)

pSα j =

PS α j Σj

=

1 π Sα



d2 rs





d3 r (Ω · N − ) ψρ (Ω, N − ) Vj

e−τ (s) s2

(3.245)

and the other CP components are defined as (ν)

PiSβ =

1 4π Vi



d3 r  Vi

 d2 rs (Ω · N + ) ψν (Ω, N + ) Sβ

e−τ (s) s2

(3.246)

and (ρν)

P Sα S β =

1 π Sα



d2 rs Sα



d2 rs (Ω · N − ) (Ω · N + ) ψρ (Ω, N − ) ψν (Ω, N + ) Sβ

e−τ (s) . s2

(3.247)

Again, these probabilities satisfy reciprocity relations written as pij Vi = pji Vj ,

(ρ)

pSα i =

4Vi (ρ) P Sα iSα

(3.248)

112

Chapter 3

and (ρν)

(νρ)

PSα Sβ Sα = PSβ Sα Sβ

(3.249)

and conservation relations written as  (0)  PiSβ + pij Σj = 1; ∀ i and



(3.250)

j

β

(00)

PSα Sβ +



(0)

pSα j Σj = 1; ∀ α.

(3.251)

j

β

The flux equation for neutrons in each group can be cast into a response-matrix form where the unknowns are the averaged integrated flux φi in region i and the uniform components of the angular fluxes along surface Sα (related to the interface currents). We obtain   (ν) φi = ϕ− Qj pij ν,β PiSβ + β

ϕ+ ρ,α

=

ν

 β

j (ρν) ϕ− ν,β PSα Sβ

+



ν

(ρ)

Q j pS α j

(3.252)

j

where Qj represents the scattering and fission sources in region j. Finally, a purely geometric equation is required to connect the outgoing and incoming an− gular fluxes ϕ+ ρ,α and ϕν,β . This relation is written ϕ− ρ,β =



(ρ)

Aα,β ϕ+ ρ,α .

(3.253)

α

The complete set of Eqs. (3.252) and (3.253) form a closed system that can be solved iteratively. Another technique consists in simplifying the outgoing and incoming angular fluxes and transforming this coupled system into a simple matrix equation similar to Eq. (3.239).

3.8.2

Scattering-reduced matrices and power iteration

The within-group scattering term is first included on the left-hand side of Eq. (3.239) to obtain   φi,g − pij,g Σs0,j,g←g φj,g = Qj,g pij,g (3.254) j

j

where Qi,g includes the fission sources and the diffusion sources from all groups except group g. It is obtained from Eq. (3.230) as Qi,g =



Σs0,i,g←h φi,h +

h =g

1 Qfiss . Keff i,g

(3.255)

Equation (3.254) can be written in matrix form as Φg = Wg Qg

(3.256)

where Φg = {φi,g ; ∀i} and Qg = {Qi,g ; ∀i}. The Wg matrix is the scattering-reduced collision probability matrix and is used in the power iteration of the lattice code. It is defined as Wg = [ I − Pg Ss0,g←g ]

−1

Pg

(3.257)

The transport equation

113

where I is the identity matrix, Pg = {pij,g ; ∀i and j} and Ss0,g←g = diag{Σs0,i,g←g ; ∀i}. Two iterative processes are generally superimposed on these monoenergetic flux solution methods. First, the inner process iterates over the diffusion up-scattering sources until an adequate multigroup thermal flux distribution is obtained. This iteration process is accelerated using two different techniques. The rebalancing technique produces a group-dependent factor which restores the exact multigroup flux distribution homogenized over all regions. Then the variational acceleration technique is used to compute an over-relaxation factor to be used at the next iteration. The outer (or power) iteration process is over the eigenvalue and is not required for fixed source problems. It is generally not accelerated in a lattice code and consists in computing neutron flux at outer iteration k + 1 from sources at iteration k, using Φ(k+1) = Wg Q(k) g g

(3.258)

The critical parameter (Keff ) is then adjusted at the end of each power iteration.

3.8.3

Slab geometry

The CP formulation in one-dimensional (1D) slab geometry makes possible the analytical integration of Eq. (3.40) or (3.41) with respect to some dependent variables. We will first consider the case of a geometry made of an infinite lattice of identical unit cells. Each unit cell is made of a succession of I regions, each of volume Vi with 1 ≤ i ≤ I. The reference unit cell is defined in x1/2 ≤ x ≤ xI+1/2 and the reference region i is defined in xi−1/2 ≤ x ≤ xi+1/2 . We will use Ci as the infinite set of all indices i, representing instances of a region repeating itself by translation of the unit cell using a periodic boundary condition. Equation (3.236) is the expression of a CP component in the infinite domain case. It can be rewritten in a more convenient form. We use the relations r = r  + s Ω and d3 r = s2 d2 Ω ds, so that    1 pij = d3 r  d2 Ω ds e−τ (s) (3.259) 4π Vi Vi∞ 4π Ij where we have omitted the energy group index in order to simplify the equations. The quantity Ij is the set of points belonging simultaneously to • the half-straight line of origin r and direction −Ω • a single instance of volume Vj . We also define the direction Ω of the particle in terms of the colatitude θ and azimuth using Ω = cos θ i+sin θ cos j +sin θ sin k. With this definition and with the help of Fig. 3.11, we can write d2 Ω = dθ d sin θ (ρ) = τ (s) |cos θ| dx = ds |cos θ|

(3.260)

where ρ is a positive number representing the projection of s on the x-axis. The material properties are independent of so that the integration in this variable can be performed analytically.

114

Chapter 3 ρ

r' s

ε

θ

xi-1/2

xi+1/2

xi+3/2

r

x

Ω

Δxi+1 region i+1

Δxi region i

Figure 3.11: Spatial discretization for slab geometry. Equation (3.259) can be simplified as pij =

   xj+1/2 |(x , x)| − 1  xi +1/2  π/2 cos θ dθ tan θ dx dx e 2 Δxi  0 xi −1/2 xj−1/2

(3.261)

i ∈Ci

where Δxi = Vi = xi+1/2 − xi−1/2 

(3.262)





and (x , x) = −(x, x ) is the projected optical path (ρ) defined between points x and x as  x (x , x) = dx” Σ(x”) (3.263) x

so that (x , xj+1/2 ) = (x , xj−1/2 ) + Δxj Σj . Summation over Vi∞ includes instances of Vi belonging to all unit cells of the lattice. The presence of neighboring cells will be taken into account in a specular way, using the periodic boundary condition introduced in Sect. 3.2.3. Equation (3.261) can be rewritten so as to explicitly represent all contributions from other cells. A unit-cell optical path cell is defined as  xI+1/2 dx Σ(x ) (3.264) cell = x1/2

so that  π/2 ∞  xi+1/2 1  dx dθ tan θ 2 Δxi m=0 xi−1/2 0    xj+1/2 m cell + (x , x) (m + 1) cell − (x , x) − − cos θ cos θ dx e × +e

pij =

(3.265)

xj−1/2

where 1 ≤ i < j ≤ I. Similarly, the reduced collision probability within region i is written pii

 π/2 ∞  xi+1/2 1   = dx dθ tan θ 2 Δxi m=0 xi−1/2 0     (m + 1) cell − (x, x ) m cell + (x, x ) x − − cos θ cos θ dx e +e × xi−1/2



xi+1/2

+ x



m cell + (x , x) (m + 1) cell − (x , x) − cos θ cos θ dx e +e −

" (3.266)

The transport equation

115

where 1 ≤ i ≤ I. In the case where the domain is not a lattice made of repeating unit cells, Eq. (3.265) must be modified accordingly. If the domain is a set of I regions surrounded by vacuum left and right boundary conditions, the CP components are simply 1 pij = 2 Δxi



xi+1/2

dx







π/2

dθ tan θ 0

xi−1/2

xj+1/2

|(x , x)| cos θ dx e where 1 ≤ i ≤ j ≤ I −

(3.267)

xj−1/2

and the conservation Eq. (3.238) is no longer valid. Whether Eq. (3.265) or (3.267) is used, the values of pij with i > j are computed using the reciprocity Eq. (3.237). The Kavenoky method is presented as a numerical technique for obtaining the values of the CP components in slab geometry.[34] We will limit ourselves to Eqs. (3.265), (3.266) and (3.267), although other boundary conditions were treated in Ref. [34]. The principle of this method is to keep the sum over n in Eqs. (3.265) and (3.266) and to introduce exponential functions En (x), with n ≥ 1, defined as  1  ∞ n−2 −x/u En (x) = du u e = du u−n e−x u . (3.268) 0

1

Exponential functions are depicted in Fig. 3.12. They can be evaluated efficiently using the Matlab script taben of Sect. B.1 in Appendix B. 1.5

E1(x)

1

E2(x) 0.5

E3(x) E4(x) 0

0

0.5

1

1.5

2

2.5

x

Figure 3.12: Exponential functions. The exponential functions satisfy the following two relations: 

x

du En (u) = En+1 (x) − En+1 (x )

(3.269)

x

and En (x) = −

d En+1 (x) dx

(3.270)

so that the Taylor expansion of E3 (x) is 1 E3 (x) = E3 (x0 ) − E2 (x0 ) (x − x0 ) + E1 (x0 ) (x − x0 )2 + O(x − x0 )3 . 2

(3.271)

116

Chapter 3

Integration of Eq. (3.265) in θ leads to  xj+1/2 ∞  xi+1/2  -   . 1   dx dx E1 m cell + (x , x) + E1 (m + 1) cell − (x , x) pij = 2 Δxi m=0 xi−1/2 xj−1/2 (3.272) if i ≤ j and   x ∞  xi+1/2  -   . 1  dx dx E1 m cell + (x, x ) + E1 (m + 1) cell − (x, x ) 2 Δxi m=0 xi−1/2 xi−1/2   xi+1/2 -   .    dx E1 m cell + (x , x) + E1 (m + 1) cell − (x , x) . (3.273) +

pii =

x

Equations (3.272) and (3.273) involve two types of spatial integration which can be written in functional form as     1 xi+1/2  xj+1/2 Rij,m {±} = dx dx E1 mcell ± (x , x) where i < j (3.274) 2 xi−1/2 xj−1/2 and Rii,m {±} =

1 2



xi+1/2

dx

xi−1/2



x

  dx E1 mcell ± (x, x ) +

xi−1/2



  dx E1 mcell ± (x , x)

xi+1/2 x



(3.275) so that pij =

∞ 1  Rij,m {} + Rij,m+1 {−} where i ≤ j. Δxi m=0

(3.276)

Similarly, Eq. (3.267) reduces to pij =

1 Rij,0 {} where i ≤ j. Δxi

(3.277)

The collision probabilities defined in Eq. (3.276) represent an infinite lattice and are normalized as I  pij Σj = 1, ∀i. (3.278) j=1

In contrast, the collision probabilities defined in Eq. (3.277) have boundary leakage and are therefore not normalized to unity. We will now find analytical reductions for functionals Rij,m {±} and use them to evaluate the CP components in slab geometry. Using Eq. (3.269), it is possible to perform a first integration and obtain ⎧  .    xi+1/2 ⎨ ± 1 -E     if Σi = 0 n+1 f (xi+1/2 , x ) − En+1 f (xi−1/2 , x ) dx En f (x, x ) = Σi   ⎩  xi−1/2 otherwise Δxi En f (xi−1/2 , x ) (3.279) and ⎧    .  xj+1/2 ⎨ ∓ 1 -E     if Σj = 0 n+1 f (x , xj+1/2 ) − En+1 f (x , xj−1/2 )  Σj  dx En f (x , x) =  ⎩ xj−1/2 Δxj En f (x , xj−1/2 ) otherwise (3.280) where the upper sign is used if f ≡ mcell +  and the lower sign is used if f ≡ mcell − . Integration in x is next performed, leading to the following relations:

The transport equation

117

(a) i < j, Σi = 0 and Σj = 0:    1 /  E3 mcell ± (xi+1/2 , xj−1/2 ) − E3 mcell ± (xi+1/2 , xj+1/2 ) Rij,m {±} = 2Σi Σj   0  + E3 mcell ± (xi−1/2 , xj+1/2 ) − E3 mcell ± (xi−1/2 , xj−1/2 ) (3.281) (b) i < j, Σi = 0 and Σj = 0:   0 Δxi /  E2 mcell ± (xi−1/2 , xj−1/2 ) − E2 mcell ± (xi−1/2 , xj+1/2 ) Rij,m {±} = ± 2Σj (3.282) (c) i < j, Σi = 0 and Σj = 0:  0  Δxj /  E2 mcell ± (xi+1/2 , xj−1/2 ) − E2 mcell ± (xi−1/2 , xj−1/2 ) Rij,m {±} = ± 2Σi (3.283) (d) i < j and Σi = Σj = 0: Rij,m {±} = (e) i = j and Σi = 0: Rii,m {±} = ± (f ) i = j and Σi = 0:

  Δxi Δxj E1 mcell ± (xi−1/2 , xj−1/2 ) 2

(3.284)

    0 Δxi E2 mcell 1 /  − 2 E3 mcell −E3 mcell ±(xi−1/2 , xi+1/2 ) (3.285) Σi Σi   E1 mcell Δx2i . Rii,m {±} = 2

The above relations are implemented in Matlab using the following two scripts: function f=rij_f(sg,tau0,sigi,sigj,segmenti,segmentj) % function f=rij_f(sg,tau0,sigi,sigj,segmenti,segmentj) % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal if sigi ~= 0 && sigj ~= 0 f=0.5*(taben(3,tau0)-taben(3,tau0+sg*sigi*segmenti)- ... taben(3,tau0+sg*sigj*segmentj)+ ... taben(3,tau0+sg*sigi*segmenti+sg*sigj*segmentj))/(sigi*sigj) ; elseif sigi == 0 && sigj ~= 0 f=sg*0.5*segmenti*(taben(2,tau0)-taben(2,tau0+sg*sigj*segmentj))/sigj ; elseif sigi ~= 0 && sigj == 0 f=sg*0.5*segmentj*(taben(2,tau0)-taben(2,tau0+sg*sigi*segmenti))/sigi ; else f=0.5*segmenti*segmentj*taben(1,tau0) ; end

and function f=rii_f(sg,tau0,sigi,segmenti) % function f=rii_f(sg,tau0,sigi,segmenti) % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal if sigi ~= 0 f=sg*segmenti*taben(2,tau0)/sigi- ... (taben(3,tau0)-taben(3,tau0+sg*sigi*segmenti))/sigi^2 ; else f=0.5*segmenti^2*taben(1,tau0) ; end

(3.286)

118

Chapter 3

The case where m = 0, Eq. (3.286) reduces to Rii,0 {} = ∞. This singularity has no effect on the solution of the transport equation because region i is voided and Rii,0 {} is multiplied by a zero cross-section value. The value of the neutron flux in region i remains finite in this case. In all other cases, the reduced collision probability components remain finite as a cross section is set to zero. All the collision probability components with i > j are computed using the reciprocity Eq. (3.237).

3.8.4

Cylindrical 1D geometry

We will now study the case of a 2D geometry defined in the x-y plane and homogeneous along the z-axis. A cylinder or tube of infinite length is an example of such a geometry. In this case, it is possible to analytically integrate Eq. (3.236) or Eqs. (3.244) to (3.247) along the axial angle θ. This angle is used to define the direction cosine of the particle relative to the z-axis, as depicted in Fig. 3.13. z Ω r = (x,y,z)

θ y ε x (x,y)

Figure 3.13: Projection of a particle trajectory on the x-y plane.

The direction of the particle is Ω = sin θ cos i + sin θ sin j + cos θ k. Integration over θ is possible by taking the projection of each particle free path on the x-y plane. We write d2 Ω = dθ d sin θ τ (ρ) = τ (s) sin θ dρ = ds sin θ

(3.287)

where ρ is the projection of s on the x-y plane. For reasons that will be explained later, we will limit ourselves to the integration of Eq. (3.244), defined on the domain of a unique unit cell. As before, we use the relations r = r  + s Ω and d3 r = s2 d2 Ω ds and obtain an equation similar to Eq. (3.259): pij =

1 4π Vi



d3 r  Vi





ds e−τ (s)

d2 Ω 4π

Ij

where the quantity Ij is the set of points belonging simultaneously • to the half-straight line of origin r and direction −Ω; • to volume Vj of the unit cell.

(3.288)

The transport equation

119

With the help of Fig. 3.13, Eq. (3.288) can be rewritten as 1 4π Vi

pij =







d2 r 

d 0





π

(3.289)

Ij

0

Vi

τ (ρ)

dρ e− sin θ



where Vi now represents a surface in the x-y plane and Ij is the set of points belonging simultaneously • to the half-straight line of origin r  and direction ; • to surface Vj of the unit cell. Equation (3.289) can be simplified by introducing the Bickley functions Kin (x), with n ≥ 1, defined as   π/2

Kin (x) =

π/2

x

dθ sinn−1 θ e− sin θ =

0

x

dθ cosn−1 θ e− cos θ

(3.290)

0

and depicted in Fig. 3.14. They can be evaluated using the Matlab script akin of Sect. B.2 in Appendix B.

1.5

Ki1(x)

1

Ki2(x) Ki3(x) Ki4(x) Ki5(x)

0.5

0

0

0.5

1

1.5

2

2.5

x

Figure 3.14: Bickley functions. The following equations present the relationships between Bickley functions of different orders: 

x

du Kin (u) = Kin+1 (x) − Kin+1 (x ),

(3.291)

x

d Kin (x) = −Kin−1 (x) dx so that the Taylor expansion of Ki3 (x) is 1 Ki3 (x) = Ki3 (x0 ) − Ki2 (x0 ) (x − x0 ) + Ki1 (x0 ) (x − x0 )2 + O(x − x0 )3 2

(3.292)

(3.293)

120

Chapter 3

and n Kin+1 (x) = (n − 1) Kin−1 (x) + x [Kin−2 (x) − Kin (x)] . We obtain



1 pij = 2π Vi





2 

d



d r

0

Vi

(3.294)

Ij

dρ Ki1 [τ (ρ)].

(3.295)

Sets of integration lines, referred to as tracks, are drawn over the complete domain. Each set is characterized by a given angle and contains parallel tracks covering the domain. Tracks in a set can be separated by a constant distance Δh or can be placed at optimal locations, as depicted in Figs. 3.15 (a) and (b), respectively. Each track is used forward and backward, corresponding to angles and − . The track generation procedure is described in Appendices A.2 and A.3.

Three-point formula ∆h

Three-point formula

Three-point formula

(a) Rectangular quadrature

(b) Gaussian quadrature

Figure 3.15: Tracking a 1D cylindrical geometry. In the case of convex volumes i and j, as depicted in Fig. 3.16, Eq. (3.295) can be rewritten as pij =

1 2π Vi





2π 0



hmax

d

i

dh hmin

0

d



j

d Ki1 (τij + Σi  + Σj ) if i = j

(3.296)

0

where τij is the optical path of the materials between regions i and j and  2π  hmax  i  i 1 pii = d dh d d Ki1 [Σi ( −  )]. 2π Vi 0 hmin 0 

(3.297)

In the case of 1D cylindrical geometry, the tracks are identical for any value of the angle . However, the tubular volumes are concave, causing extra terms to appear. The corresponding geometry is depicted in Fig. 3.17. Two tracks are represented, both contributing to collision 1 corresponds to the integration domain probability components pij with i < j and pii . Track 2 corresponds to the integration domain where it is convex. where region i is concave and track In this figure, τij and τii are the optical paths of the materials located between regions i and j or between two instances of region i. In this case, Eq. (3.295) can be rewritten as   ri−1/2  i  j 2 dh d d Ki1 [(τij + τii + Σi i ) + Σi  + Σj ] pij = Vi 0 0 0 ! + Ki1 (τij + Σi  + Σj )   j  ri+1/2  i + dh d d Ki1 (τij + Σi  + Σj ) if i < j (3.298) ri−1/2

0

0

The transport equation

121

y lj l ij

Vi

r l Vj

li

l'

r'

h ε

x Figure 3.16: Integration of collision probabilities in 2D convex x-y geometry.

track 1 track 2

Vj

lj

lj τij

li τii Vi

rj-1/2

ri-1/2 li ri+1/2

rj+1/2 h

li

lj

lj

Figure 3.17: Integration of collision probabilities in 1D cylindrical geometry.

where ri±1/2 are the radii bounding region i with r1/2 = 0 and   ri−1/2  i   i   i 2 dh d 2 d Ki1 [Σi ( −  )] + d Ki1 [τii + Σi ( + )] Vi 0 0  0   i  ri+1/2  i + dh d d Ki1 [Σi ( −  )] (3.299)

pii =

ri−1/2

0



where the first and second terms of Eqs. (3.298) and (3.299) are the contributions from tracks 1 and , 2 respectively. All the collision probability components with i > j are computed using the reciprocity Eq. (3.237).

122

Chapter 3

These equations can be simplified by introducing the following definitions:  j  i  d d Ki1 (τ0 + Σi  + Σj ) Cij (τ0 ) = 0

and



i

Di =

d

pij =

2 Vi



ri−1/2





i 

0

so that

d Ki1 [Σi ( −  )] 

dh [Cij (τij + τii + Σi i ) + Cij (τij )] +

0

and

(3.300)

0

ri+1/2

(3.301)  dh Cij (τij )

if i < j

(3.302)

ri−1/2

2 pii = Vi



ri−1/2



ri+1/2

dh [2Di + Cii (τii )] +

0

 dh Di .

(3.303)

ri−1/2

Integration in  and  is performed next, leading to the following relations: (a) Σi = 0 and Σj = 0: Cij (τ0 ) =

1 [Ki3 (τ0 ) − Ki3 (τ0 + Σi i ) − Ki3 (τ0 + Σj j ) + Ki3 (τ0 + Σi i + Σj j )] Σi Σj (3.304)

(b) Σi = 0 and Σj = 0: Cij (τ0 ) =

i [Ki2 (τ0 ) − Ki2 (τ0 + Σj j )] Σj

(3.305)

Cij (τ0 ) =

j [Ki2 (τ0 ) − Ki2 (τ0 + Σi i )] Σi

(3.306)

(c) Σi = 0 and Σj = 0:

(d) Σi = Σj = 0:

Cij (τ0 ) = i j Ki1 (τ0 )

(e) Σi = 0: Di =

(3.307)

i 1 − 2 [Ki3 (0) − Ki3 (Σi i )] Σi Σi

(3.308)

π2i . 4

(3.309)

(f ) Σi = 0: Di =

The above relations are implemented in Matlab using the following two scripts: function f=cij_f(tau0,sigi,sigj,segmenti,segmentj) % function f=cij_f(tau0,sigi,sigj,segmenti,segmentj) % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal if sigi ~= 0 && sigj ~= 0 f=(akin(3,tau0)-akin(3,tau0+sigi*segmenti)-akin(3,tau0+sigj*segmentj)+ ... akin(3,tau0+sigi*segmenti+sigj*segmentj))/(sigi*sigj) ; elseif sigi == 0 && sigj ~= 0 f=(akin(2,tau0)-akin(2,tau0+sigj*segmentj))*segmenti/sigj ; elseif sigi ~= 0 && sigj == 0 f=(akin(2,tau0)-akin(2,tau0+sigi*segmenti))*segmentj/sigi ; else f=akin(1,tau0)*segmenti*segmentj ; end

The transport equation

123

and function f=di_f(sig,segment) % function f=di_f(sig,segment) % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal if sig ~= 0 f=segment/sig-(akin(3,0)-akin(3,sig*segment))/sig^2 ; else f=pi*segment^2/4 ; end

The external boundary condition of a 1D cylindrical geometry is introduced by choosing an albedo β + set to zero for representing a voided boundary, or set to one for representing reflection of particles. The voided boundary condition is similar to the vacuum condition used for 1D slab geometry. Such a boundary condition is useful in criticality problems for computing the critical radius of tubes. On the other hand, the reflecting boundary condition is implemented in the context of the Wigner-Seitz approximation for lattice calculations in reactor physics. As introduced in Sect. 3.7.2, the Wigner-Seitz approximation consists of replacing the exact boundary with an equivalent cylindrical boundary, as shown in Fig. 3.18, taking care to conserve the amount of moderator present in the cell. The correct condition in this case is the white boundary condition in which the particles are reflected back, on the cylindrical boundary, with an isotropic angular distribution in the radial plane.

Fuel

Fuel

Figure 3.18: Wigner-Seitz boundary approximation. We present two cylinderization techniques on the unit cell of Fig. 3.18. The square boundary of side a must be replaced by a cylindrical boundary of radius R∗ . Moreover, all cross sections Σx in the outermost region must be replaced by cross sections Σ∗x . The Wigner cylinderization consists in preserving the volume of the outermost region. We write

a2 ∗ and Σ∗x = Σx . (3.310) R = π The Askew cylinderization consists in preserving the outer surface of the unit cell and modifying the number density of the nuclei present in the outermost region. We write R∗ =

2a π

and

Σ∗x =

a2 − πR2 Σx . π[(R∗ )2 − R2 ]

(3.311)

The application of a white boundary condition is based on the transformation of the reduced collision probability matrix P = {pij , i = 1, I and j = 1, I} corresponding to a vacuum boundary condition. We first compute the escape probability vector P iS = {PiS , i = 1, I}, a column vector whose components are obtained from PiS = 1 −

I  j=1

pij Σj

(3.312)

124

Chapter 3

representing the probability for a neutron born in region i to escape from the unit cell without collision. We define PSi as the probability for a neutron, entering the unit cell through its boundary with an isotropic angular distribution, to first collide in region i. It is possible to show that pSi =

PSi 4Vi PiS = Σi S

(3.313)

where S is the surface of the boundary. The transmission probability PSS is therefore given as PSS = 1 −

I 

pSi Σi .

(3.314)

i=1

˜ = {˜ The reduced collision probability matrix P pij , i = 1, I and j = 1, I} corresponding to a white boundary condition can now be obtained using   ˜ = P + P iS β + + (β + )2 PSS + (β + )3 P 2 + (β + )4 P 3 + . . . p P SS SS Sj or, using a geometric progression, as ˜ =P+ P

β+ P iS p Sj . 1 − β + PSS

(3.315)

˜ can be scattering-reduced using Eq. (3.257) and used in The collision probability matrix P the matrix flux equation of Eq. (3.256).

3.8.5

Spherical 1D geometry

Computing the tracking and collision probabilities in 1D spherical geometry is similar to the cylindrical geometry case. The tracking is obtained by the sybt1d procedure of Appendices A.2 and A.3. Equation (3.295) is replaced by   1 pij = d3 r  ds e−τ (s) (3.316) Vi Vi Ij which can be rewritten as   ri−1/2  j  i !   2π  pij = dh h d d e−[(τij +τii +Σi i )+Σi  +Σj ] + e−(τij +Σi  +Σj ) Vi 0 0 0   j  ri+1/2  i  −(τij +Σi  +Σj ) + if i < j (3.317) dh h d d e ri−1/2

0

0

where ri±1/2 are the radii bounding region i with r1/2 = 0 and   ri−1/2    i   i  i   2π dh h d 2 d e−[Σi (− )] + d e−[τii +Σi ( +)] Vi 0 0  0   i  ri+1/2  i  + (3.318) dh h d d e−[Σi (− )]

pii =

ri−1/2

0



1 where the first and second terms of Eqs. (3.317) and (3.318) are the contributions from tracks 2 respectively. All the collision probability components with i > j are computed using and , the reciprocity Eq. (3.237).

The transport equation

125

These equations can be simplified by introducing the following definitions: 

i

Cij (τ0 ) =

d

0

and



j



d e−(τ0 +Σi  +Σj )

(3.319)

0

i

Di =



d



i



d e−Σi (− )

(3.320)



0

so that 2π pij = Vi



ri−1/2

 dh h [Cij (τij + τii + Σi i ) + Cij (τij )]+

0

and

ri+1/2

 dh h Cij (τij )

if i < j (3.321)

ri−1/2

2π pii = Vi



ri−1/2

 dh h [2Di + Cii (τii )] +

0

ri+1/2

 dh h Di .

(3.322)

ri−1/2

Integration in  and  is performed next, leading to the following relations: (a) Σi = 0 and Σj = 0: Cij (τ0 ) =

! 1 e−τ0 − e−(τ0 +Σi i ) − e−(τ0 +Σj j ) + e−(τ0 +Σi i +Σj j ) Σi Σj

(b) Σi = 0 and Σj = 0: Cij (τ0 ) =

! i −τ0 e − e−(τ0 +Σj j ) Σj

(3.324)

Cij (τ0 ) =

! j −τ0 e − e−(τ0 +Σi i ) Σi

(3.325)

(c) Σi = 0 and Σj = 0:

(d) Σi = Σj = 0:

(3.323)

Cij (τ0 ) = i j e−τ0

(e) Σi = 0: Di =

(3.326)

 i 1  − 2 1 − e−Σi i Σi Σi

(3.327)

2i . 2

(3.328)

(f ) Σi = 0: Di =

3.8.6

Unstructured 2D finite geometry

The calculation of collision, escape and transmission probabilities in 2D unstructured geometry is based on the generalization of Eqs. (3.296) and (3.297) to concave volumes.[35] In the general unstructured 2D case, the tracks are no longer identical for different values of the azimuthal angle . The integration domain for computing the collision probabilities can be either an infinite lattice or a finite geometry V surrounded by an external boundary ∂V . The former case is similar to the approach introduced in Sect. 3.8.3. The calculation of collision probabilities in finite-geometry cases will be studied in detail. We have chosen to present the square pincell geometry as an illustration of the more general unstructured 2D geometry. This simplified geometry is illustrated in Fig 3.19.

126

Chapter 3 Y side 4

a

r3 side 1

r2 r1

side 2

V1 V2 V3 V4 0

side 3

a

X

Figure 3.19: 2D square pincell geometry.

Figure 3.20: PWR assembly geometry.

Figure 3.21: BASALA assembly geometry.

The approach used for this simple pincell geometry can be generalized to more complex 2D unstructured geometries, such as the PWR and BASALA assemblies, depicted in Figs. 3.20 and 3.21. This assembly represents an experimental setup for studying mixed-oxide recycling in boiling water reactors (BWR).[36] The tracking procedure presented in Appendices A.4 and A.5 can be generalized to these types of geometries, but the complexity of the corresponding tracking algorithms is far beyond the level of this textbook. Sets of tracks are drawn over the 2D complete domain. Each set is characterized by a given angle and contains parallel tracks covering the domain. Tracks in a set can be separated by a constant distance Δh or can be placed at optimal locations, as depicted in Figs. 3.22 (a) and (b), respectively. Each track is used forward and backward, corresponding to angles and − . The track generation procedure is described in Appendices A.4 and A.5 for the particular case of a 2D square pincell. In the case of convex volumes i and j, a collision probability component is given by

The transport equation Eqs. (3.296) and (3.297) as  2π  hmax  j  i 1 pij = d dh d d Ki1 (τij + Σi  + Σj ) if i = j 2π Vi 0 hmin 0 0 where τij is the optical path of the materials between regions i and j and  2π  hmax  i  i 1  d dh d d Ki1 [Σi ( −  )]. pii = 2π Vi 0 hmin 0 

127

(3.329)

(3.330)

Three-point formula Three-point formula

∆h

Three-point formula

(a) Rectangular quadrature

(b) Gaussian quadrature

Figure 3.22: Tracking a 2D pincell geometry. Similarly, escape and transmission probability components are obtained after integration of Eqs. (3.246) and (3.247) as  2π  hmax  i 1 PiSβ = d dh d Ki2 (τiβ + Σi ) (3.331) 2π Vi 0 hmin 0 where τiβ is the optical path between region i and surface Sβ , as depicted in Fig. 3.23, and  2π  hmax 2 d dh Ki3 (ταβ ) (3.332) PSα Sβ = π Sα 0 hmin where ταβ is the optical path between surface Sα and surface Sβ . These equations can be simplified by introducing Eqs. (3.302) and (3.303), together with the following definition:  i Ei (τ0 ) = d Ki2 (τ0 + Σj ) (3.333) 0

so that 1 pij = 2π Vi





2π 0

1 pii = 2π Vi and PiSβ =

hmax

d

1 2π Vi



dh Cij (τij ) if i = j,

hmin





hmax

d 0



(3.335)

hmin





hmax

d 0

dh Di

(3.334)

dh Ei (τiβ ).

(3.336)

hmin

The analytical reduction of Eqs. (3.302) and (3.303) is given in Eqs. (3.304) to (3.309). Analytical reduction of Ei (τ0 ) leads to the following relations:

128

Chapter 3

y n(β)

τ iβ li Sβ

Vi

h ε

x Figure 3.23: Integration of escape probabilities in 2D x-y geometry.

(a) Σi = 0: Ei (τ0 ) =

1 [Ki3 (τ0 ) − Ki3 (τ0 + Σi i )] Σi

(3.337)

Ei (τ0 ) = i Ki2 (τ0 ).

(3.338)

(b) Σi = 0:

The above relations are implemented in Matlab using the following script: function f=ei_f(tau0,sig,segment) % function f=ei_f(tau0,sig,segment) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal if sig ~= 0 f=(akin(3,tau0)-akin(3,tau0+sig*segment))/sig ; else f=segment*akin(2,tau0) ; end

The algorithm for computing pij , PiSβ and PSα Sβ is greatly simplified by the definition of a symmetric matrix T of order Λ + I where Λ is the total number of surfaces and I is the total number of volumes. The components of T are defined as tα,β =

Sα PSα Sβ , tΛ+i,β = Vi PiSβ and tΛ+i,Λ+j = Vi pij . 4

(3.339)

Unstructured geometries may contain concave volumes, causing additional terms to appear in Eqs. (3.329) to (3.332). These terms exist even for the simple pincell geometry of Fig 3.19. A straightforward way to present the integration algorithm of Eqs. (3.329) to (3.332) in the presence of concave volumes is to provide a Matlab script implementing their practical evaluation. The simplicity of this script is remarkable. Matrix T is obtained using the tracking information of the 2D geometry and the array of macroscopic total cross sections in each region as input. This script follows:

The transport equation

129

function tij=tij_2d(track,sigt) % integration of the collision, escape and transmission probabilities % in unstructured finite 2D geometry. % function tij=tij_2d(track,sigt) % (c) 2009 Alain Hebert, Ecole Polytechnique de Montreal indpos=@(i,j) max(i,j).*(max(i,j)-1)./2+min(i,j) ; nsurf=track(1) ; nreg=track(2) ; k=5+track(1)+track(2)+2*track(3) ; tij=zeros(1,(nreg+nsurf)*(nreg+nsurf+1)/2) ; for itrk=1:track(4) isurf=track(k+2) ; jsurf=track(k+3) ; wei=track(k+4) ; km=track(k+5) ; kgar=k+5 ; k=k+5+km ; irs=isurf ; seg1=0. ; sig1=0. ; for ixi=1:km irt=irs ; irs=track(kgar+ixi) ; seg2=track(k+ixi) ; sig2=sigt(irs) ; irs=irs+nsurf ; iij=indpos(irs,irs) ; tij(iij)=tij(iij)+2.0*wei*di_f(sig2,seg2) ; tau0=0. ; for ixj=ixi:km jrs=track(kgar+ixj) ; seg3=track(k+ixj) ; sig3=sigt(jrs) ; jrs=jrs+nsurf ; iij=indpos(irt,jrs) ; if irt 0. Δxi Σi + 2μn

φn,i−1/2 = 2φn,i − φn,i+1/2

with

φn,i =

φn,i+1/2 = 2φn,i − φn,i−1/2

with

φn,i

(3.378) The procedure generally starts from a vacuum boundary if one exists. A linear shooting approach can be used in other cases, in order to match the boundary incoming and outgoing fluxes at the starting boundary. At the end of each inner iteration, we have obtained matching boundary fluxes for a given set of sources Qpn ,i . Inner iterations are required because the are generally a function of the flux moments Φ,i . Note that scattering rate components in Qpn ,i outer iterations are also required for convergence to the eigenvalue in criticality cases. At the end of each inner iteration, the Legendre moments of the flux are computed using Eq. (3.372). These values are used to compute the Legendre moments Qpn ,i of the source for the next iteration. Combining Eqs. (3.378), we eliminate mesh-centered fluxes and obtain φn,i∓1/2 =

2Δxi Qn,i + (2 |μn | − Δxi Σi ) φn,i±1/2 . Δxi Σi + 2|μn |

(3.379)

The resulting mesh-averaged flux becomes negative if the numerator becomes negative. The condition for positive flux φn,i is (2 |μn | − Δxi Σi ) φn,i±1/2 < 2Δxi Qn,i .

(3.380)

This relation must be valid even for zero sources. The positive flux condition becomes Δxi Σi < 2 |μn |.

(3.381)

Negative fluxes can be generated if Δxi Σi is large or if some values of the base points μn are small. They are likely to occur when the mesh sizes are large, in high cross-section zones or with high-order angular quadratures. There is an equivalence between a spherical harmonics solution of order N − 1, as presented in Sect. 3.7.1, and the SN solution of a 1D slab geometry. We observe that any discrepancy between the two numerical solutions is only due to the Marshak versus Mark treatment of vacuum boundary conditions. Infinite lattice solutions are identical.

The transport equation

3.9.3

139

The difference relations in 1D cylindrical geometry

The first-order form of the linear Boltzmann equation in 1D cylindrical geometry is given in Eq. (3.149). After integration over the angular subdomain surrounding direction Ωn , we obtain    1 ∂ ∂ 1 [ηφ(ρ, ξ, ω)] + Σ(ρ) d2 Ω μ [ρφ(ρ, ξ, ω)] − d2 Ω d2 Ω φ(ρ, ξ, ω) ρ Ωn ∂ρ ρ Ωn ∂ω Ωn  L   2 + 1  m = Q (ρ) d2 Ω Rm (ξ, ω). (3.382) 4π m=0 Ω n =0 +m even

In cylindrical geometry, the direction Ωn is defined in terms of base points ξp and ωp,q . The integration must be done over two octants with N/2 axial levels in interval 0 ≤ ξ ≤ 1. Each axial level contains 2F (p) base points in interval 0 ≤ ωp,q ≤ π, with  N N/2, for a product quadrature; (3.383) F(p) = with 1 ≤ p ≤ , (N/2) − p + 1, otherwise, 2 so that the total number of positive-weight discrete directions is equal to N 2 /4 for a product quadrature and equal to N (N + 2)/4 otherwise. The integrals in Eq. (3.382) can be evaluated as  ∂ ∂ [ρφ(ρ, ξp , ωp,q )], d2 Ω μ [ρφ(ρ, ξ, ω)] = Wp,q μp,q (3.384) ∂ρ ∂ρ Ωn  d2 Ω Ωn

∂ [ηφ(ρ, ξ, ω)] = Wp [ηp,q+1/2 φ(ρ, ξp , ωp,q+1/2 ) − ηp,q−1/2 φ(ρ, ξp , ωp,q−1/2 )], (3.385) ∂ω 

and

d2 Ω φ(ρ, ξ, ω) = Wp,q φ(ρ, ξp , ωp,q ) Ωn

(3.386)

d2 Ω Rm (ξ, ω) = Wp,q Rm (ξp , ωp,q ). Ωn

(3.387)



We now present the approach proposed by Alcouffe and O’Dell to compute the ηp,q±1/2 values.[43] For each level ξp , the first value η lies on the ξ-μ plane and is therefore zero. These values correspond to the zero-weight points in Fig. 3.27. We can write ηp,2F (p)+(1/2) = 0

with 1 ≤ p ≤

N . 2

(3.388)

The other values of ηp,q±1/2 are obtained in such a way as to preserve the constant flux in a case where an infinite, homogeneous and non-absorbing medium contains a population of particles, in the absence of sources. In this case, φ(ρ, ξ, ω) = C, a constant, and Eq. (3.382) reduces to Wp,q μp,q C − Wp ηp,q+1/2 C − ηp,q−1/2 C = 0 (3.389) so that the ηp,q±1/2 values can be computed recursively using ηp,q+1/2 = ηp,q−1/2 +

Wp,q μp,q . Wp

(3.390)

140

Chapter 3

Defining αp,q±1/2 = Wp ηp,q±1/2 , the recurrence relation simplifies to αp,q+1/2 = αp,q−1/2 + Wp,q μp,q .

(3.391)

Equation (3.382) can therefore be rewritten as μp,q

 1  ∂ [ρφp,q (ρ)] − αp,q+1/2 φp,q+1/2 (ρ) − αp,q−1/2 φp,q−1/2 (ρ) + ρ Σ(ρ) φp,q (ρ) ∂ρ Wp,q =

ρ

L   2 + 1  =0



m Qm  (ρ) R (ξp , ωp,q )

(3.392)

m=0 +m even

where φp,q (ρ) ≡ φ(ρ, ξp , ωp,q ). The spherical harmonics moments of the flux are given in terms of its SN components using N

Φm  (ρ)

=4

(p) 2 2F  

Wp,q φp,q (ρ) Rm (ξp , ωp,q ),

(3.393)

p=1 q=1

with 0 ≤  ≤ L, and 0 ≤ m ≤  with  + m even. The domain is divided in sub-meshes with constant cross sections, with ρ1/2 = 0. The mesh-edge and mesh-centered values of the flux are given as φp,q,i±1/2 and φp,q,i , respectively. The volume and surfaces of sub-mesh i are given by   Vi = π ρ2i+1/2 − ρ2i−1/2 and Si±1/2 = 2πρi±1/2 (3.394) with ΔSi = Si+1/2 − Si−1/2 . The next step of the discretization procedure is to integrate Eq. (3.392) over each sub-mesh to obtain the following balance relation: ΔSi αp,q+1/2 φp,q+1/2,i μp,q Si+1/2 φp,q,i+1/2 − Si−1/2 φp,q,i−1/2 − Wp,q − αp,q−1/2 φp,q−1/2,i + Vi Σi φp,q,i = Vi Qp,q,i where 1 ≤ p ≤

N 2

(3.395)

and 1 ≤ q ≤ 2F(p). Using Eq. (3.146), the source components are defined as Qp,q,i =

L   2 + 1  =0



m Qm ,i R (ξp , ωp,q ).

(3.396)

m=0 +m even

and the mesh-centered values are given by  2π ρi+1/2 dρ ρ φp,q (ρ) and φp,q,i = Vi ρi−1/2

Qm ,i

2π = Vi



ρi+1/2

dρ ρ Qm  (ρ).

(3.397)

1 1 φp,q,i−1/2 + φp,q,i+1/2 = φp,q−1/2,i + φp,q+1/2,i . 2 2

(3.398)

ρi−1/2

In this case, the diamond differencing scheme is written φp,q,i =

We first need knowledge of mesh-centered values of the flux φp,1/2,i over the zero-weight points, in order to initialize the recursive solution procedure. We observe that these directions correspond to particles entering the external surface and moving toward the central axis, for

The transport equation

141

discrete values of ξ. The angular redistribution term vanishes on these points so that Eq. (3.147) simplifies to μ

L   2 + 1  m ∂ φ(ρ, ξ, π) + Σ(ρ) φ(ρ, ξ, π) = Q (ρ) Rm (ξ, π) ∂ρ 4π m=0  =0

(3.399)

+m even

where ω = π since the particle is moving toward the central axis. Discretization of Eq. (3.399) leads to   ˜ p,i (3.400) 2π μ ˜p φ˜p,i+1/2 − φ˜p,i−1/2 + ΔSi Σi φ˜p,i = ΔSi Q ˜ p,i ≡ Qp,2F (p)+(1/2),i . where φ˜p,i ≡ φp,2F (p)+(1/2),i and Q The average flux φ˜p,i is given in terms of the right-hand side components as ˜ p,i − 4π μ ΔSi Q ˜p φ˜p,i+1/2 ; μ ˜p < 0, φ˜p,i = ΔSi Σi − 4π μ ˜p

(3.401)

and the corresponding angular edge values are φ˜p,i−1/2 = 2φ˜p,i − φ˜p,i+1/2 .

(3.402)

At completion of this initialization sweep, the angular edge values are discarded and the mesh-centered values φ˜p,i are kept. The finite-weight points are next processed, taking into account the angular redistribution term. In this case, the average flux φp,q,i is given in terms of the right-hand side components as Vi Qp,q,i − μp,q Si−1/2 + Si+1/2 φp,q,i+1/2 φp,q,i = Vi Σi − 2μp,q Si−1/2 + 2ΔSi αp,q−1/2 /Wp,q ΔSi αp,q−1/2 + αp,q+1/2 φp,q+1/2,i /Wp,q + (3.403) Vi Σi − 2μp,q Si−1/2 + 2ΔSi αp,q−1/2 /Wp,q if μp,q < 0. The corresponding edge values are φp,q,i−1/2 = 2φp,q,i − φp,q,i+1/2

and

φp,q+1/2,i = 2φp,q,i − φp,q−1/2,i .

(3.404)

Moreover, the average flux φp,q,i is given in terms of the left-hand side components as Vi Qp,q,i + μp,q Si−1/2 + Si+1/2 φp,q,i−1/2 φp,q,i = Vi Σi + 2μp,q Si+1/2 + 2ΔSi αp,q−1/2 /Wp,q ΔSi αp,q−1/2 + αp,q+1/2 φp,q+1/2,i /Wp,q + (3.405) Vi Σi + 2μp,q Si+1/2 + 2ΔSi αp,q−1/2 /Wp,q if μp,q > 0. The corresponding edge values are φp,q,i+1/2 = 2φp,q,i − φp,q,i−1/2

and

φp,q+1/2,i = 2φp,q,i − φp,q−1/2,i .

(3.406)

Equations (3.404) and (3.406) are used to iterate the flux for particles moving toward the central axis and toward the external surface, respectively. The sweep strategy is represented in Fig. 3.29 for a fixed ξ level. The iteration is started by assuming a fixed incoming current (either zero or positive) on the external boundary at ρI , for all negative (entering) μ values. These points correspond to symbol ⊗ in Fig. 3.29. The initialization sweep corresponds to the line with ω = π and is indicated by symbol .

142

Chapter 3

Using the same incoming current at all angles leads to the white boundary condition, currently used with cylindrical geometry. Next, for each remaining negative μ direction, we perform a backward sweep (from ρI to ρ1 ) immediately followed by a forward sweep (from ρ1 to ρI ) in the corresponding positive μ direction. The complete inner iteration terminates when the flux is available over each point in Fig. 3.29, for all ξ levels. At the end of each inner iteration, the spherical harmonics moments of the flux are computed using mesh-centered values of the flux in Eq. (3.393). These values are used to compute the spherical harmonics moments Qm,i of the source for the next iteration. The outgoing current on the external boundary is also computed using mesh-edge values of the boundary flux with −p+1 2 2  N

J

+

=4

N

p=1

Wp,q μp,q φp,q,I+1/2 .

(3.407)

q=1

The boundary flux used to start an elementary sweep is a function of the incoming current J − = β J + using J− φp,q,I+1/2 = ∀ p and q (3.408)  N N 2 2 −p  +1 4 Wp ,q μp ,q p =1

q  =1

where the denominator is a normalization constant used to ensure particle conservation in cases where the albedo β is set to one. Equation (3.407) corresponds to a white boundary condition.

μ1

μ2 μ=0 μ3

μ2F(p)

ρ1

ρ2

ρΙ

μ2F(p)+(1/2)

Figure 3.29: Sweep strategy for one-dimensional cylindrical geometry. A vacuum boundary condition is represented by setting J − = 0. In this case, a single pair of backward and forward sweeps is sufficient to compute J + and complete a single inner iteration. A reflective (β = 1) or general albedo boundary condition involves finding the incoming current matching the outgoing current. This operation can be done with a shooting method involving two pairs of backward-forward sweeps. The first pair is performed with Ja− = 0 and leads to a corresponding value of Ja+ . The second pair is performed with Jb− = 1 and leads to a corresponding value of Jb+ . Using the linear characteristic of the transport operator, one can obtain the correct value of J − as J− =

β J+ . +a 1 + β Ja − Jb+

(3.409)

The transport equation

3.9.4

143

The difference relations in 1D spherical geometry

The first-order form of the linear Boltzmann equation in 1D spherical geometry is given in Eq. (3.157). After integration over the angular subdomain, we obtain  μn+1/2   μn+1/2   ∂  2 1 μn+1/2 ∂  1 2 r (1 − μ dμ μ φ(r, μ) + dμ )φ(r, μ) + Σ(r) dμ φ(r, μ) r2 μn−1/2 ∂r r μn−1/2 ∂μ μn−1/2  μn+1/2 L  2 + 1 = Q (r) dμ P (μ). (3.410) 2 μn−1/2 =0

In spherical geometry, the base points μn and weights Wn are those of an N -point GaussLegendre quadrature. The integrals in Eq. (3.410) can be evaluated as  μn+1/2  ∂ 2 ∂  2 r φ(r, μ) = Wn μn [r φ(r, μn )], dμ μ (3.411) ∂r ∂r μn−1/2 

μm+1/2

dμ μm−1/2

   ∂  (1 − μ2 )φ(r, μ) = αm+1/2 φ(r, μm+1/2 ) − αm−1/2 φ(r, μm−1/2 ) , (3.412) ∂μ 

μm+1/2

dμ φ(r, μ) = Wn φ(r, μn ) and

(3.413)

μm−1/2



μm+1/2

dμ P (μ) = Wn P (μn ).

(3.414)

μm−1/2

We now present the approach to compute the αn±1/2 values. The first value α is equal to 1 − (−1)2 = 0. The other values of αn±1/2 are obtained in such a way as to preserve the constant flux in a case where an infinite, homogeneous and non-absorbing medium contains a population of particles, in the absence of sources. In this case, φ(r, μ) = C, a constant, and Eq. (3.410) reduces to 2Wn μn C + αn+1/2 C − αn−1/2 C = 0 (3.415) so that the αn±1/2 values can be computed recursively using αn+1/2 = αn−1/2 − 2Wn μn .

(3.416)

Equation (3.410) can therefore be rewritten as μn

 ∂ 2 r  αn+1/2 φn+1/2 (r) − αn−1/2 φn−1/2 (r) + r2 Σ(r) φn (r) [r φn (r)] + ∂r Wn L  2 + 1 = r2 Q (r) P (μn ), n = 1, N (3.417) 2 =0

where φn (r) ≡ φ(r, μn ). The Legendre moments of the flux are given in terms of its SN components using N  Wn φn (r) P (μn ) with 0 ≤  ≤ L. (3.418) Φ (r) = n=1

144

Chapter 3

The domain is divided in sub-meshes with constant cross sections, with r1/2 = 0. The mesh-edge and mesh-centered values of the flux are given as φn,i±1/2 and φn,i , respectively. The volume and surfaces of sub-mesh i are given by  4π  3 3 2 Vi = ri+1/2 − ri−1/2 and Si±1/2 = 4πri±1/2 (3.419) 3 with ΔSi = Si+1/2 − Si−1/2 . The next step of the discretization procedure is to integrate Eq. (3.417) over each sub-mesh to obtain the following balance relation:  ΔSi  μn Si+1/2 φn,i+1/2 − Si−1/2 φn,i−1/2 + αn+1/2 φn+1/2,i − αn−1/2 φn−1/2,i 2Wn + Vi Σi φn,i = Vi Qn,i (3.420) where 1 ≤ n ≤ N . Using Eq. (3.155), the source components are defined as Qn,i =

L  2 + 1 =0

2

and the mesh-centered values are given by  4π ri+1/2 dr r2 φn (r) and φn,i = Vi ρi−1/2

Qpn ,i P (μn )

Qpn ,i =

4π Vi



ri+1/2

(3.421)

dr r2 Q (r).

(3.422)

ri−1/2

In this case, the diamond differencing scheme is written φn,i =

1 1 φn,i−1/2 + φn,i+1/2 = φn−1/2,i + φn+1/2,i . 2 2

(3.423)

We first need knowledge of mesh-centered values of the flux φ1/2,i over the zero-weight points, in order to initialize the recursive solution procedure. We observe that these directions correspond to particles entering the external surface and moving toward the central axis with μ = −1. The angular redistribution term vanishes on these points so that Eq. (3.156) simplifies to L  2 + 1 ∂ Q (r) P (−1). (3.424) − φ−1/2 (r) + Σ(r) φ−1/2 (r) = ∂r 2 =0

Discretization of Eq. (3.424) leads to   ˜i − φ˜i+1/2 − φ˜i−1/2 + Δri Σi φ˜i = Δri Q

(3.425)

˜ i ≡ Q1/2,i and Δri = ri+1/2 − ri−1/2 . where φ˜i ≡ φ1/2,i , Q The average flux φ˜i is given in terms of the right-hand side components as ˜ i + 2φ˜i+1/2 Δri Q , φ˜i = Δri Σi + 2

(3.426)

and the corresponding angular edge values are φ˜i−1/2 = 2φ˜i − φ˜i+1/2 .

(3.427)

At completion of this initialization sweep, the angular edge values are discarded and the mesh-centered values φ1/2,i are kept.

The transport equation

145

The finite-weight points are processed next, taking into account the angular redistribution term. In this case, the average flux φn,i is given in terms of the right-hand side components as Vi Qn,i − μn Si−1/2 + Si+1/2 φn,i+1/2 + ΔSi αn−1/2 + αn+1/2 φn−1/2,i /2Wn φn,i = Vi Σi − 2μn Si−1/2 + ΔSi αn+1/2 /Wn (3.428) if μn < 0. The corresponding edge values are φn,i−1/2 = 2φn,i − φn,i+1/2

and

φn+1/2,i = 2φn,i − φn−1/2,i .

(3.429)

Moreover, the average flux φn,i is given in terms of the left-hand side components as Vi Qn,i + μn Si−1/2 + Si+1/2 φn,i−1/2 + ΔSi αn−1/2 + αn+1/2 φn−1/2,i /2Wn φn,i = Vi Σi + 2μn Si+1/2 + ΔSi αn+1/2 /Wn (3.430) if μn > 0. The corresponding edge values are φn,i+1/2 = 2φn,i − φn,i−1/2

and

φn+1/2,i = 2φn,i − φn−1/2,i .

(3.431)

Equations (3.429) and (3.431) are used to iterate the flux for particles moving toward the central axis and toward the external surface, respectively. The sweep strategy is identical to the one used in the cylindrical 1D case. At the end of each inner iteration, the Legendre moments of the flux are computed using Eq. (3.418). These values are used to compute the Legendre moments Qpn ,i of the source for the next iteration.

3.9.5

The difference relations in 2D Cartesian geometry

The first-order form of the linear Boltzmann equation in 2D Cartesian geometry is given in Eq. (3.137). The direction Ωn is defined in terms of base points μn and ηn . The integration must be done over four octants, using N (N + 2)/2 discrete directions, corresponding to a level-symmetric quadrature. After discretization of the direction cosines, we obtain  μn

 L   ∂ ∂ 2 + 1  m N (N + 2) + ηn + Σ(x, y) φn (x, y) = Q (x, y) Rm (Ωn ), n = 1, ∂x ∂y 4π 2 =0

m=− +m even

(3.432) where φn (x, y) ≡ φ(x, y, μn , ηn ). The spherical harmonics moments of the flux are given in terms of the SN components using 

N (N +2)/2

Φm  (x, y)

=2

Wn φn (x, y) Rm (μn , ηn , ξn ).

(3.433)

n=1

The domain is divided in rectangular sub-meshes {i, j} with constant cross sections. The x-directed mesh-edge and mesh-centered values of the flux are given as φn,i±1/2,j and φn,i,j , respectively. Similar definitions are used along the y axis. The dimensions of each sub-mesh are Δxi = xi+1/2 − xi−1/2 and Δyj = yj+1/2 − yj−1/2 corresponding to a volume Vi,j = Δxi Δyj .

(3.434)

146

Chapter 3

The next step of the discretization procedure is to integrate Eq. (3.432) over each sub-mesh to obtain the following balance relation: μn ηn φn,i+1/2,j − φn,i−1/2,j + φn,i,j+1/2 − φn,i,j−1/2 + Σi,j φn,i,j = Qn,i,j Δxi Δyi

(3.435)

where n = 1, N (N + 2)/2. Using Eq. (3.136), the source components are defined as Qn,i,j =

L   2 + 1  =0



m Qm ,i,j R (μn , ηn , ξn ).

and where the mesh-centered values are given by  xi+1/2  yj+1/2 1 dx dy φn (x, y) φn,i,j = Vi,j xi−1/2 yj−1/2 and Qm ,i,j =

1 Vi,j



(3.436)

m=− +m even



xi+1/2

yj+1/2

dx xi−1/2

dy Qm  (x, y).

(3.437)

(3.438)

yj−1/2

Equation (3.435) is an exact relation between one mesh-centered and four mesh-edge flux values. Assuming two mesh-edge values, two supplementary equations are required to obtain the three other values. Again, we assume that φn (x, y) varies linearly inside mesh {i, j}, so that the diamond differencing scheme relations are written as φn,i,j =

1 1 φn,i−1/2,j + φn,i+1/2,j = φn,i,j−1/2 + φn,i,j+1/2 . 2 2

(3.439)

The flux values are computed by following the particle path. The sweep strategy can be described using generic relations. We first define   φn,i−1/2,j , if μ > 0; φn,i+1/2,j , if μ > 0; φn,i−,j = φn,i+,j = φn,i+1/2,j , if μ < 0; φn,i−1/2,j , if μ < 0;   φn,i,j−1/2 , if η > 0; φn,i,j+1/2 , if η > 0; φn,i,j+ = (3.440) φn,i,j− = φn,i,j+1/2 , if η < 0; φn,i,j−1/2 , if η < 0. so that the sweep relations are

φn,i,j

2|μ | 2|η | Qn,i,j + Δxn φn,i−,j + Δyn φn,i,j− i j = 2|μn | 2|ηn | Σi,j + Δx + Δy i j

(3.441)

with φn,i+,j = 2φn,i,j − φn,i−,j

and

φn,i,j+ = 2φn,i,j − φn,i,j− .

(3.442)

The sweep relations can be solved without iterations, provided that the angular flux is known on the domain boundary. The numerical approximation of the flux φn,i,j in each mesh, for a given angle Ωn , is computed from the known components of the source Qn,i,j and from the incoming fluxes φn,i−,j and φn,i,j− using Eq. (3.441). The outgoing flux components φn,i+,j and φn,i,j+ are computed from Eq. (3.442). The outgoing flux from a cell is the incoming flux of the following mesh in the direction of the traveling particle. The spatial swapping starts from the boundary meshes where the angular flux is known and proceeds forward in the direction of the particle, as depicted in Fig. 3.30. We selected sides X+ and Y + as starting boundaries, so we expect that any vacuum boundary condition shall be

The transport equation

147

assigned to these two sides in priority. The particles are next assumed to reflect on X− and Y − boundaries (possibly with an albedo condition) and pursue their path toward the X+ and Y + boundaries. If a non-vacuum boundary condition is assigned on X+ or Y + boundaries, initial flux components are assumed to initiate the spatial swapping on these surfaces. These initial values are taken as equal to one or are recovered from the last inner iteration. No shooting approach is used in 2D Cartesian geometry, so that we need to keep the SN boundary fluxes φn,i+,j and φn,i,j+ on X+ and Y + in the unknown vector, in addition to the spherical harmonic moments φm ,i,j inside the domain. At the end of each inner iteration, the spherical harmonics moments of the flux are computed using mesh-centered values of the flux in Eq. (3.433). These values are used to compute the spherical harmonic moments Qm,i,j of the source for the next iteration. The above procedure can be generalized to higher spatial discretization orders. The diamond differencing scheme can be written at quadratic and cubic orders for Cartesian approximations.[44] Ωn Φn,i,j+

Φn,i-,j

Φn,i,j

Ωn Φn,i+,j

Ωn Φn,i,j-

Ωn

Figure 3.30: Cartesian 2D spatial swapping. As pointed out in an important paper by Lathrop, the discrete ordinates method in 2D and 3D suffers from a limitation called ray effect.[45] The ray effect is an oscillation of the flux distribution about its exact value that can be observed in cases with very little scattering and localized sources. It is caused by the discretization of the angular variable over precise directions Ωn , producing a numerical solution which is represented as a sum of delta distributions in angle although the exact solution is a continuous distribution in angle. Ray effects do not occur in 1D geometries, since even a plane source produces uncollided neutrons traveling in all μ > 0 and μ < 0 directions.[29] The most straightforward approach to reducing ray effects is to simply increase the order of the discrete ordinates approximation, at the cost of increased CPU resources.

3.9.6

Synthetic acceleration

The particle source distribution Q(r, Ω) appearing in the right-hand side of the transport equation is written in terms of the within-group scattering reaction rate using Q(r, Ωn ) =

L   2 + 1  =0



m m [Σw, (r) Φm  (r) + Q (r)] R (Ωn )

(3.443)

m=−

where Σw, (r) is the -th Legendre moment of the macroscopic within-group scattering cross m section, Φm  (r) is a spherical harmonic component of the flux and Q (r) is a spherical harmonic component of the source representing other contributions such as fission and out-of-group scattering rates. Scattering source iterations are always required with the discrete ordinates method because the flux component Φm  (r) is obtained in terms of the dependent variable using

148

Chapter 3

Eq. (3.433). Introducing an iteration index (κ), the basic scattering source iterative scheme is written Ω · ∇φ(κ+1) (r, Ω) + Σ(r) φ(κ+1) (r, Ω) =

L   2 + 1 



=0

m,(κ)

Σw, (r) Φ

! m (r) + Qm  (r) R (Ω)

(3.444)

m=−

m,(κ)

(r) are the spherical harmonic flux component computed from the SN components where Φ of the flux obtained at the (κ)-th iteration. As pointed out in Ref. [46], the fixed-point convergence of Eq. (3.444) becomes difficult with large domains or in the presence of purely scattering media as the scattering ratio approaches one. In this case, Alcouffe proposed a preconditioning known as synthetic acceleration, based on the following scheme: 1

1

Ω · ∇φ(κ+ 2 ) (r, Ω) + Σ(r) φ(κ+ 2 ) (r, Ω) L   2 + 1 

=



=0

m,(κ)

Σw, (r) Φ

! m (r) + Qm  (r) R (Ω)

(3.445)

m=−

1

1

Ω · ∇δφ(κ+ 2 ) (r, Ω) + Σ(r) δφ(κ+ 2 ) (r, Ω) L   2 + 1 



=0

=





(r) Rm (Ω)

m=−

L   2 + 1  =0

m,(κ+ 12 )

Σw, (r) δΦ

m,(κ+ 12 )

Σw, (r) Φ

m,(κ)

(r) − Φ

! (r) Rm (Ω)

(3.446)

m=−

and 1

1

φ(κ+1) (r, Ω) = φ(κ+ 2 ) (r, Ω) + δφ(κ+ 2 ) (r, Ω).

(3.447)

The above scheme leads to the converged solution of the within-group transport equation in only one iteration, provided that Eq. (3.446) can be solved. This fact can be easily demonstrated m,(κ) by adding Eqs. (3.445) and (3.446) and by canceling the term in Φ (r). However, Eq. (3.446) is just as difficult to solve as the original transport equation itself. The approach proposed by Alcouffe is to replace Eq. (3.446) by a form of the transport equation that is simpler to solve. He proposed to use a compatible diffusion equation, leading to the diffusion synthetic acceleration (DSA) scheme. In his work, Eq. (3.446) is replaced by −∇ ·

1 1 1 ∇δφ(κ+ 2 ) (r) + [Σ(r) − Σw,0 (r)] δφ(κ+ 2 ) (r) 3Σ(r) ! 0,(κ+ 12 ) 0,(κ) = Σw,0 (r) Φ0 (r) − Φ0 (r) .

(3.448)

The spherical harmonic flux component with m =  = 0 at iteration (κ + 1) is set as 0,(κ+1)

Φ0

0,(κ+ 12 )

(r) = Φ0

1

(r) + δφ(κ+ 2 ) (r).

(3.449)

Alcouffe also pointed out that not any discretization scheme can be used to solve Eq. (3.448). Only specific differentiation approaches are compatible with the diamond differencing scheme used to solve Eq. (3.445). A compatible diffusion approximation consists in setting L = 0 in

The transport equation

149

Eq. (3.446) and using a Raviart-Thomas discretization of the P1 spherical harmonic equations with Gauss-Legendre integration of the mass matrices, as explained in Ref. [31]. This type of discretization has the greatest compatibility with the diamond differencing scheme. Specific attention should be made to the SN boundary fluxes used to represent non-vacuum boundary conditions in Cartesian 2D geometry. These components of the unknown vector must be accelerated using a relation similar to Eq. (3.449). The solution of the DSA equation is evaluated on each boundary point r s and is applied isotropically on each angular component n using 1 1 (κ+ 1 ) δφ(κ+ 2 ) (r s ). (r s ) = φn 2 (r s ) + (3.450) φ(κ+1) n 4π It is important to note that the above synthetic acceleration scheme is equivalent to a preconditioning of the non-accelerated scheme in Eq. (3.444). We first recognize that Eq. (3.446) or (3.448) can be written in matrix-operator form as   1 1 (3.451) D δΦ(κ+ 2 ) = E Φ(κ+ 2 ) − Φ(κ) where Φ (or δΦ) is a column vector containing all the spherical harmonic components of the flux (or of the flux increments) in the domain. Equations (3.445) and (3.451) can be rewritten in matrix-operator form as 1

so that where

Φ(κ+ 2 ) = W Φ(κ) + S   1 Φ(κ+1) = Φ(κ) + M Φ(κ+ 2 ) − Φ(κ)

(3.452)

  Φ(κ+1) = Φ(κ) + M S − AΦ(κ)

(3.453)

M = I + D−1 E and A = I − W.

(3.454)

Equation (3.453) is a standard preconditioned fixed-point recursion. Setting M = I reduces the preconditioned form to the non-accelerated scheme in Eq. (3.444). This form is compatible with an acceleration procedure based on the minimization of its residual. The Livolant acceleration and generalized minimal residual (GMRES(m)) methods are efficient acceleration procedures based on this principle. They are both presented in appendix Sect. C.1.3. The Livolant method is the simplest approach, requiring minimal storage resources. The GMRES(m) is more efficient at reducing the total number of iterations but relies on sophisticated orthogonalization processes. The scripts presented in Sect. C.1.3 must be adapted to the discrete ordinates method by implementing a function atv returning an improved flux array as a function of the previous flux and constant source arrays. The constant source array contains fission, out-of-group scattering and/or fixed sources.

3.10

The method of characteristics

The method of characteristics (MOC) solves the characteristic form of the transport equation by following the straight neutron paths of the neutral particle as it moves across the domain.[47] This approach is based on an iterative calculation of the particle flux by solving the transport equation over tracks crossing the complete domain. The MOC is generally applied to the multigroup form of the transport equation and to spatial domains made of regions with piecewise-uniform nuclear properties. The scalar flux per region and energy group is constructed by collecting all mean angular fluxes in terms of the entering angular flux and the source inside

150

Chapter 3

the region. Interestingly, the MOC has the capability to use the same tracking information as the collision probability method. The MOC offers an alternative to the collision probability (CP) method in order to overcome its two main limitations: (1) the CP method produces full square matrices of order equal to the number of regions in the domain, and (2) the CP method is limited to isotropic sources in the LAB. In particular, the MOC is to be preferred in cases where the number of regions exceeds a few hundred. The application of the MOC to reactor physics was first reported by Askew in 1972, followed by a first production implementation, known as the CACTUS module of WIMS-E.[47, 48] The CACTUS code is based on the concept of cyclic tracking where the characteristics are infinite in length and periodic with respect to the lattice. The same idea of periodic characteristics has also been implemented in the MOCC module of DRAGON V3 and MCCG module of DRAGON V4.[49, 50] Another class of characteristic solvers is based on the explicit representation of boundary conditions and on the use of finite-length characteristics. This class of solvers is noticeably faster than those based on the cyclic tracking approach and is used in production lattice calculations. The most widely known implementations are those of codes CASMO-4 and MCCG3D.[51, 52] Similar techniques were subsequently implemented in codes APOLLO2 and DRAGON.[53, 54] We have chosen to present this approach in the upcoming subsections. Our presentation of the MOC follows the terminology and the guidelines proposed by Roy.[49] Many technical details have been recovered from Ref. [55].

3.10.1

The MOC integration strategy

The backward characteristic form of the transport equation was obtained as Eq. (3.34) in Sect. 3.2.1. The one-speed and steady-state form of this equation is written d φ(r + s Ω, Ω) + Σ(r + s Ω) φ(r + s Ω, Ω) = Q(r + s Ω, Ω) ds

(3.455)

where r is the starting point of the particle, s is the distance traveled by the particle on its characteristic, Ω is the direction of the characteristic, Σ(r) is the value of the macroscopic total cross section at r, φ(r, Ω) is the particle angular flux at r, and Q(r, Ω) is the fixed source at r. The spatial integration domain is partitioned into regions of volume {Vi ; i = 1, I}, each of them characterized by uniform nuclear properties and surrounded by boundary surfaces {Sα ; α = 1, Λ}. The MOC is based on the discretization of Eq. (3.455) along each path of the particle and on the integration of the flux contributions using spatial integrals of the form   Vi φi = d3 r d2 Ω φ(r, Ω) Vi 4π   ∞ = d4 T ds χVi (T , s) φ(p + sΩ, Ω) (3.456) Υ

−∞

where φi is the average flux in region i and Υ = {T } is the tracking domain. A single characteristic T is determined by its orientation Ω and its starting point p defined on a reference plane ΠΩ perpendicular to T , as depicted in Fig. 3.31. The characteristics are selected in domain Υ = 4π × ΠΩ which is characterized by a fourth-order differential d4 T = d2 Ω d2 p. The local coordinate s defines the distance of point r with respect to plane ΠΩ . Finally, the characteristic function χVi (T , s) is equal to one if point p + sΩ of characteristic T is located inside Vi , and zero otherwise. The MOC requires knowledge of region indices Nk and segment lengths k describing the overlapping of characteristic T with the domain. This information is written {Nk , k ; k = 1, K}

The transport equation

151

ds T

Ω

s r

d 2p p

ΠΩ

Figure 3.31: Spatial integration domain.

where K is the total number of regions crossed by T . It is important to note that segment lengths k are always defined in 3D, even for 2D prismatic geometries. The intersection points of a characteristic with the region boundaries, and the corresponding angular flux on these boundaries, are written r k+1 = r k + k Ω; k = 1, K (3.457) and φk (T ) = φ(r k , Ω); k = 1, K + 1.

(3.458)

The average flux over each segment is defined as φ¯k (T ) =

1 k (T )



k ( T )

ds φ(r k + s Ω, Ω); k = 1, K.

(3.459)

0

Using this relation, it is possible to rewrite Eq. (3.456) as   d4 T δiNk k (T ) φ¯k (T ) Vi φ i = Υ

(3.460)

k

where δij is the Kronecker delta function and where the summation over k is performed over all the existing indices. All the characteristics T are spanned in Eq. (3.460), but only those that effectively cross region i contribute to the integral. Using the same approach that leads to Eq. (3.460), the volume of region i is written   d4 T δiNk k (T ). (3.461) 4π Vi = Υ

k

The MOC equations use the average fixed source over each segment, defined as ¯ k (T ) = Q

1 k (T )



k ( T )

ds Q(r k + s Ω, Ω); k = 1, K. 0

(3.462)

152

Chapter 3

Based on Eq. (3.457), r 1 and r K+1 are the incoming and outgoing boundary points for T . The incoming (−) and outgoing (+) boundary currents are given as   Sα − ϕα = − d 2 rα d2 Ω (Ω · N α ) φ(r α , Ω) 4 Ω·N α 0 ∂Dβ where r α is a point of the domain boundary ∂Dα and N α is an outgoing unit normal vector at that point. The corresponding MOC integrals are written  Sα − ϕα = − d4 T χα (T , r 1 ) φ1 (T ) 4  Υ Sβ + ϕ = d4 T χβ (T , r K+1 ) φK+1 (T ) (3.464) 4 β Υ where the characteristic function χα (T , r) is equal to 1 if point r of characteristic T is located on surface ∂Dα , and zero otherwise. Using the same approach that leads to Eq. (3.464), the values of surfaces α and β are written   4 d T χα (T , r 1 ) and π Sβ = d4 T χβ (T , r K+1 ). (3.465) π Sα = Υ

Υ

The MOC is similar to a discrete ordinates approach in the way the integrals in d4 T are handled. These integrals are systematically replaced by weighted summations of the form 

M 

d4 T f (T ) 4π Υ

ωm f (T m )

(3.466)

m=1

where M is the number of discrete characteristics. The discrete characteristic T m and weights ωm are recovered from a collision probability-type tracking, but defined in 3D. Each characteristic T m is associated with another one of opposite direction. In the practical implementation of the MOC, only characteristics with Ω > 0 are computed and stored, so that every available characteristic travels two ways, back and forth. These numerical quadratures can also be applied to the evaluation of volumes and surfaces, using Eqs. (3.461) and (3.465), respectively. These approximate values are used as denominators + to normalize the MOC quadratures, leading to the following values of φi , ϕ− α and ϕβ : M %

φi = 4π

ωm

%

m=1

δiNk k (T m ) φ¯k (T m )

k M %

ωm

m=1

%

(3.467) δiNk k (T m )

k

and M %

ϕ− α 4π

= −

ωm χα (T m , r 1 ) φ1 (T m )

m=1 M %

ωm χα (T m , r 1 )

m=1

ϕ+ β 4π

M %

=

ωm χβ (T m , r K+1 ) φK+1 (T m )

m=1 M % m=1

. ωm χβ (T m , r K+1 )

(3.468)

The transport equation

153

Integration of the characteristics Eq. (3.455) requires a hypothesis concerning the spatial variation of the fixed source along each characteristic T . The step characteristic scheme (SC) is a widely used approximation written as Q(r k + s Ω, Ω) = QNk (Ω); ∀s ∈ [0, k ].

(3.469)

The SC scheme is prevalent for the following reasons: 1. The SC scheme is positive, leading to positive values for Qi (Ω), φk (T ) and φ¯k (T ). 2. The SC scheme leads to a number of unknowns equal to the number of regions plus the number of boundary surfaces; more advanced schemes may require storing an amount of information proportional to the tracking. 3. The SC scheme has the same level of approximation as the collision probability method. 4. The SC scheme is conservative. Introduction of the SC scheme in the characteristics Eq. (3.455) and integration of the resulting equation over a single segment k leads to an analytical solution known as the propagation equation. We obtain two relations for the segment-boundary and segment-averaged fluxes: φk+1 (T ) = Ak (T ) φk (T ) + Bk (T ) QNk (Ω) 1 [Bk (T ) φk (T ) + Ck (T ) QNk (Ω)] φ¯k (T ) = k

(3.470)

where the SC coefficients are written (a) ΣNk = 0: Ak (T ) = e−τk (T )  1  Bk (T ) = 1 − e−τk (T ) ΣN k   k (T ) 1 − e−τk (T ) Ck (T ) = , 1− ΣN k τk (T ) (b) ΣNk = 0: Ak (T ) = 1,

Bk (T ) = k (T ) and

Ck (T ) =

(3.471)

k (T )2 . 2

(3.472)

Equations (3.471) use the optical paths τk (T ) defined as τk (T ) = ΣNk k (T ).

(3.473)

In the case of an isotropic source in the LAB, Eq. (3.470) is rewritten as 1 Bk (T ) QNk φk+1 (T ) = Ak (T ) φk (T ) + 4π   1 1 Bk (T ) φk (T ) + Ck (T ) QNk φ¯k (T ) = k 4π

(3.474)

where Qi is written in terms of fission, out-of-group scattering and/or fixed sources Qi and macroscopic within-group scattering cross sections Σw,i using Qi = Qi + Σw,i φi .

(3.475)

154

Chapter 3

Substitution of the second Eq. (3.474) into Eq. (3.467) leads to M %

φi = Pii Qi + 4π

%

ωm

m=1

δiNk Bk (T m ) φk (T m )

k M %

ωm

(3.476)

%

m=1

δiNk k (T m )

k

where we defined the self-collision factor Pii as M %

Pii =

m=1 M %

ωm

%

δiNk Ck (T m )

k

ωm

m=1

%

.

(3.477)

δiNk k (T m )

k

The self-collision factor should not be confused with the collision probability component pii introduced in Sect. 3.8. The self-collision factor is computed using only the particle paths that are not intercepting regions with indices other than i. All the self-collision factors can be computed in the assembly phase of the transport calculation, outside the scattering iterations. The MOC integration strategy can be further simplified by performing a partial scattering reduction based on Eq. (3.475). It is written ⎡ φi =

1 1 − Σw,i Pii

⎢ ⎢ ⎢Pii Qi + 4π ⎣

M %

δiNk Bk (T m ) φk (T m ) ⎥ ⎥ ⎥ M % % ⎦ ωm δiNk k (T m )

ωm

m=1

k

m=1 M %

ϕ− α = −4π



%

k

ωm χα (T m , r 1 ) φ1 (T m )

m=1 M %

ωm χα (T m , r 1 )

m=1 M %

ϕ+ β = 4π

ωm χβ (T m , r K+1 ) φK+1 (T m )

m=1 M %

(3.478) ωm χβ (T m , r K+1 )

m=1

where the swapping relations (3.470) are simplified to φk+1 (T ) = Ak (T ) φk (T ) +

1 Bk (T ) QNk 4π

1 Bk (T ) φk (T ). φ¯k (T ) = k

(3.479)

This approach based on self-collision factors is referred to as the source isolation method in Ref. [55]. It can be generalized to anisotropic cases by introducing angular dependent selfcollision factors. There is one more issue of the MOC that is worth mentioning. It is possible to replace the SC scheme with a diamond differencing scheme similar to Eq. (3.377). Using this relation, the average flux on a track segment is assumed to be 1 φ¯k (T ) = [φk (T ) + φk+1 (T )] . 2

(3.480)

The transport equation

155

The diamond differencing (DD) scheme leads to the same Eqs. (3.470) with the corresponding coefficients now written as 2 − τk (T ) 2 + τk (T ) 2k (T ) Bk (T ) = 2 + τk (T ) k (T )2 . Ck (T ) = 2 + τk (T )

Ak (T ) =

(3.481)

As pointed out by Suslov, the DD scheme can be obtained from the SC scheme by performing a Pad´e approximation of the exponential function.[56] Suslov has shown that the DD scheme is related to the linear characteristic scheme (LC), based on the assumption that the angular flux varies linearly in each region. Assuming that the slope of the fixed sources is proportional to the slope of the flux, the LC scheme reduces to the DD scheme. Consequently, the DD scheme has numerical properties that make it more accurate than the SC scheme in many practical situations. Other successful linear schemes are the linear surface characteristic (LSC) scheme proposed by Santandrea and Mosca and the linear discontinuous characteristic (LDC) scheme proposed by H´ebert.[57, 58] Solution of Eqs. (3.470) or (3.479) over a finite track is straightforward. Each track is travelled back and forth starting from the initial boundary where φ1 (T ) or φK+1 (−T ) is set. Solution of these equations over a cyclic track is based on the requirement that φK+1 (T ) = φ1 (T )

(3.482)

where K is the total number of segments in all the subtracks constituting the track T . A recursion is first applied to compute a “non-cycling” final flux φ˜K+1 (T ) using 1 Bk (T ) QNk with φ˜1 (T ) = 0 φ˜k+1 (T ) = Ak (T ) φ˜k (T ) + 4π

(3.483)

so that the “cycling” final flux can be written as #

K 1

φK+1 (T ) =

$ Ak (T ) φ1 (T ) + φ˜K+1 (T ).

(3.484)

k=1

The “cycling” initial flux is therefore obtained by combining Eqs. (3.482) and (3.484) as #

φ1 (T ) = φK+1 (T ) = 1−

1 K 1

$ φ˜K+1 (T ).

(3.485)

Ak (T )

k=1

Once the “cycling” initial flux is known, solution of flux moments φ¯k (T ) in Eqs. (3.470) proceed as     1 1 ˜ ¯ Bk (T ) φk (T ) + Rk (T )φ1 (T ) + Ck (T ) QNk φk (T ) = k (T ) 4π where

 Rk (T ) =

1, 8k−1 =1

A (T )

if k = 1 if k > 1.

(3.486)

156

Chapter 3

3.10.2

Unstructured 2D finite geometry

Let us consider an unstructured finite geometry in the x-y plane, infinite and uniform along the z axis. This type of geometry is commonly used in lattice codes. The polar angle θ is used to define the direction cosine of the particle relative to the z-axis, as depicted in Fig. 3.32. The direction of the particle is Ω = sin θ cos i + sin θ sin j + cos θ k. Integration over θ is possible by taking the projection of each particle free path on the x-y plane. The differential element d4 T is written (3.487) d4 T = d2 p d2 Ω = dr (sin θ dr) (sin θ d ) dθ. z Ω r = (x,y,z)

θ y ε x (x,y)

Figure 3.32: Projection of a particle trajectory on the x-y plane.

Defining μ = cos θ and d2 Txy = dr d , Eq. (3.487) can be rewritten as d4 T = d2 Txy sin2 θ dθ dz.

(3.488)

The tracking domain Υxy = {T xy } is now defined in the x-y plane. The discrete tracking information {T xy,m ; m = 1, M } is computed using the same tracking operator available with the collision probability method in unstructured 2D finite geometry. A useful example of 2D tracking is presented in Appendices A.4 and A.5 for the particular case of a square pincell geometry. The 3D track lengths corresponding to the tabulated segments are given as k (T ) =

k (T xy ) sin θ

(3.489)

so that Eqs. (3.460) and (3.464) are now written as  d2 T

Vi φ i = 2 Υxy

 k



π/2

δiNk k (T xy )

dθ sin θ φ¯k (T )

(3.490)

0

and   π/2 Sα − ϕα = −2 d2 T χα (T xy , r 1 ) dθ sin2 θ φ1 (T ) 4 0 Υxy   π/2 Sβ + 2 ϕ = 2 d T χβ (T xy , r K+1 ) dθ sin2 θ φK+1 (T ). 4 β Υxy 0

(3.491)

The transport equation

157

In Ref. [59], Leonard and McDaniel introduced optimized polar quadratures for the MOC, in such a way as to generate numerical results close to those obtained via the collision probability method with isotropic scattering. They proposed approaches to obtain quadratures that optimize the integration of Bickley functions, as defined in Eq. (3.290). Later, the two-base point Leonard-McDaniel optimized polar quadratures were generalized to three and four base points in Ref. [60]. These quadratures are written 

π/2

dθ sin θ f 0

L  1   Wλ zλ f (zλ ) sin θ

(3.492)

λ=1

where θ is the polar angle depicted in Fig. 3.32. Using this quadrature, the Ki3 (x) function is approximated as  π/2 L  x Ki3 (x) = dθ sin2 θ e− sin θ Wλ e−zλ x . (3.493) 0

λ=1

The Leonard-McDaniel optimized polar quadratures can be recovered from the following Matlab script: function [zmu,wzmu]=lmcd(nmu) % set the Leonard-McDaniel quadrature base points and weights % function [zmu,wzmu]=lmcd(nmu) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal if nmu == 2 zmu=[ 1.15511584 3.65419436 ] ; wzmu=[ 0.744970262 0.03816792 ] ; elseif nmu == 3 zmu=[ 1.12178171 2.52822733 10.0188332 ] ; wzmu=[ 0.707642138 0.0745818987 0.00175868778 ] ; elseif nmu == 4 zmu=[ 1.10098934 2.15439725 6.02394629 23.7072144 ] ; wzmu=[ 0.677962959 0.10134203 0.00533553911 0.000130677523 ] ; else error(’invalid number of base points.’) end

where variables K, zλ and Wλ are represented by Matlab variables nmu, zmu and wzmu, respectively. Error observed in the Eq. (3.493) evaluation are plotted in Fig. 3.33. Other optimized polar quadratures are presented in Ref. [60] for situations with source anisotropy. Using the polar quadrature of Eq. (3.492), Eqs. (3.478) are now rewritten as ⎡ ⎤ M L % % % ωm δiNk Wλ Bk (T m ) φk (T m ) ⎥ ⎢ 1 ⎢ ⎥ m=1 k λ=1  φi = ⎢Pii Qi + 4π ⎥ M L % % % 1 − Σw,i Pii ⎣ ⎦ ωm δiNk Wλ k (T m ) m=1 M %

ϕ− α = −4π

ωm χα (T m , r 1 )

m=1

L %

ϕ+ β = 4π

λ=1

Wλ φ1 (T m )

λ=1 M %



λ=1

ωm χβ (T m , r K+1 )

m=1

L %

ωm χα (T m , r 1 )

m=1 M %

k

L %

Wλ φK+1 (T m )

λ=1 M % m=1

ωm χβ (T m , r K+1 )

L % λ=1

(3.494) Wλ

Chapter 3 error

158

−3

3 x 10

L=2 −3

2 x 10

L=3 −3

1 x 10

L=4

0

0

1

2

3

4

5

x

Figure 3.33: Error of the Leonard-McDaniel quadratures for evaluating Ki3 (x) functions. where the self-collision factors are now written M %

Pii =

m=1 M % m=1

ωm

%

δiNk

k

ωm

%

δiNk

k

L % λ=1 L %

Wλ Ck (T m ) (3.495) Wλ k (T m )

λ=1

and where k (T m ) = zλ k (T xy,m ).

(3.496)

The self-collision factors Pii are not a function of the fluxes or sources. They are computed during the assembly phase of the calculation using the algorithm reproduced in Matlab script mcgpii. The tracking in track is produced using the script sybt2d of Appendix A.4 for a square pincell. The script parameters are defined as track = tracking information sigt = array of size nreg containing the macroscopic total cross sections nmu = order of the optimized polar quadrature pii = array of size nreg containing the self-collision factors. The script mcgpii is written: function pii=mcgpii(track,sigt,nmu) % compute the pii components for source isolation with the MOC. % function pii=mcgpii(track,sigt,nmu) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal nreg=track(2) ; nbtr=track(4) ; [zmu,wzmu]=lmcd(nmu) ; k=5+track(1)+track(2)+2*track(3) ; volnum=zeros(nreg,1) ; pii=zeros(nreg,1) ; for iline=1:nbtr weitf=track(k+4) ; km=track(k+5) ; kgar=k+5 ; k=k+5+km ; nom=track(kgar+1:kgar+km) ; htf=track(k+1:k+km) ; h=zeros(1,km) ;

The transport equation

159

for imu=1:nmu ww=weitf*wzmu(imu) ; h(:)=htf(:).*zmu(imu) ; b=mcgsces(nom,h,sigt) ; for i=1:km nomi=nom(i) ; volnum(nomi)=volnum(nomi)+h(i)*ww ; pii(nomi)=pii(nomi)+b(2,i)*ww ; end end k=k+km ; end pii=pii./volnum ;

where the script mcgsces is implemented as: function b=mcgsces(nom,h,xst) % calculate coefficients of a track for the characteristics integration. % step-characteristic scheme with exact exponential calls. % function b=mcgsces(nom,h,xst) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal km=length(h) ; b=zeros(2,km) ; for i=1:km nomi=nom(i) ; if xst(nomi) == 0. b(1,i)=h(i) ; b(2,i)=0.5*h(i)^2 ; else b(1,i)=(1-exp(-h(i)*xst(nomi)))/xst(nomi) ; b(2,i)=(h(i)-b(1,i))/xst(nomi) ; end end

The basic algorithm for computing the fluxes and interface current in the innermost scattering iteration is reproduced in Matlab script mcgsis. The script parameters are defined as phi = dependent variables. The first nsurf components of column array phi contain the interface currents and the following nreg components contain the fluxes φi in each region. q = source array. The array q of length nreg contains Qi , the fission, out-of-group scattering and/or fixed sources. track = tracking information sigt = array of size nreg containing the macroscopic total cross sections sigw = array of size nreg containing the macroscopic within-group scattering cross sections pii = self-collision factors as computed by script mcgpii nmu = order of the optimized polar quadrature beta = albedo value selected in the [0, 1] interval. The script mcgsis is written: function phi=mcgsis(phi,q,track,sigt,sigw,pii,nmu,beta) % single MOC scattering iteration with source isolation % function phi=mcgsis(phi,q,track,sigt,sigw,pii,nmu,beta) % (c) 2009 Alain Hebert, Ecole Polytechnique de Montreal

160

Chapter 3

nsurf=track(1) ; nreg=track(2) ; nbtr=track(4) ; s=q+phi.*[beta.*ones(1,nsurf) sigw]’ ; [zmu,wzmu]=lmcd(nmu) ; %---% flux calculation %---k=5+track(1)+track(2)+2*track(3) ; volsur=zeros(nsurf+nreg,1) ; phi=zeros(nsurf+nreg,1) ; for iline=1:nbtr isurf=track(k+2) ; jsurf=track(k+3) ; weitf=track(k+4) ; km=track(k+5) ; kgar=k+5 ; k=k+5+km ; nom=track(kgar+1:kgar+km) ; htf=track(k+1:k+km) ; h=zeros(1,km) ; for imu=1:nmu ww=weitf*wzmu(imu) ; h(:)=htf(:).*zmu(imu) ; b=mcgsces(nom,h,sigt) ; rp=s(isurf) ; rm=s(jsurf) ; for i=1:km nomi=nom(i) ; volsur(nsurf+nomi)=volsur(nsurf+nomi)+2*h(i)*ww ; phi(nsurf+nomi)=phi(nsurf+nomi)+b(1,i)*rp*ww ; rp=rp+b(1,i)*(s(nsurf+nomi)-sigt(nomi)*rp) ; end for i=km:-1:1 nomi=nom(i) ; phi(nsurf+nomi)=phi(nsurf+nomi)+b(1,i)*rm*ww ; rm=rm+b(1,i)*(s(nsurf+nomi)-sigt(nomi)*rm) ; end phi(jsurf)=phi(jsurf)+rp*ww ; phi(isurf)=phi(isurf)+rm*ww ; volsur(jsurf)=volsur(jsurf)+ww ; volsur(isurf)=volsur(isurf)+ww ; end k=k+km ; end phi=phi./volsur ; unk=phi(nsurf+1:nsurf+nreg)+pii.*q(nsurf+1:nsurf+nreg) ; phi(nsurf+1:nsurf+nreg)=unk./(ones(nreg,1)-pii.*sigw’) ;

The largest fraction of CPU resources required to execute the MOC algorithm is spent in script mcgsces and in the two inner loops of script mcgsis. These few lines of code must be highly optimized to ensure a good performance for production calculations. The mcgsces script requires the evaluation of exp(x) and Bk (T ) functions. It is recommended computing these functions from piecewise linear or parabolic fits instead of using the hardwired exp(x) operator of the CPU. It is possible to analytically integrate the MOC equations in polar angle θ, leading to a version of the MOC written in terms of Ki3 (x) functions instead of exponentials. Such a method leads to numerical results equivalent to those obtained with a polar quadrature, as L goes to infinity. However, Bickley functions do not satisfy the same properties as exponentials, so that Ki3 (x + y) = Ki3 (x) Ki3 (y). Consequently, the practical implementation of a script similar to mcgsis would require the addition of an inner loop of the form “for j=i-1:-1:1” and “for j=i+1:km” inside the “for i=1:km” and “for i=km:-1:1” loops, respectively. The extra loops make this MOC inefficient if too many tracks have a number of segments greater than K. Once the MOC single-iteration capability is implemented, the complete scattering iteration can be set using one of the approaches promoted in Appendix C.1.3. Many acceleration strategies can be set up, as follows:

The transport equation

161

Free iteration: [phi err iter]=free(phi,q,’mcgsis’,errtol,maxit,track,sigt,sigw,pii,nmu,beta)

Livolant iteration: [phi err iter]=livolant(phi,q,’mcgsis’,errtol,maxit,track,sigt,sigw,pii,nmu,beta)

GMRES(m) iteration: [phi err iter]=gmres_m(phi,q,’mcgsis’,errtol,nstart,maxit,track,sigt,sigw,pii,nmu,beta)

3.10.3

The algebraic collapsing acceleration

The second-order algebraic collapsing acceleration (ACA) method was introduced by Suslov as a general technique for the acceleration of the MOC in 2D and 3D.[52, 61] The core of the ACA is the solution of a simplified transport equation, referred to as the ACA operator, leading to even-parity fluxes similar to those obtained with the diffusion theory. The discretization process is based on a weighted summation of all trajectories over the global angular domain. The resulting sparse matrix system, of order Λ + I, can be scattering reduced and solved for the even-parity flux and boundary currents. The solution of the sparse matrix system requires only small computer resources and is therefore a good candidate for synthetic acceleration. The scattering iteration of the MOC is preconditioned with the ACA operator using the synthetic acceleration approach already presented in Sect. 3.9.5. Other types of simplified transport equations have been used within a synthetic acceleration approach, leading to competing acceleration strategies. The asymptotic synthetic acceleration (ASA) and DP1 acceleration methods, based on the interface current formalism of Sect. 3.8.1, are alternative approaches proposed in Refs. [53], [62] and [63]. A presentation of ASA and DP1 strategies is outside the scope of this textbook. The ACA operator is based on a set of second-order relations between the isotropic flux and boundary currents on a single track. Each of these relations is expected to couple an unknown with its two neighbors, leading to a tri-diagonal matrix system for the single-track unknown numbering. The contribution of all tracks T m and the introduction of the global unknown numbering lead to a sparse matrix system that can be solved using sparse matrix algebra techniques. We first obtain the tri-diagonal matrix system for a single-track T . Any function of the position s can be written in terms of even- and odd-parity functions, defined as f s (T , s) =

1 1 [f (T , s) + f (−T , s)] and f a (T , s) = [f (T , s) − f (−T , s)] . 2 2

(3.497)

The k-th segment on track T is located between positions sk and sk+1 . Using Eqs. (3.470), the segment-boundary and segment-averaged flux are related as 1 + αk (T ) 1 − αk (T ) φ¯k (T ) = φk+1 (T ) + φk (T ) 2 2 1 − αk (T ) 1 + αk (T ) φk+1 (−T ) + φk (−T ) φ¯k (−T ) = 2 2

(3.498) (3.499)

where k = 1, K. The coefficient αk (T ) is written in terms of the SC or DD coefficients as αk (T ) =

2 2 − −1 1 − Ak (T ) τk (T )

(3.500)

lim αk (T ) = 0.

(3.501)

with the asymptotic limit2 τk →0 2 In

the SC case, you should expand Ak as 1 − τk + τk2 /2.

162

Chapter 3

Equations (3.499) are substituted into Eqs. (3.497), leading to a first set of flux relations:  1 s φk+1 (T ) + φsk (T ) + αk (T ) φak+1 (T ) − φak (T ) φ¯sk (T ) = 2  1 a a ¯ φk+1 (T ) + φak (T ) + αk (T ) φsk+1 (T ) − φsk (T ) . φk (T ) = 2

(3.502) (3.503)

A second set of flux equations can now be obtained. The integration of the characteristics Eq. (3.455) over the k-th segment leads to k (T ) Q Nk φk+1 (T ) − φk (T ) + τk (T ) φ¯k (T ) = 4π

(3.504)

where we assumed an isotropic source. Equation (3.504) can be rewritten in terms of −T , leading to its even- and odd-parity formulation. We have obtained k (T ) QN k φak+1 (T ) − φak (T ) + τk (T ) φ¯sk (T ) = 4π s a s φk+1 (T ) − φk (T ) + τk (T ) φ¯k (T ) = 0.

(3.506)

Substitution of Eq. (3.503) into Eq. (3.506) leads to φsk+1 (T ) = φsk (T ) − ζk (T ) φak (T ) + φak+1 (T ) .

(3.507)

Substitution of Eqs. (3.507) and (3.502) into Eq. (3.505) leads to   QN k φsk (T ) = ζk (T ) φak (T ) + 1 − ˜bk (T ) φ¯sk (T ) + bk (T ) 4π where ζk (T ) =

τk (T ) , 2 + τk (T ) αk (T )

bk (T ) =

k (T ) (ζk (T ) − αk (T )) 2

(3.505)

(3.508)

(3.509)

and ˜bk (T ) = bk (T ) ΣN . K

(3.510)

  Q Nk φsk+1 (T ) = −ζk (T ) φak+1 (T ) + 1 − ˜bk (T ) φ¯sk (T ) + bk (T ) . 4π

(3.511)

Similarly, we can show that

We combine Eq. (3.508) for segment k with Eq. (3.511) for segment k − 1, so that     1 a 1 − ˜bk−1 (T ) φ¯sk−1 (T ) − 1 − ˜bk (T ) φ¯sk (T ) φk (T ) = ζk−1 (T ) + ζk (T )   QNk−1 Q Nk + bk−1 (T ) − bk (T ) . (3.512) 4π 4π Next, we combine Eq. (3.508) for segment k + 1 with Eq. (3.511) for segment k, so that     1 1 − ˜bk (T ) φ¯sk (T ) − 1 − ˜bk+1 (T ) φ¯sk+1 (T ) φak+1 (T ) = ζk (T ) + ζk+1 (T )   QNk+1 Q Nk − bk+1 (T ) . (3.513) + bk (T ) 4π 4π Finally, the boundary conditions can be written in terms of fixed incoming currents J1− and and of albedo values β1 and βK+1 at each end of track T . They are written

− , JK+1

− φ1 (T ) = J1− (T ) + β1 φ1 (−T  ) and φK+1 (−T ) = JK+1 (−T ) + βK+1 φK+1 (T  )

(3.514)

The transport equation

163

where T  is the mirror image track corresponding to a specular reflection of track T on the boundary. Here, we will assume T  ≡ T which is consistent with the hypothesis of a white boundary condition. The weighted summation approach of the ACA naturally leads to white boundary conditions. The even- and odd-parity boundary fluxes are therefore written  1 − J (T ) − (1 − β1 ) φ1 (−T ) 2 1  1 − −JK+1 (−T ) + (1 − βK+1 ) φK+1 (T ) φaK+1 (T ) = 2 φa1 (T ) =

(3.515) (3.516)

and  1 − J1 (T ) + (1 + β1 ) φ1 (−T ) 2  1 − s J (−T ) + (1 + βK+1 ) φK+1 (T ) . φK+1 (T ) = 2 K+1 φs1 (T ) =

(3.517) (3.518)

Substitution of Eqs. (3.512), (3.513), (3.515) and (3.516) into Eq. (3.505) leads to K ACA relations, one for each segment of T . Two relations are still missing to close our linear system. The first is obtained by combining Eq. (3.508) for segment 1 with Eqs. (3.515) and (3.517). The second is obtained by combining Eq. (3.511) for segment K with Eqs. (3.516) and (3.518). The ACA linear system is written in terms of global unknown numbering for the flux, outgoing boundary current and source components. We are representing the starting and ending surfaces of T as αst and αend , respectively. The relation between the local and global numbering is set as φ1 (−T ) =

1 + 1 + 1 − ϕ , φK+1 (T ) = ϕ J , , J1− (T ) = 4π αst 4π αend 4π αst

− JK+1 (−T ) =

1 − 1 Jαend and φ¯sk (T ) = φ Nk . 4π 4π

(3.519)

(3.520)

The complete linear system for a single track T m is made of 2+K relations. The dependence of parameters on T m has been removed to simplify the notation. The ACA linear system is written 1 1 − ˜ [1 + βαst + ζ1 (1 − βαst )] ϕ+ αst − (1 − b1 ) φN1 = − (1 − ζ1 ) Jαst + b1 QN1 2 2

(3.521)

1 1 − ˜ [1 + βαend + ζK (1 − βαend )] ϕ+ αend − (1 − bK ) φNK = − (1 − ζK ) Jαend + bK QNK 2 2

(3.522)

if K = 1: 1 1 1 − 1 (1 − βαst ) ϕ+ (1 − βαend ) ϕ+ J + 1 QN1 + Jα−end αst + τ1 φN1 + αend = 2 2 2 αst 2

(3.523)

if K > 1: $ # 1 − ˜b2 1 1 − ˜b1 + (1 − βαst ) ϕαst + + τ1 φ N 1 − φ N2 2 ζ1 + ζ2 ζ1 + ζ 2   1 − b2 b1 = Jαst − −  1 QN 1 + QN2 , 2 ζ1 + ζ2 ζ1 + ζ2

(3.524)

164

Chapter 3

   1 1 1 − ˜bk−1 ˜ φNk−1 + + (1 − bk ) + τk φNk − ζk−1 + ζk ζk−1 + ζk ζk + ζk+1    1 1 − ˜bk+1 bk−1 1 − φNk+1 = QNk−1 − + bk − k QNk ζk + ζk+1 ζk−1 + ζk ζk−1 + ζk ζk + ζk+1 bk+1 + QNk+1 , k = 1, K − 1 (3.525) ζk + ζk+1 and 1 − ˜bK−1 φNK−1 + − ζK−1 + ζK =

#

bK−1 QNK−1 ζK−1 + ζK

$ 1 1 − ˜bK + τK φNK + (1 − βαend ) ϕ+ αend ζK−1 + ζK 2   bK 1 − − K QNK + Jα−end . ζK−1 + ζK 2

(3.526)

Equations (3.521) to (3.526) can be obtained for a single track T m and written as Am Φ m = Bm Q m

(3.527)

where the first Λ components of Φm and Qm are related to boundary surfaces and the following I components are related to regions. The coefficients of the above linear system are computed for each track T m . The source components are written in terms of Qm (fission, out-of-group scattering and/or fixed sources) and in terms of within-group scattering sources, so that Qm = Qm + S Φm

(3.528)

where S = diag{0 ; α = 1, Λ and Σw,i ; i = 1, I} is a diagonal matrix containing the macroscopic within-group scattering cross sections in each region. The first Λ diagonal terms of S are set to zero. The linear system (3.527) is equivalent to the MOC solution on a single track. The ACA approximation comes from the weighted summation of all individual Am and Bm matrices, assuming the isotropy of flux and boundary currents. Individual matrices are weighted with the ωm -values of Eq. (3.466) and summed as   ωm Am and B = ωm B m (3.529) A= m

m

so that the ACA approximation leads to a unique sparse matrix system written as AΦ = BQ = B (Q + S Φ) .

(3.530)

A scattering reduction can be performed on Eq. (3.530), so that ˜ −1 B Q Φ=A

(3.531)

˜ is defined as where the scattering-reduced matrix A ˜ =A−BS. A

(3.532)

Equation (3.531) is the ACA discretization of the one-speed transport equation for neutral particles. It can be used to obtain an approximate solution of the flux and outgoing boundary currents as required in our synthetic acceleration method. The synthetic ACA is implemented in three phases:

The transport equation

165

˜ and B is only a function of the tracking. It is independent 1. The sparsity graph of matrices A of the particle energy and can therefore be obtained at the end of the tracking operation. Obtaining the sparsity graph at this point greatly reduces the CPU resources required ˜ and B in production calculations. This phase is omitted in our to construct matrices A simple Matlab implementation. ˜ and B in sparse storage mode and their incomplete fac2. The construction of matrices A torization is performed in the assembly phase of the calculation, just after the calculation of the self-collision factors Pii . This construction of matrices A and B can be implemented in Matlab using the script mcgaca taking as input the tracking (track), the macroscopic total cross sections (sigt), the polar quadrature order (nmu) and the albedo (beta). The programming of this script is left as an exercise for the reader. Scattering reduction of matrix A is performed next, using the macroscopic within-group scattering cross sections (sigw). Then, an incomplete ˜ is performed in such a way as to avoid any fill-in. These LU factorization of matrix A operations are set in Matlab as pii=mcgpii(track,sigt,nmu) ; beta=1.0 ; [A B]=mcgaca(track,sigt,nmu,beta) ; A=sparse(A-B*diag([zeros(nsurf,1) ; sigw’])) ; [L1 U1]=ilu(A) ;

3. An ACA-preconditioned scattering iteration can be set, using information already available from the assembly phase. The preconditioning operations are based on Eqs. (3.445) to (3.447). This step makes use of incomplete LU factors obtained previously and the solution of Eq. (3.531) is based on the Bi-CGSTAB algorithm.[64] It is possible to combine the ACA preconditioning with Livolant or GMRES(m) acceleration in order to further reduce the number of scattering iterations. Here, our Matlab prototype is based on ACA preconditioning together with GMRES(m) convergence of the scattering iterations: phi=[zeros(track(1),1) ; ones(track(2),1)] ; errtol=1.e-10 ; maxit=300 ; [phi err iter]=gmres_m(phi,q,’mcgsis_aca’,errtol,nstart,maxit, ... track,sigt,sigw,pii,nmu,beta,A,B,L1,U1) ;

where a single scattering iteration of the preconditioned MOC is implemented as function phi=mcgsis_aca(phi,q,track,sigt,sigw,pii,nmu,beta,A,B,L1,U1) % single MOC scattering iteration with source isolation and ACA % function phi=mcgsis_aca(phi,q,track,sigt,sigw,pii,nmu,beta,A,B,L1,U1) % (c) 2009 Alain Hebert, Ecole Polytechnique de Montreal nsurf=track(1) ; phi_half=mcgsis(phi,q,track,sigt,sigw,pii,nmu,beta) ; qaca=(phi_half - phi).*[beta.*ones(1,nsurf),sigw]’ ; [delta_phi flag1]=bicgstab(A,B*qaca,1e-6,20,L1,U1) ; phi=phi_half+delta_phi ;

3.11

The multigroup Monte Carlo method

The Monte Carlo method is a direct simulation of a population of neutral particles, using a sequence of random numbers to simulate the physical random events of each particle history and recording some aspects of their average behavior. This approach is said to be stochastic because its practical implementation relies on a random number generator, a function returning a random number in the interval 0 ≤ x < 1. The Monte Carlo method is exact, as far as the

166

Chapter 3

geometry and the interactions are correctly simulated and as far as the number of particle histories is sufficient (many millions of particles are required). The quantities computed by the Monte Carlo method are accompanied by standard-deviation values giving an indication of their statistical accuracy. This section is devoted to a description of the Monte Carlo method applied to the simulation of neutral particles, with multigroup representation of the cross sections. Readers interested in the theoretical background of the method or in its more advanced applications are encouraged to consult the textbooks of Lewis and Miller[29] , of Spanier and Gelbard[65] , of Haghighat[66] and the reference text of Lux and Koblinger[67] . Our presentation of the Monte Carlo method follows the terminology and the guidelines proposed by Lepp¨anen.[22] This text is limited to the multigroup Monte Carlo method, keeping in mind that many theoretical aspects remain valid for (or can be easily extended to) continuous-energy calculations. The basic principle of the Monte Carlo method is straightforward. The life of a single neutral particle is simulated from its initial emission (from fission or fixed sources) until its death by capture or escape outside the system boundaries. The frequency and outcome of the various interactions occurring during the particle history are sampled and simulated according to cross section and collision laws similar to those presented in Chapter 2. When the process is repeated for a large number of particles, the result is a detailed simulation of the transport process. The Monte Carlo method is mostly used to study difficult or non-standard situations and to validate deterministic results, principally in the lattice calculation step. The design- and operation-related calculations are generally deterministic. Many implementations of the continuous-energy Monte Carlo method are widely available, such as the MCNP[20] , TRIPOLI-4[21] and SERPENT[22, 24] codes, and are used as powerful validation tools in reactor physics. The Monte Carlo codes have a domain of applications going far beyond reactor physics; it is used for criticality and safety applications, in nuclear fusion studies, in medical applications and in every branch of engineering where the statistical transport of particles is important. Specialized versions exist for studying charged particles.

3.11.1

Mathematical background

We review a few concepts from probability and statistics. A brief introduction to probability theory can also be found in Ref. [65]. The mathematical foundation of the Monte Carlo method is closely related to concepts of probability density, as introduced in Sect. 2.2, and of random sampling. The Monte Carlo method is a technique for estimating the expected value of a random variable, together with its standard deviation. Let us consider a random variable ξ defined over support D. Such a random variable can be, for example, a cross section with a support corresponding to the domain [0, ξmax [. Any function f (ξ) of ξ is also a random variable. The expected value of f (ξ) is defined in terms of the probability density p(ξ) as  dξ p(ξ) f (ξ) (3.533) E[f (ξ)] = D

where p(ξ) dξ is the probability for the random variable ξ to have a value between ξ and ξ + dξ. The variance of f (ξ) is given by  .2 dξ p(ξ) f (ξ) − E[f (ξ)] Var[f (ξ)] =  D  2 2 = dξ p(ξ) f (ξ) − 2E[f (ξ)] dξ p(ξ) f (ξ) + E[f (ξ)] dξ p(ξ) D

= E[f (ξ)2 ] − E[f (ξ)]2 .

D

D

(3.534)

The transport equation The standard deviation of f (ξ) is the square root of the variance, so that  σ[f (ξ)] = Var[f (ξ)].

167

(3.535)

The probability for the random variable to have a value smaller than x is given by the cumulative distribution function, or CDF, which is written  x dξ p(ξ) (3.536) P (x) ≡ P (ξ < x) = −∞

so that p(ξ) =

dP (ξ) . dξ

Equations (3.533) and (3.534) can therefore be written in a more concise form as   .2 E[f (ξ)] = dP (ξ) f (ξ) and Var[f (ξ)] = dP (ξ) f (ξ) − E[f (ξ)] . D

(3.537)

(3.538)

D

The selection of random values of f (ξ) from probability density p(ξ) is a process called random sampling. This is carried out using uniformly distributed random numbers, together with the appropriate distributions. Random numbers are real values, selected between 0 and 1, representing samples drawn independently from a uniform probability density phom (r):  1, if 0 ≤ r ≤ 1; phom (r) = (3.539) 0, otherwise. The numerical algorithm for generating random numbers is presented in Section 1.9 of Ref. [65]. This algorithm is implemented in Matlab as the built-in function rand. Our Matlab script randf is a homemade algorithm, where irand is a random number r and iseed is an arbitrary integer initially imposed by the user or computed by the previous call to randf. This script follows: function [iseed,irand]=randf(iseed) % Random number generation % function [iseed,irand]=randf(iseed) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal mplier=16807; modlus=2147483647 ; mobymp=127773 ; momdmp=2836 ; nextn = iseed ; hvlue = fix(nextn / mobymp) ; lvlue = mod(nextn, mobymp) ; testv = mplier*lvlue - momdmp*hvlue ; if testv > 0 nextn = testv ; else nextn = testv + modlus ; end irand = nextn/modlus ; iseed= nextn ;

The most straightforward of the sampling procedures is the inversion algorithm, in which the sampling of variable ξ from probability density p(ξ) is carried out using the CDF P (ξ). At first, a uniformly distributed random number r is selected on the unit interval. The value of this random number is then set equal to the CDF of the event, so that the corresponding value of ξ can be calculated from the inverse CDF as P (ξ) = r



ξ = P −1 (r).

(3.540)

168

Chapter 3

Values of the random variable ξ sampled in this way are distributed according to its probability density. The expected value of f (ξ) is therefore written E[f (ξ)] = lim EN [f (ξ)] N →∞

with

EN [f (ξ)] =

N 1  f [P −1 (rn )] N n=1

(3.541)

where N is the sample size. A practical Monte Carlo calculation involves computing E[f (ξ)] with a finite number of samples, a number typically chosen between a few thousand and a few million. Another related quantity of interest is the estimated standard deviation. This value is obtained as 9 : N / 02 :1  f [P −1 (rn )] − E[f (ξ)] (3.542) σ[f (ξ)] = lim σN [f (ξ)] with σN [f (ξ)] = ; N →∞ N n=1 where E[f (ξ)] is the true expected value of f (ξ). Let us define a random variable ζn ≡ f [P −1 (rn )], a mean ζ¯ ≡ E[f (ξ)] and a variance 2 σ ≡ σ 2 [f (ξ)]. The central limit theorem states that given a distribution with a mean ζ¯ and variance σ 2 , the sampling distribution of the mean approaches a normal distribution with a mean ζ¯ and a variance of the mean equal to σ 2 /N as the sample size N increases. No matter what the shape of the original probability density, the sampling distribution of the mean approaches a normal distribution. Furthermore, for most probability densities, a normal distribution is approached very quickly as N increases. The central limit theorem is stated as Theorem 1. Theorem 1 Let ζ1 , ζ2 , ... be a sequence of independent random variables distributed according to the same probability density. Then the average EN (ζ) =

N 1  ζi N i=1

(3.543)

is itself a random variable of a normal probability density with mean ζ¯ ≡ E(ζ) and standard √ deviation σ/ N , so that φ(ζ) dζ is the probability for EN (ζ) to have a value between ζ¯ and ζ¯ + dζ, where ¯2 √ N [ζ − ζ] N − 2 2σ φ(ζ) = √ e . (3.544) σ 2π 2 The normal probability density (3.544) can be integrated with the help of the error function. The corresponding CDF is written  #√ $  ζ ¯ N (ζ − ζ) 1   √ 1 + erf dζ φ(ζ ) = Φ(ζ) = . (3.545) 2 2σ −∞ √ The probability for EN (ζ) to have a value located in interval ζ¯ ± aσ/ N is therefore given by

√ . P EN (ζ) = ζ¯ ± aσ/ N = erf



a √ 2

 .

(3.546)

Notice the standard deviation is always positive and has the same units as the expected value. It can be shown that there is a 68% likelihood that an individual sample will fall within

The transport equation

169

√ one standard deviation (±σ/ N ) of the true value. Furthermore, it can be shown that there also exists √ a 95.4% likelihood that an individual sample will fall within two standard√deviations (±2σ/ N ) of the true value, and a 99.7% likelihood that it will fall within (±3σ/ N ) of the true value. The central limit theorem can be illustrated by a simple numerical experiment. Let us consider the free-path probability density in a homogeneous media of cross section Σ. This distribution and the corresponding CDF are written ps (x) = Σ e−Σ x and Ps (x) = 1 − e−Σ x where x ≥ 0

(3.547)

The expected value and standard deviation corresponding to Eq. (3.547) can be obtained analytically as 



E(x) = 0

 1 dx x ps (x) = Σ

and





σ(x) = 0

2  1 1 dx x − ps (x) = . Σ Σ

(3.548)

The inversion algorithm of Eq. (3.541) with a sample size N can be used to compute an expected mean-free path distance. If the experiment is repeated many times, the mean-free path distances obtained are randomly √ distributed according to a normal distribution of mean E(x) and standard deviation σ(x)/ N , as depicted in Fig. 3.34.

φ(x) 0.6

0.4

0.2

0

0

2

4

6

8

10

12

14

x (cm) Figure 3.34: The normal distribution of expected mean-free path distance values obtained from Eq. (3.541) with Σ = 0.15 cm−1 and N = 100. The histogram contains 10,000 mean-free path distances. The continuous curve corresponds to Eq. (3.544). In practical situations, only a sample mean of the expected value EN [f (ξ)] is available, so that Eq. (3.542) cannot be evaluated in a consistent way. The following theorem helps to obtain a usable formula. Theorem 2 Let ζ1 , ζ2 , . . ., ζN be a sequence of independent random variables distributed according to the same probability density. Let EN (ζ) represent the sample mean, i.e., the expected value of

170

Chapter 3

ζ obtained with N random variables. A good approximation of the estimated variance is N 1  2 [ζn − EN (ζ)] N − 1 n=1 # N  $  1 2 2 ζn − N EN (ζ) . = N −1 n=1

2 σN =

(3.549)

Proof: The following proof was recovered from Ref. [69]. The estimated variance is N N N 2 1  1  2 2ζ¯  ζn − ζ¯ = ζn − ζn + ζ¯2 N n=1 N n=1 N n=1 $ # N 1  2 − 2ζ¯ EN (ζ) + ζ¯2 . = ζ N n=1 n

2 σN =

(3.550)

On the other hand, the sample variance is N N N 1  1  2 2EN (ζ)  2 2 [ζn − EN (ζ)] = ζn − ζn + EN (ζ) N n=1 N n=1 N n=1 # $ N 1  2 2 = (ζ) − EN ζ N n=1 n

2 SN =

so that

 2 2 2 2 σN − SN = −2ζ¯ EN (ζ) + ζ¯2 + EN (ζ) = EN (ζ) − ζ¯ .

(3.551)

(3.552)

Now imagine that the N -sample experiment is redone M times. The M values are going to be distributed according to a normal distribution, as stated by the central limit theorem. Under these circumstances, the variance of the normal distribution (or variance of the mean) is going to be written M 2 2 1  σN 2 = . (3.553) EN (ζ)|m − ζ¯ = σ ¯M central limit N M m=1 The central limit theorem is valid as M → ∞. In the particular case where M = 1 (only one N -sample experiment), Eq. (3.553) is only an approximation and can be rewritten as 

2 EN (ζ) − ζ¯



central limit

2 σN N

(3.554)

Substitution of Eq. (3.554) into Eq. (3.552) leads to 2 2 σN − SN =

2 σN N

so that

2 σN =

N S2 N −1 N

and substitution of Eq. (3.551) into Eq. (3.555) leads to Eqs. (3.549). 2 Using the result of the theorem, Eq. (3.542) can be rewritten as 9 : N / 02 : 1  f [P −1 (rn )] − EN [f (ξ)] σN [f (ξ)] = ; N − 1 n=1 9 N " : : 1  ; 2 2 −1 = f [P (rn )] − N EN [f (ξ)] . N − 1 n=1

(3.555)

(3.556)

The transport equation

3.11.2

171

Rejection techniques

It is not always possible to evaluate the inverse P −1 of the CDF, as required by the inversion algorithm. In some cases, inversion is feasible but expensive to calculate. The basic rejection algorithm is useful in specific cases where P −1 is not available and where the probability density p(ξ) can be efficiently computed. The basic rejection algorithm involves the definition of an arbitrary probability density g(ξ) having a CDF G(ξ) easily invertible and the definition of an appropriately chosen scaling constant c ≥ 1, selected in such a way that p(ξ) ≤ c g(ξ)

(3.557)

for all values of the random variable ξ over its support. The left and right flowcharts in Fig. 3.35 illustrate the inversion and basic rejection algorithms, respectively. Variable N represents the number of samples. A single call to the random number generator is represented by the dice symbol ( ). Each loop of the basic rejection algorithm starts with the sampling of the probability density g(ξ) to obtain a random variable ξi . Another random variable ri+1 is then sampled on the unit interval and the value of ξi is accepted as a sample from p(ξ) if ri+1 ≤

p(ξi ) . c g(ξi )

(3.558)

If Eq. (3.558) is not satisfied, ξi is discarded and the loop is recycled. It can be shown that the distribution of the accepted random variables ξi follows the probability density p(ξ). Any probability density g(ξ) satisfying Eq. (3.557) can be selected, but other properties are nevertheless expected. This probability density must be chosen in such a way that G−1 (ri ) can be evaluated effectively. Moreover, the difference between c g(ξ) and p(ξ) must be as small as possible or, more precisely, the efficiency ratio (∞ dξ g(ξ) −∞ (3.559) E = (∞ dξ c g(ξ) −∞ must be as close to unity as possible. If the efficiency ratio is low, computer resources are wasted in the re-sampling loop to compute unnecessary inverses G−1 (ri ). Another useful rejection technique is the Woodcock or delta-tracking algorithm of Ref. [68]. This technique is useful for sampling the free-path probability density in heterogeneous geometries. To illustrate its use, let us consider an example proposed in Ref. [22]. Consider a neutral particle passing through three material layers. The boundary surfaces are located at x1 and x2 and all three materials are associated with macroscopic total cross sections Σ1 , Σ2 and Σ3 , respectively. The free-path probability density for this case is written ⎧ ⎨ Σ1 e−Σ1 x , if x ≤ x1 ; ps (x) = Σ2 e−Σ1 x1 e−Σ2 (x−x1 ) , (3.560) if x1 < x ≤ x2 ; ⎩ Σ3 e−Σ1 x1 e−Σ2 (x2 −x1 ) e−Σ3 (x−x2 ) , if x > x2 . Equation (3.560) illustrates the main difficulty in using the Monte Carlo method for simulating the transport of neutral particles. Its application in 2D and 3D cases requires the calculation of the distance from the particle location to the nearest material boundary along the direction Ω of the moving particle. This operation must be repeated recursively up to the collision point. Moreover, the application of the inversion algorithm for Eq. (3.560) also requires a recursive inversion approach as the neutron moves from one material to the next.

172

Chapter 3

Begin

Begin n=0 S=0

S=0 n = 1, N ξn = P −1(rn) S = S + f(ξn)

E( f ) = S N End

i = 1, N ξi = G−1(ri)

ri+1 ≤

p(ξi) c g(ξi)

no

yes n=n+1 S = S + f(ξi)

E( f ) = S n End

Figure 3.35: The inversion and basic rejection algorithms. Here comes into play the Woodcock rejection algorithm. The basic idea is to add a virtual collision cross section to each material of the domain, in a given energy group, in such a way that the modified total cross section Σmax is uniform over the entire domain. The value of Σmax in region k is simply the sum of the real total cross section Σk plus a virtual collision cross section. A free-path probability density taking into account virtual collisions is written ps (x) = Σmax e−Σmax x , x ≥ 0.

(3.561)

The CDF corresponding to Eq. (3.561) can be easily inverted as Ps−1 (r) = −

ln(r) Σmax

(3.562)

where r is a random number, so that the free path distance between two virtual or actual collisions is ln(r) ΔLi = Ps−1 (r) = − . (3.563) Σmax The only things that the Woodcock method changes are 1. that the free path length is sampled using the modified (instead of the physical) total cross section and 2. that the virtual collision is added to the list of reaction modes. to (3.563) take a similar form in both cases.

Equations (3.561)

The tracking procedure is the random sampling of free path distances Li distributed according to the probability density defined in Eq. (3.560). We have selected the Woodcock rejection algorithm, as depicted in Fig. 3.36. The procedure begins by sampling the free-path distance from Eq. (3.562) so that the particle reaches a tentative collision site where the type of collision, either real or virtual, is sampled. Collision sampling only requires knowledge of the material

The transport equation

173

Begin n=0 S=0 i = 1, N Li = 0

ln ri Σmax k = R(Li)

Li = L i −

ri+1 ≤

Σmax − Σk Σmax

yes

no

n=n+1 S = S + f(Li) E( f ) = S n End

Figure 3.36: The Woodcock rejection algorithm. index at the collision site. Knowledge of the location of the material boundary is not required. In our simple three-region example, the material index at location x is given by function  1, if x ≤ x1 ; (3.564) R(x) = 2, if x1 < x ≤ x2 ; 3, if x > x2 . It does not matter if the particle crosses one or several material boundaries, as long as the material index at the collision site is available. The probability of sampling a virtual collision is simply the ratio of the virtual collision cross section to the modified total cross section, so that Σmax − Σk P = . (3.565) Σmax The procedure is repeated until a real collision is sampled with probability 1−P , considering the fact that a virtual collision does not affect the state of the particle. The real free-path distance sample is simply the sum of all free-path distance samples obtained until the collision is real. This approach can be applied to the simple three-region problem of Eq. (3.560), using x1 = 3 cm, x2 = 5 cm and Σ = col{0.2 , 0.7 , 0.3} cm−1 . The histogram curve in Fig. 3.37 shows the distribution of 100,000 particles sampled using the Woodcock rejection algorithm of Fig. 3.36.

3.11.3

The random walk of a neutron

The random walk process provides a faithful simulation of the behavior of a single particle, from source to death. The random walk is a continuous line made of straight free paths connected

174

Chapter 3

ps(x)

0.4

0.3

0.2

0.1

0

0

5

10

15

x (cm) Figure 3.37: The free-path probability density of particles passing through three different materials. at collision locations. The random walk is affected by the geometry of the domain and by the cross-section data corresponding to materials present in the domain. During its walk, the particle state is characterized by its position, direction of travel, energy group index, and weight. The simulation is said to be analog if the weight of the particle is constantly equal to one. An example of random walk in a square pincell is illustrated in Fig. 3.38. Figure 3.39 represents the random walk of a single neutron from source to death by radiative capture, fission, or leakage through a boundary. As before, a single call to the random number generator is represented by the dice symbol ( ). Processes such as (n,2n) reactions are considered internal to the random walk and do not act as a termination. At start, the source neutron is characterized by its emission spectrum, position in space (and corresponding material index), and weight. The random walk presented here makes use of some basic approximations, for the sake of simplicity. The number of nuclear reactions is limited to scattering, (n,2n), radiative capture and fission. Many fissionable isotopes may be present in a fissile material, each with its specific spectrum. Scattering reactions are assumed isotropic in the LAB. Finally, we are assuming a 1D, 2D or 3D Cartesian geometric domain. The overall algorithm for the random walk of a single neutron is implemented in Matlab script mctrk. This section is devoted to the presentation of the script. The mctrk script is called as [ngen iseed]=mctrk(myNode,bc,alb,ngen,iseed,xyzl,varargin{:}) ;

with the parameters defined as myNode = structure containing cross-section data: • myNode(ireg).sigt(ig) is the macroscopic total cross section in region ireg and energy group ig. • myNode(ireg).sigs(jg,ig) is the macroscopic differential scattering cross section in region ireg from group ig towards group jg. These values should not contain any (n,xn) components.

The transport equation -4 5

-4 -4 5

-1

175

-2

55 5

4

-2

5 5

2 3

2

4 3 4 4 4

-1 -1 -1

1

4

1

2

2

1

-1 2 -1

-2

2

5

-2

-1 -1

4 5 5

4

-2 5

-3

-3

-3

Figure 3.38: Random walk of a neutral particle in a square pincell. • myNode(ireg).nusigf(isonbr,ig) is the number of neutrons emitted per fission (ν) times the macroscopic fission cross section in region ireg and energy group ig for a fission of fissionable isotope isonbr. • myNode(ireg).chi(isonbr,ig) is the fission spectrum component in region ireg and energy group ig for a fission of fissionable isotope isonbr. • Finally, myNode(ireg).sn2n(ig) is the macroscopic (n,2n) cross section in region ireg and energy group ig. bc = string variable for selecting the boundary condition. The value is chosen among refl for specular reflection, void for vacuum boundary condition, tran for periodic boundary condition and albe for albedo boundary condition. alb = albedo value selected in the [0, 1] interval ngen = structure containing the properties of the neutron: • ngen.mix is the region where the neutron is located. • ngen.isonbr is the index of the fissionable isotope producing the neutron. • ngen.nu is the neutron weight • ngen.pos(idim) is the position of the neutron along idim-th Cartesian axis.

176

Chapter 3

Begin

Set the properties of the source neutron: index of the fissile isotope producing the source neutron position of the source neutron index of the material where the source neutron is located weight of the source neutron find the energy group of the source neutron find the direction (isotropic in LAB) of the source neutron

compute the free path using Eq. (3.563)

compute the end position of the free path

end position

surface

type of boundary condition

volume void

End

determine if the collision is virtual yes

virtual collision

reflection

compute the reentrant neutron direction

periodic

compute the reentering neutron position

no re-emit a neutron on boundary (ndim-1) white or albedo

determine the type of reaction

neutron survives

yes

find the reentering isotropic direction

no scattering

(n,2n) multiply the weight of the neutron by 2

fission or capture find the number of fissile isotopes at collision point >1 find the fissile isotope index

0 find the energy group of the secondary neutron find the direction (isotropic in LAB) of the secondary neutron

End

End

1 multiply the weight of νΣ f the neutron by Σa End

Figure 3.39: Random walk of a single neutron from source to death. iseed = arbitrary integer used by the random number generator. This value is initially imposed by the user or computed by the previous call to randf. xyzl = floating-point 2×ndim matrix giving the domain limits for ngen.pos(idim) along each Cartesian axis. varargin{:} = additional geometric information used by the mctptr script. This information may be, for example, the radius of the cylindrical rods in a pincell. At return, updated values of structure ngen and variable iseed are available. The output value of ngen corresponds to the death location of the neutron. A listing of script mctrk follows: function [ngen,iseed]=mctrk(myNode,bc,alb,ngen,iseed,xyzl,varargin)

The transport equation

177

% Random walk of a single particle from source to death. % function [ngen,iseed]=mctrk(myNode,bc,alb,ngen,iseed,xyzl,varargin) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal length=0.0 ; active=true ; idso=0 ; nreg=size(myNode,2) ; ng=size(myNode(1).sigt,2) ; nfiss=size(myNode(1).nusigf,1) ; %-% set the initial energy and direction of the particle %-if ngen.mix == 0 ig=1 ; else [iseed,rand]=randf(iseed) ; xprob=0.0 ; ig=0 ; while (rand >= xprob) && (ig < ng) ig=ig+1 ; xprob=xprob+myNode(ngen.mix).chi(ngen.isonbr,ig) ; end end xsm=0.0 ; for ireg=1:nreg xsm=max(xsm,myNode(ireg).sigt(ig)) ; end [iseed,rand]=randf(iseed) ; mu=2.0*rand-1.0 ; mus=sqrt(1.0-mu*mu) ; [iseed,rand]=randf(iseed) ; phi=2.0*pi*rand ; vdir=[mus*cos(phi),mus*sin(phi),mu] ; %-% random walk of the particle %-while active if idso == 0 [iseed,rand]=randf(iseed) ; length=-log(rand)/xsm ; end [ngen.pos,ireg,length,idso]=mctptr(length,vdir,ngen.pos,xyzl,varargin{:}) ; if ireg > 0 % detect if an interaction is a virtual or a real collision ngen.mix=ireg ; [iseed,rand]=randf(iseed) ; virtual=rand = xx) && (igroup >= 1) xx=xx+myNode(ireg).sigs(igroup,ig)/sigs0 ; igroup=igroup-1 ; end ig=igroup+1 ; active=true ; xsm=0.0 ; for ireg=1:nreg xsm=max(xsm,myNode(ireg).sigt(ig)) ; end else % capture or fission event active=false ;

178

%

%

%

Chapter 3 nusigf0=sum(myNode(ireg).nusigf(1:nfiss,ig)) ; if nusigf0 > 0.0 && nfiss == 1 ngen.nu =ngen.nu*myNode(ireg).nusigf(1,ig)/(myNode(ireg).sigt(ig)- ... sigs0-myNode(ireg).sn2n(ig)) ; ngen.isonbr =1 ; elseif nusigf0 > 0.0 [iseed,rand]=randf(iseed) ; xprob=0.0 ; ngen.isonbr=0 ; while (rand >= xprob) && (ngen.isonbr < nfiss) ngen.isonbr=ngen.isonbr+1 ; xprob=xprob+myNode(ireg).nusigf(ngen.isonbr,ig)/nusigf0 ; end ngen.nu =ngen.nu*myNode(ireg).nusigf(iso,ig)/(myNode(ireg).sigt(ig)- ... sigs0-myNode(ireg).sn2n(ig)) ; else ngen.nu =0.0 ; ngen.isonbr =0 ; end end if active [iseed,rand]=randf(iseed) ; mu=2.0*rand-1.0 ; mus=sqrt(1.0-mu*mu) ; [iseed,rand]=randf(iseed) ; phi=2.0*pi*rand ; vdir=[mus*cos(phi),mus*sin(phi),mu] ; end end else ids=abs(idso) ; ngen.mix=0 ; switch bc case {’refl’} reflective boundary conditions vdir(ids)=-vdir(ids) ; case {’void’} active=false ; ngen.nu =0.0 ; ngen.isonbr =0 ; case {’tran’} periodic boundary conditions if idso > 0 ngen.pos(ids)=ngen.pos(ids)-(xyzl(2,ids)-xyzl(1,ids)) ; else ngen.pos(ids)=ngen.pos(ids)+(xyzl(2,ids)-xyzl(1,ids)) ; end case {’albe’} if alb == 0.0 active=false ; ngen.nu =0.0 ; ngen.isonbr =0 ; else [iseed,rand]=randf(iseed) ; active=(rand M . The weights corresponding to these neutrons are sorted by decreasing value and the M -th value is used as weight threshold ωlimit . The weights associated to neutrons are left unchanged if  ≥ ωlimit . The remaining weights are modified depending on the value of a random ωm,n−1 variable r, using   ωm,n−1  ωm,n−1 = ωlimit ; if r ≤ ωlimit , (3.584) 0, otherwise. Using this technique, it is possible to maintain the number of source neutrons below an acceptable value: Mn  M = Λm,n < 2M. (3.585) m=1

Russian roulette is an indispensable technique in Monte Carlo calculations, since it allows low-weight random walks to be avoided without bias. Splitting is also useful to reduce the variance with high-weight random walks. In combination, these techniques can be very effective at directing sampling effort into the most productive regions of the domain. The Matlab script mcflx The above techniques are implemented in Matlab script mcflx. The overall dataflow for our Monte Carlo application is depicted in Fig. 3.40. mcflx

power iteration

mctrk

random walk

mcptr

end-of-path location

Figure 3.40: A simple Monte Carlo application. Script mcflx is called with [keff,rekeff]=mcflx(myNode,bc,alb,k_cycle,nsrck,ikz,kct,xyzl,varargin)

with the parameters defined as

The transport equation

185

myNode = structure containing cross-section data. bc = string variable for selecting the boundary condition. The value is chosen among refl for specular reflection, void for vacuum boundary condition, tran for periodic boundary condition and albe for albedo boundary condition. alb = albedo value selected in the [0, 1] interval k cycle = initial guess of Keff,0 nsrck = nominal number of source histories M per Keff cycle ikz = number of source cycles Ic to skip before Keff accumulation kct = total number of cycles N in the problem xyzl = floating-point 2×ndim matrix giving the domain limits for ngen.pos(idim) along each Cartesian axis. varargin{:} = additional geometric information used by the mctptr script. This information may be, for example, the radius of the cylindrical rods in a pincell. keff = effective multiplication factor as defined by Eq. (3.576) rekeff = standard deviation of the effective multiplication factor as defined by Eq. (3.577). A listing of script mcflx follows: function [keff,rekeff]=mcflx(myNode,bc,alb,k_cycle,nsrck,ikz,kct,xyzl,varargin) % Power iteration with the Monte-Carlo method in 1D/2D/3D Cartesian geometry. % function [keff,rekeff]=mcflx(myNode,bc,alb,nsrck,ikz,kct,xyzl,varargin) % (c) 2008 Alain Hebert, Ecole Polytechnique de Montreal ndim=size(xyzl,2) ; iseed=1111 ; ibank1=nsrck ; nu_cycle=zeros(1,2*nsrck) ; ngen1=repmat(struct(’mix’,0,’isonbr’,-1,’nu’,1.0,’pos’,zeros(1,ndim)),1,2*nsrck) ; ngen2=ngen1 ; %-% initial uniform source %-for itrk=1:nsrck for idim=1:ndim [iseed,rand]=randf(iseed) ; ngen1(itrk).pos(idim)=xyzl(1,idim)+rand*(xyzl(2,idim)-xyzl(1,idim)) ; end end %-% power iteration %-sum1=0.0 ; sum2=0.0 ; for icycle=1:kct ibank2=0 ; for itrk=1:ibank1 nu=ngen1(itrk).nu ; nloop=max(1,fix(nu/k_cycle)) ; ngen1(itrk).nu=nu/(k_cycle*nloop) ; for iloop=1:nloop [ngen iseed]=mctrk(myNode,bc,alb,ngen1(itrk),iseed,xyzl,varargin{:}) ; if ngen.isonbr > 0 ibank2 = ibank2+1 ; if ibank2 > 2*nsrck, error(’too many neutron tracks being banked’), end ngen2(ibank2)=ngen ; nu_cycle(ibank2)=ngen.nu ;

186

Chapter 3

end end end k_cycle=sum(cat(1,ngen2(1:ibank2).nu))/nsrck ; %-% Russian roulette %-if ibank2 > nsrck nu_cycle=sort(nu_cycle,’descend’) ; nulimit=nu_cycle(nsrck) ; ibank1=0 ; for itrk=1:ibank2 lkeep=(ngen2(itrk).nu >= nulimit) ; if ~lkeep [iseed,rand]=randf(iseed) ; lkeep=(rand ikz sum1=sum1+k_cycle ; sum2=sum2+k_cycle^2 ; end fprintf(1,’cycle number=%d k-eff cycle=%e\n’,icycle,k_cycle) end keff=sum1/(kct-ikz) ; rekeff=sqrt((sum2-(kct-ikz)*keff^2)/(kct-ikz-1)/(kct-ikz)) ; fprintf(1,’cycle number=%d k-eff cycle=%e k-eff expected= %e sigma=%e\n’, ... kct,k_cycle,keff,rekeff)

To set up a criticality calculation, four important numbers are parameters of script mcflx and must be user-defined: Keff,0 , M , Ic and N . The quality of the Monte Carlo simulation depends on the optimal choice of these parameters. Fig. 3.41 represents the Keff convergence as a function of the cycle index n for the pincell example of Fig. 3.39 and Exercise 3.12.

3.11.5

Monte Carlo reaction estimators

We consider the Monte Carlo simulation of a neutral particle behavior for the purpose of estimating a reaction rate   d3 r dE Σρ (r, E) φ(r, E) (3.586) Rρ = V

ΔE

where V is the spatial domain, ΔE is the energy domain, Σρ (r, E) is a macroscopic cross section for reaction ρ, and φ(r, E) is the particle flux. The estimation of other types of characteristics, such as surfacic currents or leakage rates, are beyond the level of this text. The simplest way to estimate a reaction rate is to score the corresponding interactions that are simulated during the random walk of a batch of particles. This type of estimate is called analog, since it is directly related to the simulation process. According to this technique, the analog collision rate is estimated by summing the number of actual (not virtual) collisions during the random walk, taking care to consider the actual weight ωi of the particle at the

The transport equation

Keff

187

1.05

1.045

1.04

1.035

1.03 100

200

300

400

500

600

700

800

900

1000

cycle index (n)

Figure 3.41: Variation of Keff with increasing N , as given by Eq. 3.576. This curve is obtained using M = 1000 and Ic = 100. moment of collision.4 We write R=

I 

ωi

(3.587)

i=1

where I is the total number of scored values. Only scores corresponding to actual collisions and to phase-space positions in V and ΔE are included in the sum over I. Similarly, the expected rate of an arbitrary reaction ρ can be estimated by summing over the fractional reaction probabilities, using Rρ =

I 

ωi

i=1

Σρ,g,k Σg,k

(3.588)

where Σρ,g,k and Σg,k are the macroscopic cross sections at the score location k ∈ V and g ∈ ΔE. Equation (3.588) is the collision estimator. It is more efficient than the analog estimator for reaction ρ (i.e., counting only ρ-type reactions) because scores are recorded even if the particular reaction ρ does not occur. As pointed out in Sect. 3.1, the integrated flux is the total distance traveled by all the particles in V during a unit period of time. The track-length estimator records individual free-path distances ΔLi and adds them to produce an estimation of the flux. It is important to consider free paths between actual and virtual collisions in the summation over Iv . The expected integrated flux can therefore be estimated using F =

Iv 

ωi ΔLi

i=1 4A

more traditional definition of the analog estimator also requires the weights to be set to unity.

(3.589)

188

Chapter 3

and the expected rate of an arbitrary reaction ρ can be estimated using Rρ =

Iv 

ωi Σρ,g,k ΔLi .

(3.590)

i=1

Here, only components of ΔLi actually located inside V must be included in the summation. The exact fraction is not known with the Woodcock method, as only the end-point locations of ΔLi are recorded. Computing the individual track segments in each region would introduce an overhead that would compromise the efficiency of the Woodcock method. Fortunately, the Woodcock method offers an alternative reaction estimator with properties similar to the track-length estimator. The virtual collision estimator records virtual and actual collisions and uses them to produce an estimation of the flux and of the reaction rates. The expected integrated flux can therefore be estimated using F =

Iv 

ωi

i=1

1 Σmax,g

(3.591)

and the expected rate of an arbitrary reaction ρ can be estimated using Rρ =

Iv 

ωi

i=1

Σρ,g,k . Σmax,g

(3.592)

A virtual collision estimation of the effective multiplication factor would be written Iv %

Keff =

i=1 Iv %

νΣ ωi Σ f,g,k max,g

Σg,k − Σs,g,k − 2 Σ(n,2n),g,k ωi Σmax,g i=1

(3.593)

where the contribution of (n,2n) reactions is left on the denominator in order to be consistent with the definition of Keff in Sect. 3.3.1. The track-length and virtual collision estimators are the only ones that permit us to obtain the flux in voided regions. Another advantage of the track-length and virtual collision estimators over the collision estimator are their better efficiency in small geometry regions. All collisions are recorded, even the virtual ones. The difference is important in optically thin volumes and in materials with low interaction probability. As the number of virtual collisions per actual collision increases, the Woodcock method becomes less efficient, but the accuracy of the virtual collision estimator approaches that of the track-length estimator.

The transport equation

189

Exercises 3.1 Compute Σs,0 (E ← E  ), the transport-corrected differential macroscopic cross section of Hydrogen. Assume an elastic and isotropic collision in the CM. Neglect the initial velocity of the target nucleus and the molecular or metallic binding effects. Also assume that the macroscopic cross section of Hydrogen is constant in energy and equal to Σs,0 . (2)

3.2 (a) Compute the probability PSi for a neutron entering an infinite slab of thickness a with a distribution ψ2 (Ω, N − ) to undergo its first collision in the slab. The entering distribution is √ √ ψ2 (Ω, N − ) = 3 2 (Ω · N − ) − 2 2 where N − is the incoming normal vector, perpendicular to the slab surface and Ω is the direction of the neutron. The slab has a uniform macroscopic total cross section equal to Σ. (b) Show that distributions ψ1 (Ω, N − ) = 1 and ψ2 (Ω, N − ) satisfies the orthogonality condition of Eq. (3.241). 3.3 The 1D one-speed fixed source integral transport equation inside a finite homogeneous slab of thickness a can be written in terms of the fixed source Q as  a Σ |x −x| 1 dx e− μ Q φ(x, μ) = 2μ 0 where we have assumed that the scattering cross section vanishes. Σ is the total macroscopic cross section of the slab. The slab is surrounded by vacuum. Find the analytical expression of the angular half-moments of the integrated flux. They are defined as  a  1 φ = dμ μ dx φ(x, μ) ,  ≥ 0. 0

0

3.4 Compute the reduced collision probability matrix P for an infinite slab lattice made of the unit cell defined in Table 3.5. The volumes Vi are given in cm. The unit cell is translated to cover the infinite space using a periodic boundary condition. Table 3.5: Volumes and total cross sections of the unit cell Vi Σi (cm−1 )

1 0.4 0.2

2 0.7 0.0

3 0.4 0.5

4 1.3 0.0

5 2.1 0.3

3.5 Compute the reduced collision probability matrix P for a 1D cylindrical unit cell defined in Table 3.5. Region 1 is the innermost rod. The volumes Vi are given in cm2 . (a) Assume a vacuum boundary condition. (b) Assume a white boundary condition. (Hint: Write a Matlab script named f=pij cyl(r,sig,ngauss) taking 1D arrays r and sig as input radii and cross sections. The script returns a 2D array containing P for a vacuum boundary condition. About 60 lines of code are required.) 3.6 In the previous problem, assume a white boundary condition and put a ν-fission cross section of νΣf = 1.4 cm−1 in region 1.

190

Chapter 3 (a) Find the value of the effective multiplication factor Keff in absence of scattering. (b) Assuming a constant scattering cross section of Σs = 0.05 cm−1 in regions 1, 3 and 5, recompute the value of Keff . (Hint: Solve the resulting eigenvalue problem using the Matlab script aleig of Sect. C.2.1 in Appendix B.)

3.7 Compute the reduced collision probability matrix P for a 1D spherical geometry defined in Table 3.5. Region 1 is the innermost spherical region. The volumes Vi are given in cubic centimeter. (a) Assume a vacuum boundary condition. (b) Assume a white boundary condition. (Hint: Write a Matlab script named f=pij sphere(r,sig,ngauss) taking 1D arrays r and sig as input radii and cross sections. The script is almost identical to pij cyl.) 3.8 We are studying an infinite and homogeneous medium with isotropic scattering. The total and scattering macroscopic cross sections are Σ and Σs , respectively. Compute the Fourier transform of the particle flux resulting from an isotropic source emitting one particle per unit surface and per unit time on the infinite plane at x = 0. (a) Use the differential form of the transport equation. (b) Use the integral form of the transport equation. 3.9 Show that the boundary flux and current of an S2 approximation in 1D slab geometry are related by the equation ±J(xs ) +

1 1 − β(xs ) φ(xs ) = 0 Z 1 + β(xs )

where φ(xs ) and J(xs ) are the flux and current at the boundary xs and β(xs ) is the boundary albedo defined as the ratio of the entering flux over the leaving flux. The upper and lower signs in the left-hand side term are for a left and right boundary, respectively. Find the value of the constant Z. 3.10 Solve the SN approximation in 1D slab geometry using the numerical data of Prob. 3.4. Use a ν-fission cross section of νΣf = 1.4 cm−1 in region 1 and a constant scattering cross section of Σs = 0.05 cm−1 in regions 1, 3 and 5. As before, the unit cell is translated to cover the infinite space using a periodic boundary condition. Use a splitting of two mesh per region and find the effective multiplication factor Keff corresponding to S2 , S6 , S10 , S14 and S18 approximations. Compare with the value obtained with the collision probability (CP) method. 3.11 The Discontinuous Galerkin (DG) method is gaining popularity for implementing the SN approach.[23] In this exercise, we ask you to develop a DG method in 1D slab geometry using linear discontinuous trial functions. First perform the following change of variable with the help of Fig. 3.28:   1 1 u= x − (xi−1/2 + xi+1/2 ) Δxi 2 so that Eq. (3.371) is now written in sub-mesh i as   μn ∂ + Σi Φn,i (u) = Qn,i (u) , n = 1, N Δxi ∂u

(3.594)

(3.595)

The transport equation

191

where the discrete ordinate components of the source are written in terms of its Legendre moments using Eq. (3.375). We now expand the dependent variables in terms of the linear Lagrange polynomials defined over support −1/2 < u < 1/2. The solution Φn,i (u) and the source Qn,i (u) are written as a function of their discontinuous values at mesh-edge. Considering the edge at + xi−1/2 , flux components Φ− n,i−1/2 and Φn,i−1/2 will be distinct. In sub-mesh i, flux and sources are expanded as ⎧ − if u = (−1/2)− ; ⎪ ⎨ Φn,i−1/2 , + − (3.596) Φn,i (u) = Φn,i−1/2 L0 (u) + Φn,i+1/2 L1 (u), if (−1/2)+ < u < (1/2)− ; ⎪ ⎩ Φ+ + , if u = (1/2) n,i+1/2 and

⎧ − ⎪ ⎨ Qn,i−1/2 , + − Qn,i (u) = Qn,i−1/2 L0 (u) + Qn,i+1/2 L1 (u), ⎪ ⎩ Q+ n,i+1/2 ,

if u = (−1/2)− ; if (−1/2)+ < u < (1/2)− ; if u = (1/2)+

(3.597)

where the linear Lagrange polynomials are defined as L0 (u) =

1 −u 2

and

L1 (u) =

1 + u. 2

(3.598)

The DG method is a weighted residual approach where Eq. (3.595) is multiplied by each of the trial function in Eq. (3.598) and integrated over the support of these functions, taking care to include the inflow edge point. The weighted residual integration leads to if μn > 0:

μn Δxi



 (1/2)− μn ∂Φn,i (u) ∂Φn,i (u) + du Lα (u) du Lα (u) − + ∂u Δxi (−1/2) ∂u (−1/2)  1/2  1/2 + Σi du Lα (u) Φn,i (u) = du Lα (u) Qn,i (u); (3.599) (−1/2)+

−1/2

if μn < 0:

μn Δxi



−1/2

 (1/2)+ μn ∂Φn,i (u) ∂Φn,i (u) + du Lα (u) du Lα (u) + − ∂u Δx ∂u i (1/2) (−1/2)  1/2  1/2 + Σi du Lα (u) Φn,i (u) = du Lα (u) Qn,i (u) (3.600) (1/2)−

−1/2

−1/2

where 1 ≤ n ≤ N and 0 ≤ α ≤ 1. (a) Apply the weighted residual approach of Eqs. (3.599) and (3.600) to obtain the DG relationships that should be used as a replacement for Eq. (3.379). (b) Redo Prob. 3.10 by replacing the diamond differencing scheme with the linear discontinuous DG scheme. 3.12 Solve the MOC approximation with the step characteristic scheme and cyclic tracking for periodic boundary conditions in 1D slab geometry using the numerical data of Prob. 3.4. Use a ν-fission cross section of νΣf = 1.4 cm−1 in region 1 and a constant scattering cross section of Σs = 0.05 cm−1 in regions 1, 3 and 5. Use a splitting of two mesh per region and find the effective multiplication factor Keff corresponding to a Gauss-Legendre quadrature of order K = 2, K = 6, K = 10, K = 14 and K = 18. (Hint: Use the tracking generated with script sybslab of Appendix A.1.)

192

Chapter 3

Table 3.6: Two-group nuclear propertiesa Material

Σ1 (cm−1 )

Σ2 (cm−1 )

Σs,1←1 (cm−1 )

Σs,2←2 (cm−1 )

Σs,2←1 (cm−1 )

νΣf,2 (cm−1 )

1 2 3 4 5

0.2222 0.2222 0.2222 0.0 0.1667

0.8333 0.85 0.7033 0.0 1.1111

0.1921 0.1921 0.1921 0.0 0.1265

0.7533 0.7483 0.7033 0.0 1.1011

0.02 0.02 0.02 0.0 0.04

0.135 0.135 0.0 0.0 0.0

(a) Σs,1←2 = 0 and νΣf,1 = 0 for each material √ 3.13 In Prob. 3.6, replace the outer cylindrical surface by a square boundary of side a = 4.9 in order to transform a 1D cylindrical problem into a square pincell. Assume a white boundary condition, put a constant scattering cross section of Σs = 0.05 cm−1 in regions 1, 3 and 5, and put a ν-fission cross section of νΣf = 1.4 cm−1 in region 1. Use the tracking script sybt2d of Appendix A.4 with parameters nangle = 14 and ngauss = 4. (a) Compute the value of Keff using the collision probability method. (b) Compute the value of Keff using the method of characteristics with different values of the polar quadrature order nmu. 3.14 The square pincell of the previous problem is now solved by the multigroup Monte Carlo method using the two-group cross sections of Table 3.6. The fission neutrons are emitted in group 1. A specular reflection is assumed on all boundary surfaces. Material mixtures are defined from inside toward the boundary. Find the effective multiplication factor, with its standard deviation, corresponding to power iteration parameters M = 1000, Ic = 100 and N = 1000. (Hint: Use the Matlab scripts mctrk and mcflx presented in Sects. 3.11.3 and 3.11.4, respectively. Program a Matlab script mctptr following the specifications given in Sect. 3.11.3.)

Chapter 4

Elements of lattice calculation A lattice code is used to compute few-group cross sections in a small component of the reactor as a function of the local operating conditions. This small component can be a unit cell (for example, a CANDU cluster surrounded by the pressure tube and D2 O moderator), a fuel assembly (for PWRs and BWRs) or a slice of the core (in small reactors). This chapter attempts to make a global presentation of lattice calculation techniques and models and to give up-to-date references to related publications. A lattice calculation is generally performed without the knowledge of the operating conditions outside the small component being processed. It is therefore usual to assume that the surrounding components are identical to the one being processed. The term lattice comes from the fact that the calculational geometry repeats itself to infinity. A correction should therefore be applied to ensure that the neutron flux is stationary in the lattice. This correction is generally made using a leakage model based on the homogeneous or heterogeneous Bn equations. Such calculations are often referred to as being performed in a fundamental mode. A few first-generation lattice codes based on the four-factor formula are still in production use today. These codes are reminiscent of the legacy origins of nuclear reactor physics and do not use ENDF/B-based isotopic cross-section libraries. We will focus our attention on the second generation lattice codes featuring a consistent multigroup (between 50 and 400 groups) representation of neutron energies. These codes are based on a collection of models and numerical algorithms linked together as shown in Fig. 4.1. The main components of a typical second generation lattice code are the following: Library access and temperature interpolation. This module has the ability to understand the format of the isotopic cross-section library and to recover the isotopic data that will be used in the remainder of the calculation. The nuclear data√is also interpolated in absolute temperature T , assuming that the cross sections vary as T between the tabulated values. Finally, this module is also used to identify self-shielded and depleting mixtures. Resonance self-shielding calculation. Resonance self-shielding calculations are required to take into account the localized depressions in the weighting flux in cases where an energy group contains many resonances in cross section. The self-shielding module is responsible for computing the equivalent dilution used to interpolate the isotopic cross-section library in each energy group or to weight the resonant cross sections with a fine structure function taking into account the localized depression of the flux. These cross sections are then multiplied by equivalence factors, computed to take into account the non-linear condensation effects in heterogeneous cases. It is a common approach to separate the self-shielding treatment from the main multigroup flux calculation of the lattice code, as depicted in Fig. 4.1. These calculations will be the subject of Sect. 4.2.

194

Chapter 4

Main flux calculation. This module is responsible for computing the neutron flux over the group structure of the library, taking into account the leakage effect. The basic algorithm is the collision probability method (also called the Pij method) although some recent lattice codes use a heterogeneous characteristics method. The leakage rates and leakage coefficients are computed using a homogeneous or heterogeneous Bn calculation, as presented in Sect. 4.3. The solution techniques of the transport equation are explained in Chapter 3. Homogenization and condensation of the reaction rates. Here, the integrated fluxes and target reaction rates corresponding to various partial cross sections are summed over the few groups and few zones of the output geometry. Direct weighted cross sections (i.e., with flux-volume weighting) are also computed. SPH factor calculation. Direct-weighted cross sections do not allow the target reaction rates to be preserved except in the case where the output geometry is homogeneous. A superhomog´en´eisation (SPH) equivalence procedure can be used to force the preservation of reaction rates. A Selengut correction may also be applied to force the preservation of the average boundary flux, even in the case where the output geometry is homogeneous. The SPH method will be described in Sect. 4.4. Other equivalence techniques, based on discontinuity factors can also be used.[70, 71] Isotopic depletion calculation. This important capability of the lattice code enables us to take into account the in-core and out-of-core depletion of every material selected from the isotopic cross-section library. We should also compute the fission product buildup in nuclear fuel. The depletion equations form a first-order ordinary differential equation system that is solved to obtain the number densities of the various isotopes present in the nuclear reactor. The isotopic depletion calculation is described in Sect. 4.5. Note that the above description is an idealized view of a lattice calculation. In practical cases, many shortcuts are used: • It is possible to use a simplified geometry to perform the self-shielding calculation. For example, there is no need to subdivide the moderator or coolant regions in the selfshielding calculation. • It is possible to perform the main flux calculation in two steps: The first step is carried out with a simplified geometry, using the full-multigroup definition of the isotopic crosssection library. The cross sections are then condensed to a smaller number of neutron groups (between 6 and 20 groups) using the fluxes of the first step. The second step is carried out with a detailed geometry, using the condensed cross sections.

4.1

A historical overview

Different lattice codes have been developed over the years. Figure 4.2 shows a historical overview of their development. All these codes are considered second-generation lattice codes as they rely on a fine group representation of the energy variable (typically between 50 and 400 groups). These codes are noticeable in that they don’t use the four-factor formula nor do they assume Maxwell or Westcott flux distributions. Instead, they solve the neutron transport equation in space and energy, using microscopic cross-section data measured or evaluated using nuclear physics models. Generally speaking, these codes link the world of nuclear physics and nuclear engineering. Multigroup lattice codes are therefore expected to retain their accuracy in a wider class of physical situations than codes based on the four-factor formula. However, such

Elements of lattice calculation

195

Isotopic cross-section library

Library access and temperature interpolation

Microlib

Infinite dilution values

Resonance self-shielding calculation

Geometry

Microlib

Self-shielded values

Neutron flux calculation Bn leakage calculation Solution of the transport equation Buckling search

Depletion calculation

Neutron flux

Output geometry

Homogenization and condensation of the reaction rates

Cross Few-group values sections

Target reaction rates

SPH factor calculation

Database management tool

Reactor database

Figure 4.1: Data flow for lattice calculations.

multigroup lattice codes are an order of magnitude more complex to write and their accuracy is strongly influenced by the quality of the microscopic cross-section data. Every multigroup lattice code seems to originate from THERMOS[72] , developed at MIT in 1960 or from WIMS[73] , developed at Winfrith in 1966. Whereas THERMOS was limited to the thermal energy range, WIMS already encompasses complete functionality of a lattice code: treatment of the complete energy domain, a resonance self-shielding model and diffusion coefficient calculation. These two codes have led to a variety of descendants, as illustrated in Fig. 4.2, and encompass advances in reactor physics and improvement of computer hardware. Development of the WIMS family at Winfrith was straightforward: WIMS-D2 in 1970, WIMS-D4 in 1975 and, finally, WIMS-E in 1982[74] and WIMS7 in 1996[75] . WIMS-E is worth

196

Chapter 4

HELIOS 1991

PHOENIX 1980 CASMO3 1988

EPRI-CPM 1977

WIMS 1966

WIMS-D2 1970

WIMS-D4 1975

EXCALIBUR 1970 THERMOS 1960

APOLLO-1 1973

1970

CASMO4 1995

WIMS-E 1982

CASMO5 2006

WIMS7 1996

WIMS10 2015 WIMS-AECL v3 2005

WIMS-AECL 1982 HETAIRE 1978

ECCO 1995

APOLLO-1 2D 1979

APOLLO2

TRANSX-CTR 1984 1960

HELIOS-2 2009

1980

APOLLO2

v2.0

v2.5

1987

1999 DRAGON v1.0

1991 1990

DRAGON

APOLLO3 2016 DRAGON

v3.01

1996 2000

DRAGON

v4.0

v5.0

2006

2014 2010

2020

Figure 4.2: Historical overview of lattice-code development.

noting because it implements modular coding in which each function of the code is performed by an independent module that communicates with other modules using disk files. However, this implementation was found to be significantly slower than the WIMS-D approach to solve a given problem and has constrained Winfrith to continue supporting WIMS-D4 over the years. A parallel development branch leads to the CASMO family of code which is widely used for PWR and BWR production work.[51] Another worthwhile contribution is the branch made of codes PHOENIX and HELIOS.[76, 77] HELIOS is a two-dimensional, generalized geometry lattice code with a resonance self-shielding methodology based on the subgroup method. HELIOS2 transport calculations may be performed with either a collision probabilities or Method of Characteristics solver. HELIOS-2 also includes an updated 172-group neutron and 48-group gamma library, based on the ENDF/B-VII evaluation, for coupled neutron-gamma transport. WIMS-D2 was transferred to Chalk River National Laboratories (Canada) in 1971 and served as the basis for the development of WIMS-CRNL.[78] Modifications were required in order to adapt the code to the specific architecture of a Cyber computer and to the various types of lattice cells under investigation at CRNL. The latest version of the code is now known as WIMS-AECL and is widely used across Canada. The discretization of the transport equation in WIMS-AECL can be performed using both a collision probability (CP) and a discrete ordinate method for various types of 1D and 2D geometries. The V3 release of WIMS-AECL features extended geometry capabilities, as required for the design of advanced CANDU reactors. Parallel to the British effort, a French team, located at Saclay, developed the APOLLO family of codes. The first element was a code named EXCALIBUR and based on CP methods to solve the multigroup neutron transport equation.[79] This code also included the LivolantJeanpierre resonance self-shielding procedure and a homogeneous B1 leakage model embedded in the flux iteration.[80] However, since EXCALIBUR was intended to solve fast reactor problems it lacked the multigroup treatment of thermalized neutrons. APOLLO1 was therefore conceived as the union of EXCALIBUR plus a thermalization treatment similar to the one found in THERMOS.[81] This first version was limited to the treatment of 1D geometries, but various 2D geometries were subsequently added. The final version, named APOLLO1 2D, was finally released in 1979 with 1D and 2D collision probability modules. The code EXCALIBUR also led to the development of HETAIRE for treating fast breeder lattices.[82] This code was obtained by replacing the Livolant-Jeanpierre self-shielding procedure of APOLLO1 with a subgroup method and by creating a new library of cross sections and probability tables. This work was performed in another French laboratory, located at Cadarache. The code system ERANOS, including the lattice code ECCO, was released in 1995 in order to support liquid-metal fast-breeder reactor R&D in Europe.[83, 84] Recently, the ECCO

Elements of lattice calculation

197

code was included in the WIMS10 release of the British lattice code, together with 3D MOC capabilities.[85] However, APOLLO1 suffers from the obsolescence of its programming style and the lack of quality control. The APOLLO2 project was therefore set up as the opportunity to use modular programming techniques and to recode the whole software into a new langage, named ESOPE, a super set of FORTRAN-77 with structures, pointers and dynamic allocation of memory.[86, 87] The first commercial version of APOLLO2 was released in 1987. The APOLLO3 project was initiated in May 2007 with the objective to develop a new multi-system deterministic code in reactor physics, based on a modern Unified Modeling Language (UML) software specification.[88] APOLLO3 is intended to replace both ERANOS and APOLLO2 and is including both lattice calculation and full-core simulation tools. ´ During the same period, DRAGON was developed at Ecole Polytechnique de Montr´eal with the capabilities required for both production and R&D work.[89] Its characteristics will be described more precisely in Sect. 4.7. Some of these characteristics are required in a university environment where research activities are predominant. DRAGON5, released in 2014, is a 64-bit clean version of the code, written in Fortran 2003 around an ANSI C kernel.[90] Lattice calculation theory is peculiar to the field of reactor physics in the sense that most of the useful information is confidential and that the codes themselves are commercial products. The only textbook available is Ref. [91] by Stamm’ler and Abbate. The original paper on WIMS[73] and the DRAGON documentation[89] are also helpful.

4.2

Neutron slowing-down and resonance self-shielding

Neutron slowing-down is mainly due to scattering reactions of neutrons on the various nuclides present in the reactor. The lighter the nuclide, the more efficient is the slowing-down. The dynamics of an elastic scattering reaction and the determination of the corresponding collision law are treated in Sects. 2.3 and 2.6. In the case of an inelastic scattering, the secondary nucleus is left in an excited state. The threshold of this reaction is of the order of 50 keV for a heavy nuclide and of 1 MeV for a light nuclide. A neutron will lose a large fraction of its initial energy during an inelastic scattering reaction; however, these reactions only occur at high neutron energies and with relatively small cross-section values. The primary slowing-down process is the elastic scattering reaction where the kinetic energy of the particles is conserved. At energies of the incident neutron greater than a few eV, thermal agitation of nuclides and binding effects vanishes and the elastic scattering reaction leads to a pure slowing-down effect. In this case, the transport Eq. (3.49) simplifies to ⎡ ⎤ J  1 ⎣ Ω · ∇φ(r, u, Ω) + Σ(r, u) φ(r, u, Ω) = Sf (r, u) + Rj {φ(r, u)}⎦ (4.1) 4π j=1 where Sf (r, u) is the fission source and where we assumed that the scattering reaction is isotropic in the LAB. We introduced ρj (r, u) ≡ Rj {φ(r, u)} as the elastic slowing-down operator of isotope j. With the help of Eq. (2.83), it is defined as  u ρj (r, u) ≡ Rj {φ(r, u)} = du Σs0,j (r, u ← u ) φ(r, u ) 0  u  1 du eu −u Σsj (r, u ) φ(r, u ) (4.2) = 1 − αj u− j where Σs0,j (r, u ← u ) is the zeroth Legendre moment of the differential scattering cross section and j is the maximum lethargy jump a neutron can do using an elastic collision with a nucleus

198

Chapter 4

of type j and mass ratio Aj (the ratio of the nucleus mass over the neutron mass). Note that ρj (r, u) du is the number of neutrons that will come out with a secondary lethargy equal to u (within a du interval) per unit time. Note that the integration in primary lethargy u is limited to values smaller than the secondary lethargy u. The parameters αj and j are defined as  αj =

Aj − 1 Aj + 1

2 and

j = ln

1 . αj

(4.3)

In cases where the j-th isotope is resonant, the corresponding scattering cross section Σs0,j (r, u) must be Doppler broadened as explained in Sects. 2.6.1 and 2.6.2. The isotropic approximation for the source is generally used in the resonance self-shielding calculation in Fig. 4.1. A more exact representation of angular anisotropy can be set later, in the neutron flux calculation. The multigroup solution approach of Sect. 3.5 is only valid when the weighting flux is known or when the energy groups are sufficiently small to assume constant behavior of the cross-section values in each of them. In the energy domain where slowing-down occurs, many cross sections are resonant, with resonance widths that become smaller for heavier nuclides. Using the lethargy as an independent variable also creates a scaling effect in which the resonances at high energy appear thinner. The resonant absorption mechanism is based on different isotopes j playing antinomy roles: • The light isotopes are mostly responsible for the slowing-down of neutrons but are not the largest cause of absorption. This is also true for LMFBRs where the Oxygen, Sodium and structural materials play this role. • The heavy isotopes are mostly responsible for the resonant absorption of neutrons but are not the largest cause of slowing-down. The correct solution of Eq. (4.1) requires a fine multigroup discretization of each resonance in the resolved energy domain. In the presence of heavy nuclides, many tens of thousands of energy groups are required, making such calculation potentially expensive. This approach is used in the GROUPR module of NJOY, but only for an infinite and homogeneous geometry.[16, 17] Heterogeneous geometries can also be processed, leading to fine-multigroup reference calculations. In every case, we observe that both cross sections and φ(r, u) exhibit resonant behavior with peaks and minima in opposite directions. A self-shielding model is an algorithm that produces average (or self-shielded) cross sections defined over coarse energy groups. The coarse multigroup grid contains between 50 and 400 groups, covering the complete energy domain of the neutrons in a nuclear reactor. The neutron flux calculation of Fig. 4.1 is based on this coarse multigroup representation. The energy grid is defined in such a way • to finely discretize any resonance below a selected energy limit Ecut . Ecut = 4 eV is generally used, but higher values are possible. • to ensure that each important resonance above Ecut is completely enclosed in an energy group. An energy group above Ecut may include many resonances. The main problem considered in the resonance self-shielding model is how to use self-shielded cross-section and probability table information, as recovered from the isotopic cross-section library. The final objective is to evaluate σ ˜ρ,i,g , the microscopic self-shielded cross section for any reaction ρ in region i and coarse group g, which is formally defined as

Elements of lattice calculation

u (g

σ ˜ρ,i,g = μi,g

du σρ,i (u) φi (u)

ug−1 u (g

= μi,g du φi (u)

σρ,i φi g φi g

199

(4.4)

ug−1

where ug−1 , ug = lethargy limits of group g μi,g = superhomog´en´eisation (SPH) factor in region i obtained from the multigroup equivalence procedure. This factor will be defined more precisely in Sect. 4.2.6 φi (u) = averaged neutron flux in region i where the cross section is defined σρ,i (u) = microscopic cross section for nuclear reaction ρ in region i.

Absorption rate (1/cc/s)

At this point, we need to decide if we want to represent distributed self-shielding effects. The principle is to assign many sub-regions Vi to the resonant part of the geometry and to consider many resonant regions in the self-shielding calculation. This possibility allows the subdivision of a fuel rod into annuli and the representation of the Plutonium buildup in the outer ring with better accuracy. The so-called rim effect is represented in Fig. 4.3 where we see the effect on the absorption rate distribution of using one or six resonant regions in the self-shielding calculation. This capability is a characteristic of advanced self-shielding models.

1.2

1.0

0.8

0.6

0.4

0.2 0.1

0.2

0.3

0.4 Radius (cm)

Figure 4.3: The rim effect in a fuel rod.

4.2.1

Elastic slowing down

It is possible to rewrite the slowing down Eq. (4.1) in terms of the slowing-down current q(u) defined as the number of neutrons that will cross lethargy u per unit time. The count is performed for neutrons having a primary lethargy u smaller than u and a secondary lethargy u greater than u. The slowing-down current is defined as  ∞  u du du Σs0,j (r, u ← u ) φ(r, u ). (4.5) qj (r, u) ≡ Qj {φ(r, u)} = 0

u

200

Chapter 4

The slowing-down operator ρj (r, u) defined in Eq. (4.2) is a distribution in u although the slowing-down current qj (r, u) defined in Eq. (4.5) is a function of u. The term slowing-down density used in some textbooks to represent qj (r, u) should be avoided. The slowing-down current can be derived with respect to u, leading to d qj (r, u) = Σsj (r, u) φ(r, u) − ρj (r, u) du

(4.6)

where we used the identity d du



u

du A(u, u ) = A(u, u) +



0

u

du

0

∂A . ∂u

(4.7)

Assuming elastic scattering, Eq. (4.5) can be written qj (r, u) =

1 1 − αj

1 = 1 − αj



u



u− j u

du







du eu −u Σsj (r, u ) φ(r, u )

u



  du eu −u − αj Σsj (r, u ) φ(r, u )

u− j

= ρj (r, u) −

u + j

αj 1 − αj



u

du Σsj (r, u ) φ(r, u ).

(4.8)

u− j

Let us now consider a fixed neutron source located in an infinite and homogeneous material made of a single isotope. Equation (4.1) can be simplified into the first form of the slowing-down equation, as ρ(u) = Σ(u) φ(u) − Sf (u). (4.9) Moreover, the substitution of Eq. (4.6) into Eq. (4.9) leads to a transport equation written in terms of the slowing-down current. The second form of the slowing-down equation is written d qj (u) = Sf (u) − Σa (u) φ(u). du

(4.10)

The Placzek transient problem is a classical application of the elastic slowing-down equations introduced above. A normalized source emits one monokinetic neutron per unit time and volume at lethargy u = 0 in a non-absorbing, infinite and homogeneous material. In this case, Eqs. (4.9) and (4.10) simplify to ρ(u) = Σs (u) φ(u) − δ(u) (4.11) and

d q(u) = δ(u) du where the Dirac delta function is used to represent the source. Equation (4.12) is easily integrated in lethargy, leading to a Heaviside function: / 0 if u ≤ 0 q(u) = H(u) = 1 otherwise. The flux equation is obtained by substituting Eqs. (4.11) and (4.13) in Eq. (4.8):  u α H(u) + du Σs (u ) φ(u ) + δ(u) = Σs (u) φ(u). 1 − α u−

(4.12)

(4.13)

(4.14)

The neutron flux, as solution of Eq. (4.14), presents discontinuities for values of the lethargy equal to , 2 , etc. and its limit as u → ∞ tends toward a constant value. This behavior, depicted in Fig. 4.4, is typical of Placzek transients.

Elements of lattice calculation

201

ξ Σs φ 1.4

1.2

1

A=2 A=100

A=2 0.8

A=4 A=12 0.6

A=100 0

0.5

1

1.5

2

2.5

3

u/ε

Figure 4.4: First two Placzek transients.

If 0− ≤ u ≤ 0+ , the solution of Eq. (4.14) is φ(u) = δ(u)/Σs (u). For values 0 < u ≤ , we write  u α α 1+ + du Σs (u ) φ(u ) = Σs (u) φ(u) (4.15) 1 − α 1 − α 0+ so that

1 α + 1−α 1−α



u

du Σs (u ) φ(u ) = Σs (u) φ(u)

0+

Assuming a solution of the form φ(u) =

C Σs (u)

if 0 < u ≤ .

(4.16)

eβu , Eq. (4.16) becomes

βu αC 1 + e − 1 = C eβu 1 − α β (1 − α)

(4.17)

so that β = α/(1 − α) and C = 1/(1 − α). The first Placzek transient is therefore φ(u) =

α u 1 e (1−α) (1 − α) Σs (u)

if 0 < u ≤ .

For values < u ≤ 2 , we write 

 u  α α α  (1−α) u 1+ du e + du Σs (u ) φ(u ) = Σs (u) φ(u) (1 − α)2 u−

1−α

so that 1+

1 1−α



α

α

e (1−α) − e (1−α)

(u − )

 +

α 1−α



u

du Σs (u ) φ(u ) = Σs (u) φ(u).

(4.18)

(4.19)

(4.20)



The solution of Eq. (4.20) is the second Placzek transient. Its analytical expression is  α

 α (u − ) 1 α (1−α) φ(u) = e (u − ) e (1−α) −α− if < u ≤ 2 . (4.21) (1 − α) Σs (u) 1−α

202

Chapter 4

For values of u >> , the scattering density Σs (u) φ(u) becomes regular, so that the integral in Eq. (4.14) can be written  u du Σs (u ) φ(u ) = Σs (u) φ(u). (4.22) u−

Equation (4.14) simplifies to 1+

α

Σs (u) φ(u) = Σs (u) φ(u) 1−α

(4.23)

and the flux tends to its asymptotic value φ(u) =

1 ξ Σs (u)

if u >>

where we introduced the average lethargy gain ξ as α . ξ =1− 1−α

4.2.2

(4.24)

(4.25)

A review of resonance self-shielding approaches

A first class of resonant self-shielding models is based on rational expansions of fuel-to-fuel collision probabilities, either in close or open cell (or assembly). In its simplest form, this technique reduces to the Bell-factor approximation applied on a cylindrical fuel pin. This class of models originates from WIMS[73] and is still used in many legacy codes in some advanced form. Helpful extensions have been proposed by Stamm’ler[76, 91] (code PHOENIX) and later by H´ebert and Marleau[92] (code DRAGON[89] , module SHI:) to increase the number of terms in the rational expansions. Another class of resonant self-shielding models relies on the subgroup (or multiband) approach in which the detailed energy-dependent cross-section behavior in each coarse energy group is replaced by its probability density representation.[10, 11] An accurate discretization of each probability density is then obtained, leading to quadrature sets called probability tables. These probability tables are subsequently used within the flux solution algorithm of the subgroup method. The subgroup approach is handicapped by an approximation, made in the flux solution algorithm, which is not valid in the resolved energy domain. This approximation assumes that the resonances in the scattering sources are not correlated with the resonances in the main collision term of the transport equation. The subgroup approach is therefore favored for fast breeder lattice calculations where the weight of the resolved energy domain is low. The basic idea behind this class of models is to replace all Riemann integrals over resonant quantities in energy with Lebesgue integrals in total cross section and to discretize these Lebesgue integrals with probability tables. The resulting equation is called a subgroup equation and has the form of an ordinary transport equation. It can be solved by classical approaches, such as the CP, discrete-ordinates or characteristics method. Variants of this approach are used in the following codes: EXCALIBUR, APOLLO1, APOLLO2, HETAIRE, ECCO, HELIOS, WIMS7 and DRAGON Version 4. For the modeling of thermal lattices, in the context of the existing or proposed self-shielding methodologies, the non-correlation approximation can be corrected in many different ways: 1. In the works of Halshall[93] (code WIMS7), Stamm’ler[77] (code HELIOS) and in the USS: module of DRAGON, the non-correlation approximation was corrected by computing physical probability tables preserving a tabulation of self-shielded cross sections obtained after an elastic slowing-down calculation of each resonant isotope with a diluent. This approach is presented in Sects. 4.2.4 and 4.2.5.

Elements of lattice calculation

203

2. The probability tables can be computed using a straightforward transformation of the pointwise cross-section information available in the PENDF file.[16, 17] In the works of Cullen[12] and Rimpault[84] (code ECCO), the mathematical probability tables are computed in such a way as to preserve selected moments of the resonant cross sections. In this case, the non-correlation approximation is corrected by using hundreds of energy groups to represent the complete energy domain. Cullen reported using 650 groups and Rimpault, with a CALENDF technology[14] , reported using 1968 or 3532 groups. A careful selection of energy group limits permitted to reduce this number to 295 groups in Ref. [15], but this number appears to be a minimum. 3. The Sanchez-Coste self-shielding method used in APOLLO2 for production calculations is not stricto sensu a subgroup approach, as the two following algorithms are used:[94, 95] • Mathematical probability tables are computed over the resonant groups of a coarse energy grid containing only 99, 172 or 281 groups. The probability table components are obtained in a consistent way using the CALENDF formalism.[14] • Using CALENDF components does not allow us to represent slowing-down effects in the resolved energy domain. The APOLLO2 self-shielding model therefore relies on an equivalence in dilution approach aimed at finding an infinite and homogeneous mixture that features the same absorption reaction rate as the heterogeneous problem. The flux in the homogeneous mixture is found by using the same probability table already used for the heterogeneous problem. The homogeneous problem is characterized by a single dilution value that is finally used to interpolate dilutiondependent cross sections. This approach is an outgrowth of concepts already introduced in codes EXCALIBUR and APOLLO1.

4.2.3

The Livolant-Jeanpierre approximations

Consider the neutron slowing-down equation defined over a multidimensional geometry. We will first assume that the domain contains a single resonant isotope. The neutron flux is the solution of a formula similar to Eq. (4.1): Ω · ∇φ(r, u, Ω) + Σ(r, u) φ(r, u, Ω) =

 1  + R {φ(r, u)} + R∗ {φ(r, u)} 4π

(4.26)

where R+ {φ(r, u)} = slowing-down operator for nuclear reactions with non-resonant isotopes R∗ {φ(r, u)} = slowing-down operator for nuclear reactions with a single heavy isotope and it is assumed that neutron sources originating from inelastic, (n,xn) and fission nuclear reactions vanish over the slowing-down energy domain. The two slowing-down operators can be written as a function of the zeroth Legendre moment  ∗  of the differential scattering cross section Σ+ s0 (r, u ← u ) and Σs0 (r, u ← u ) as follows:  ∞   R+ {φ(r, u)} = du Σ+ (4.27) s0 (r, u ← u ) φ(r, u ) 0

and R∗ {φ(r, u)} =





du Σ∗s0 (r, u ← u ) φ(r, u ).

(4.28)

0

We next simplify Eq. (4.26) by using a set of approximations proposed by Livolant and Jeanpierre.[80] We first assume that the neutron flux in each region is factorized as the product of a resonant fine-structure function ϕ(r, u) with a regular distribution in lethargy ψ(r, u) such that φ(r, u, Ω) = ϕ(r, u, Ω) ψ(r, u).

(4.29)

204

Chapter 4

and φ(r, u) = ϕ(r, u) ψ(r, u).

(4.30)

The fine-structure function can be used in the definition of the effective resonance integral Iρ,g for nuclear reaction ρ. Calculation of these effective resonance integrals is the first step of any self-shielding procedure. They are defined as    ug 1 1 3 Iρ,i,g = d r du σρ (r, u) ϕ(u) = d3 r σρ (r), ϕ(r)g (4.31) Vi Δug Vi Vi V i ug−1 where Vi is the volume of the geometry and Δug = ug − ug−1 . The microscopic self-shielded cross sections for reaction ρ in group g was defined by Eq. (4.4). It can now be written Iρ,i,g (4.32) σ ˜ρ,i,g = μi,g ϕi,g where ϕi,g is the averaged fine-structure function in group g, noted as    ug 1 1 3 ϕi,g = d r du ϕ(r, u) = d3 r ϕ(r)g . Vi Δug Vi Vi Vi ug−1

(4.33)

The distribution ψ(r, u) is called the macroscopic flux and represents the asymptotic behavior of the neutron flux between the resonances. This distribution is defined in terms of R+ {φ(r, u)}, which acts as a smoothing operator on the neutron flux: ψ(r, u) =

1 Σ+ s (r, u)

R+ {φ(r, u)}

(4.34)

where Σ+ s (r, u) is the macroscopic scattering cross section of the non-resonant isotopes. The first assumption is based on the fact that the resonant isotope is heavy and that R∗ {φ(r, u)}, the slowing-down operator for the resonant isotope, is acting over a short lethargy range. This results in R∗ {φ(r, u)} = ψ(r, u) R∗ {ϕ(r, u)}. (4.35) A second approximation consists of assuming a spatially flat value for distribution ψ(r, u) across the domain. The substitution of Eqs. (4.29), (4.34) and (4.35) in slowing down Eq. (4.26) and the simplification of the ψ(r, u) distribution leads to Ω · ∇ϕ(r, u, Ω) + Σ(r, u) ϕ(r, u, Ω) =

 1  + Σs (r, u) + R∗ {ϕ(r, u)} . 4π

(4.36)

Equation (4.36) is a simplified transport equation that is solved in the resonance selfshielding calculation module of the lattice code. This is a source equation that is defined only over resonant energy groups. The cross sections Σ(r, u) and Σ∗s0 (r, u) are resonant functions of the lethargy. A few more assumptions are made for R∗ {ϕ(r, u)} at energies where the resonance selfshielding model is applied. We assume that scattering by the absorber is elastic and isotropic in the CM, and that the target nucleus is effectively at rest in the LAB. However, the scattering source at lethargy u will reflect the true material temperature since elastic scattering cross sections are Doppler broadened, as described in Sect. 2.6. This representation is written  u  1 1 ∗ R {ϕ(r, u)} = du eu −u σs∗ (r, u ) ϕ(r, u ) (4.37) N∗ 1 − α u−

where N ∗ is the number density of the resonant isotope and σs∗ (u) is the microscopic elastic scattering cross section of the resonant isotope.

Elements of lattice calculation

205

We now assume that the cross sections of the non-resonant isotopes are uniform in the coarse energy group g under consideration. In the particular case of an infinite and homogeneous medium, Eq. (4.36) simplifies to   + ∗ (4.38) Σ + N ∗ σ ∗ (u) ϕ(u) = Σ+ s + R {ϕ(u)} where σ ∗ (u) is the microscopic total cross section of the resonant isotope. This equation can be written in a form similar to Eq. (2.258), the flux calculator in the GROUPR module of NJOY: [σe + σ ∗ (u)] ϕ(u) = γ σe +

1 R∗ {ϕ(u)} N∗

(4.39)

where we defined the dilution σe and gamma factor γ as σe =

Σ+ N∗

and

γ=

Σ+ s . Σ+

(4.40)

The equation solved in the GROUPR flux calculator is identical to Eq. (4.39) if we set γ = 1. The solution of Eq. (4.39) is therefore identical to the solution φ(u) of the GROUPR flux calculator, taken at a dilution σe , multiplied by γ: ϕ(u) = γ φ(u).

(4.41)

Equation (4.41) is the justification for self-shielding models based on an equivalence in dilution. All averaged quantities such as φg or σρ∗ φg can be interpolated from the tabulation produced by NJOY, as soon as we know the dilution parameter σe of the actual problem. It is then sufficient to multiply these interpolated values by γ to obtain the actual averaged quantities. Such an approach is only valid for representing an infinite and homogeneous medium. However, the APOLLO and WIMS-D families of lattice codes are using successful models for representing a heterogeneous lattice geometry by one or many equivalent homogeneous media. If the medium contains many resonant isotopes, we perform a different self-shielding calculation of each of them, assuming that all the other admixed isotopes are non-resonant. Any admixed resonant isotope is represented by its self-shielded cross sections that are used as components to compute Σ+ and Σ+ s . Outer iterations must be performed in order to converge on self-shielded cross sections for all the resonant isotopes present in the medium. This simple approach is sufficient to represent mixtures of different resonant isotopes, as long as their lowenergy resonances are not overlapping. If overlapping occurs, one must select a more advanced self-shielding model with capabilities to represent mutual shielding effects. Another option is to finely discretize these overlapping resonances with the multigroup energy mesh of the main flux calculation and to avoid using a self-shielding model at these energies.[96] Before proceeding with specific self-shielding models, we will introduce classical approximations of the slowing-down operator in an infinite and homogeneous medium. First assume that no resonance is present in the interval u − < u ≤ u. In this case, σs∗ (u) is equal to the microscopic potential cross section of the resonant isotope σp∗ . The slowing-down operator between resonances is given as  u  1 1 ∗ ∗ σ R {ϕ(u)} = ϕ(u) du eu −u = σp∗ ϕ(u). (4.42) N∗ 1−α p u−

Substituting Eq. (4.42) into Eq. (4.39) leads to the expression of the fine structure function between resonances, so that ϕ∞ (u) = γ. (4.43) The narrow resonance (NR) model consists in assuming that the resonances of the resonant isotope are narrow with respect to the maximum lethargy gain and are isolated. In this

206

Chapter 4

case, any secondary neutron emitted at a resonance energy is due to a collision of a neutron from the preceding lethargies in u − < u < u. If the resonance is isolated, σs (u ) = σp∗ and ϕ(u ) = ϕ∞ (u ) at this lethargy so that Eq. (4.37) reduces to  u  1 1 ∗ R {ϕ(u)} = du eu −u σp∗ ϕ∞ (u ) = γ σp∗ . (4.44) N∗ 1 − α u−

The NR fine structure function at the resonance lethargies is known as the Bondarenko flux. It is written σp∗ + σe ϕnr (u) = γ ∗ . (4.45) σ (u) + σe The wide resonance (WR) model consists in assuming that the resonances of the resonant isotope are large with respect to the maximum lethargy gain . In this case, the neutron will undergo many scattering collisions inside the resonance so that σs∗ (u ) ϕ(u ) will be almost constant in interval u − < u < u, so that Eq. (4.37) reduces to  u  1 1 ∗ R {ϕ(u)} = du eu −u σs∗ (u) ϕ(u) = σs∗ (u) ϕ(u) (4.46) N∗ 1 − α u−

and the WR fine structure function at the resonance lethargies is ϕwr (u) = γ

σ ∗ (u)

σe . − σs∗ (u) + σe

(4.47)

The statistical resonance (ST) model consists in assuming that the resonances of the resonant isotope are narrow with respect to the maximum lethargy gain and are numerous. In this case, any secondary neutron emitted at a resonance energy is due to a collision of a neutron from the preceding lethargies in u − < u < u where other narrow resonances are present, so that Eq. (4.37) reduces to 1 R∗ {ϕ(u)} = σs∗ ϕg (4.48) N∗ and the ST fine structure function at the resonance lethargies is ϕst (u) =

σs∗ ϕg + γ σe . σ ∗ (u) + σe

(4.49)

The Goldstein-Cohen approximation consists in assuming that the resonances of the resonant isotope are intermediate and that the corresponding slowing-down operator can be represented by a linear combination of a NR and a WR model.[97] We write 1 R∗ {ϕ(u)} = λg γ σp∗ + (1 − λg ) σs∗ (u) ϕ(u) N∗

(4.50)

where λg is the Goldstein-Cohen parameter, adjusted between 0 and 1, corresponding to WR and NR approximations, respectively. The Goldstein-Cohen fine structure function at the resonance lethargies is λg σp∗ + σe ϕgc (u) = γ ∗ . (4.51) σ (u) − (1 − λg ) σs∗ (u) + σe

4.2.4

The physical probability tables

We are presenting a self-shielding model based on the theory of probability tables and on subgroup equation, as introduced by Levitt and Nikolaev.[10, 11] The proposed model makes use of physical probability tables, as described in this section.

Elements of lattice calculation

207

Before proceeding further, it is necessary to clarify a point related to the terminology. Levitt introduced the term probability table to describe a quadrature set in which the base points in cross section are fixed a priori. The terms subgroup and multiband were introduced by Nikolaev and Cullen, respectively, to describe a quadrature set in which the base point and weights are simultaneously computed. In the following text, we will use the terminology proposed by Ribon.[13] A probability table will be viewed as a quadrature set representing a probability density with a set of Dirac delta distributions. The term subgroup equation will be used to represent a transport equation in which some probability densities are replaced with probability tables. Finally, note that the Levitt-defined probability tables with fixed base points are never used in our work. As depicted in Fig. 4.5, the physical probability table corresponding to the total cross section in group g is computed so as to match the numerical integration results with the tabulated values for discrete values of the microscopic dilution cross section σe to a given accuracy: ) σ(σe ) = )

*

σ σ + σe

*g =

1 σ + σe

g

K  ωk σk σk + σe

k=1 K  k=1

(4.52) ωk σk + σe

with the infinite-dilution microscopic total cross section defined as σ(∞) = σ M +1 =

1 Δug



ug

du σ(u) = ug−1

K 

ωk σk .

(4.53)

k=1

Self-shielded total cross section (barn)

40

35

30

25

20

15

10

5

0 1

100

10000

1e+06

1e+08

1e+10

Dilution (barn)

Figure 4.5: Root-mean-square fit of the dilution-dependent total cross sections. Determination of the probability table coefficients in Eq. (4.52) is a curve-fitting problem which can be carried out as a root-mean-square (RMS) Pad´e approximation. A table containing M finite dilutions can be written as σe,1 σ1

σe,2 σ2

... ...

σe,M σM

∞ . σ M +1

(4.54)

In this technique, the following Pad´e approximation is obtained directly from a regression

208

Chapter 4

procedure: σ(σe ) =

c0 + c1 σe + . . . + cΛ−1 σeΛ−1 + cΛ σeΛ , d0 + d1 σe + . . . + dΛ−1 σeΛ−1 + σeΛ

(4.55)

where Λ = M/2. A linear overdetermined system of equations is written, based on each of the M finite values of the dilution σe,n in the table of Eq. (4.54). Setting σe = ∞ in Eq. (4.55), we can evaluate one of unknown coefficients as cΛ = σ(∞). (4.56) The linear overdetermined system of equations is written as 1 / Λ−1 [σ(σe,n ) − σ(∞)] σe,n = Λ−1 c0 + c1 σe,n + . . . + cΛ−1 σe,n σe,n Λ−1 − σ(σe,n ) d0 + d1 σe,n + . . . + dΛ−1 σe,n

!0 (4.57)

where 1 ≤ n ≤ M and 0 ≤ Λ ≤ M/2. This linear system is put into a matrix notation as Ax = y

(4.58)

where A is a m × n matrix with m = M , n = 2Λ and where x = col{c0 , c1 , . . . , cΛ−1 , d0 , d1 , . . . , dΛ−1 }

(4.59)

and y = col{[σ(∞) − σ(σe,1 )] σe,1 , [σ(∞) − σ(σe,2 )] σe,2 , . . . , [σ(∞) − σ(σe,M )] σe,M }.

(4.60)

The linear system (4.58) is to be solved, so that the L2 norm Ax−y 2 is minimized. Deter −1 mining x from the normal equation x = A A A y is likely to produce numerical instabilities 2 due to the deteriorated condition number of the normal matrix, as cond2 A A = [cond2 (A)] . A solution of Eq. (4.58) based on the QR factorization of matrix A is less susceptible to numerical instabilities.[98] Using successive Householder transformations, the matrix A ∈ m×n with m ≥ n is factorized as   R1 A = QR = Q (4.61) R2 where Q is an orthogonal m × m matrix, R1 is an upper n × n triangular matrix and R2 is a (m − n) × n matrix that is not computed and not used. Another important issue is related to this regression procedure. In order to avoid the generation of negative base points, we must ensure that c ≥ 0 and d ≥ 0 ∀ in Eq. (4.55). This condition can be obtained by using a nonnegative least squares fit (NNLS), as described in Ref. [99]. The revised problem can be stated as NNLS problem Given a matrix A ∈ m×n and the set of observed values given by y ∈ m , find a nonnegative vector x ∈ n to minimize the functional f (x) = 12  A x − y2 , i.e., 1 min f (x) =  A x − y2 , subject to x ≥ 0. x 2

(4.62)

The least-square problem (4.62) was solved for all orders 0 ≤ Λ ≤ M/2. For each order, a straightforward deflation procedure is applied in order to get rid of meaningless roots, so that

Elements of lattice calculation

209

Eq. (4.55) could be used to compute the probability tables. The deflation procedure consists in factoring the two polynomials as σ(σe ) =

cΛ (σe − r1 )(σe − r2 ) . . . (σe − rΛ ) . (σe − s1 )(σe − s2 ) . . . (σe − sΛ )

(4.63)

Eq. (4.63) is next simplified using the following strategy: • ∀i, if |ri − si | ≤ |si |, where is an arbitrary small number, Eq. (4.63) is multiplied by (σe − si )/(σe − ri ). The case si > 0 never occurs if the NNLS strategy is used. The resulting approximation is written cΛ (σe − r1 )(σe − r2 ) . . . (σe − rL ) (4.64) σ(σe ) = (σe − s1 )(σe − s2 ) . . . (σe − sL ) where L ≤ Λ. This equation is finally rewritten in the form of Eq. (4.55): σ(σe ) =

c0 + c1 σe + . . . + cL−1 σeL−1 + cL σeL . d0 + d1 σe + . . . + dL−1 σeL−1 + σeL

(4.65)

Note that the condition cL = cΛ is preserved with this procedure. Any solution with complex or negative roots is eliminated in order to ensure that the coefficients {c , d ;  = 0, L} are real numbers. The best remaining solution, in terms of RMS accuracy, is used to compute the probability tables using Eqs. (4.66) to (4.68). We next compute the base points σk of the probability table. These values satisfy the following non-linear relation:  K K   ωk ω k σk ; ∀σe . = σ(σe ) (4.66) σk + σe σk + σ e k=1

k=1

It can be shown that the base points are the roots of the following polynomial of degree K = L + 1: (−σ)L+1 + (dL−1 + cL ) (−σ)L + (dL−2 + cL−1 ) ×(−σ)L−1 + . . . − (d0 + c1 ) σ + c0 = 0.

(4.67)

The corresponding weights are obtained using (−σk ) ωk =

K−1

+

K−2 %



(−σk ) d

=0 K 8

; k = 1, K.

(4.68)

(σ − σk )

=1 =k

The physical probability table corresponding to a partial cross section σρ allows us to write its dilution dependence as ) σ ρ (σe ) = )

σρ σ + σe 1 σ + σe

* *g = g

K  ωk σρ,k σk + σe

k=1 K  k=1

(4.69) ωk σk + σe

210

Chapter 4

with the infinite-dilution microscopic partial cross section defined as σ ρ (∞) = σ ρ,M +1 =

1 Δug



ug

du σρ (u) = ug−1

K 

ωk σρ,k .

(4.70)

k=1

The base points σρ,k corresponding to a partial reaction ρ can be obtained in a compatible way. The numerator of a rational approximation of σ ρ (σe ) is first obtained using a least-square polynomial fit of the form σ ρ (σe ) =

gρ,0 + gρ,1 σe + . . . + gρ,L−1 σeL−1 + gρ,L σeL d0 + d1 σe + . . . + dL−1 σeL−1 + σeL

(4.71)

where gρ,L = σ ρ (∞) and where the denominator of Eqs. (4.65) and (4.71) are taken to be equal. It can be shown that the corresponding base points are given as K−1 %

(−σk ) gρ,

=0

σρ,k = (−σk )

K−1

+

K−2 %

; k = 1, K.

(4.72)



(−σk ) d

=0

This approach was successful in creating the physical probability tables used in the ST subgroup model.

4.2.5

The statistical subgroup equations

The statistical self-shielding model proposed in Ref. [100] is an implementation of the subgroup equations introduced by Cullen in Ref. [102]. Physical probability tables are conveniently computed by fitting dilution-dependent cross sections directly obtained from NJOY. This approach is very similar to the method implemented in WIMS7 and Helios.[75, 77] It is precisely the method implemented in DRAGON.[89] It can be used as a stand-alone self-shielding technique at all energies with acceptable accuracy. The simplified transport equation presented in Eq. (4.36) can be used to describe a heterogeneous case with a unique resonant isotope. Here, we consider its solution over a coarse group g where the non-resonant cross sections are assumed to be constant in lethargy. We write Ω · ∇ϕ(r, u, Ω) + Σ(r, u) ϕ(r, u, Ω) =

 1  + Σ (r) + R{ϕ(r, u)} 4π s

(4.73)

where Σ+ s (r) is the macroscopic P0 scattering cross section of the non-resonant isotopes at position r and R{ϕ(r, u)} is the macroscopic elastic slowing-down operator of the resonant isotope at position r. The ST slowing-down model is based on the assumption that the resonances of the heavy isotope are narrow, numerous and statistically distributed in group g. This model is more accurate than the narrow resonance (NR) model where the resonances are assumed to be isolated, which is not the case at high energies. Another well-known model is the wide resonance (WR) approximation where the resonance widths are assumed to be large with respect to the mean lethargy jump of the neutrons. While the ST model is valid in the unresolved energy domain, the WR model can only be used at low energies. However, an intermediate resonance (IR) model can be selected in the complete resolved energy domain. We propose to represent the heavy slowing-down operator using an expression similar to a Goldstein-Cohen approximation:[97] 1 R{ϕ(r, u)} = λg σs∗ (r) ϕ(r)g + (1 − λg ) σs∗ (r, u) ϕ(r, u) N∗

if

ug−1 ≤ u < ug

(4.74)

Elements of lattice calculation where σs∗ (r) ϕ(r)g =

1 Δug



ug

du σs∗ (r, u) ϕ(r, u)

211

(4.75)

ug−1

and where λg is the Goldstein-Cohen parameter of the resonant isotope in group g. This parameter is set between 0 and 1. We have improved the original IR model of Goldstein and Cohen by replacing the NR-WR model with the ST-WR model. There is no capability in DRAGON for computing λg , as this parameter is generally set to one, in order to obtain a pure ST model, consistent with the representation of the unresolved energy domain. If the Ribon extended model is not available, the ST-WR model must be used and λg is recovered as input data to the self-shielding operator. However, this approach has no capabilities to represent mutual resonance shielding effects. We next define ϕk (r) as the space-dependent flux in subgroup k. Using Eq. (4.74), the subgroup form of Eq. (4.73) is written   Ω · ∇ϕk (r, Ω) + Σ+ (r) + Σk (r) ϕk (r, Ω)   " K  1 + ∗ ∗ ∗ = Σs (r) + N (r) λg ω σs (r) ϕ (r) + (1 − λg ) σsk (r) ϕk (r) 4π =1

(4.76) where Σ+ (r) = macroscopic total cross sections of the non-resonant isotopes at position r Σk (r) = macroscopic total cross section of the resonant isotope in subgroup k ∗ (r) = microscopic P0 scattering cross section of the resonant isotope in subgroup . σs

Before presenting the solution strategy, we need to establish the relation between subgroup data used in Eq. (4.76) and probability table information computed in Sect. 4.2.4. Assuming a pure ST approximation in a homogeneous medium, Eq. (4.76) reduces to 

K   ∗ ∗ ω σs ϕ Σ+ + Σk ϕk = Σ+ s +N

(4.77)

=1

so that ϕk =

σs ϕg + γ σe σ k + σe

(4.78)

with σe =

Σ+ Σ+ and γ = s+ . ∗ N Σ

(4.79)

The flux subgroup components of Eq. (4.78) can be substituted in the expression of σ(σe ), written as K K   ωk σk ω k ϕk σ k σk + σe σ(σe ) = k=1K = k=1 (4.80) K   ωk ω k ϕk σk + σe k=1

leading to an expression identical to Eq. (4.52).

k=1

212

Chapter 4

Equation (4.76) can be solved using an iterative approach. Scattering reduction greatly helps in reducing the total number of iterations. Eq. (4.76) is therefore replaced by   1 ∗ ∗ Ω · ∇ϕk (r, Ω) + Σ+ (r) + Σk (r) ϕk (r, Ω) − N (r) (1 − λg ) σsk (r) ϕk (r) 4π   K  1 ∗ ∗ = Σ+ ω σs (r) ϕ (r) . s (r) + N (r) λg 4π

(4.81)

=1

Equation (4.81) is solved iteratively using the following fixed-point approach:   (n) 1 ∗ (n) (n) ∗ Ω · ∇ϕk (r, Ω) + Σ+ (r) + Σk (r) ϕk (r, Ω) − N (r) (1 − λg ) σsk (r) ϕk (r) 4π 1 (n) S (r) (4.82) = 4π k where the space-dependent sources at iteration (n) are computed from the subgroup flux unknowns of the previous iteration using ∗ Sk (r) = Σ+ s (r) + N (r) λg (n)

K 

∗ ω σs (r) ϕ

(n−1)

(r).

(4.83)

=1

The k-th subgroup flux and reaction rates can be averaged over each resonant region i using   1 1 d3 r ϕk (r) and σρ,i,k = d3 r σρ,k (r) ϕk (r) (4.84) ϕi,k = Vi V i Vi ϕi,k Vi where Vi is the volume if the i-th resonant region. If a collision probability approach is used, Eq. (4.76) is rewritten  # $ K I   + ∗ ∗ ∗ pij,k Σsj + Nj λg ω σsj, ϕj, + (1 − λg ) σsj,k ϕj,k ϕi,k = j=1

(4.85)

=1

where pij,k is a reduced collision probability component computed with the total cross sections of the k-th subgroup, Σ+ sj is the macroscopic P0 scattering cross section of the non-resonant isotopes in region j and Nj∗ is the number density of the resonant isotope in region j. Similarly, Eq. (4.81) is rewritten # $ K I I    + ∗ ∗ ∗ ∗ pij,k Σsj + Nj λg ω σsj, ϕj, δij − Nj (1 − λg ) pij,k σsj,k ϕj,k = (4.86) j=1

j=1

=1

where δij is the delta Kronecker function. This equation can be written in matrix form and used to compute the subgroup flux unknowns at iteration n using [I − Pk S∗sk ] Φk

(n)

(n)

= Pk S k

(4.87)

where I is the identity matrix, Pk is the reduced collision probability matrix computed with the ∗ ; i = 1, I} and where the source total cross sections of subgroup k, S∗sk = diag{Ni∗ (1 − λg ) σsi,k (n)

(n)

S k = {Si,k ; i = 1, I} in subgroup k is computed from the subgroup flux unknowns of the previous iteration using K  (n) (n−1) ∗ ∗ Si,k = Σ+ + N λ ω σsi, ϕi, . (4.88) g i si =1

Elements of lattice calculation

213

After convergence of the subgroup flux unknowns, it is possible to compute the integrated flux ϕi g and reaction rate σρ,i ϕi g for reaction ρ in region i using ϕi g =

K 

ωk ϕi,k

and

σρ,i ϕi g =

k=1

K 

ωk σρ,i,k ϕi,k

(4.89)

k=1

where the physical probability table of group g is been used.

4.2.6

The multigroup equivalence procedure

The direct self-shielded cross sections for reaction ρ are obtained by substituting the integrated flux and reaction rate Eq. (4.89) into Eq. (4.4) with μg = 1. We obtain σ ρ,i,g =

σρ,i ϕi g . ϕi g

(4.90)

These cross sections cannot be used directly in a coarse group calculation, since this type of condensation generally does not permit conservation of the reaction rates.[100] We consequently perform a multigroup equivalence procedure and introduce a superhomog´en´eisation (SPH) corrective factor for each region and coarse energy group and define equivalent cross sections by the relations: σ >ρ,i,g = μi,g σ ρ,i,g (4.91) where μi,g is the SPH factor assigned to region i in group g. Moreover, the corresponding integrated flux should be redefined using the relation ϕ >i,g =

1 ϕi,g . μi,g

(4.92)

Note that the SPH factors are equal to unity for homogeneous geometries. Also note that the SPH factor can be set to unity if Δug < 0.1. In its classical implementation, the same SPH factor should be used to multiply every resonant cross section belonging to each region and coarse energy group. The SPH factor calculation is performed group by group, without interaction from the neighboring energy groups. In order to simplify the notation, we will not explicitly indicate the group index g in the following equations. Recently, the SPH correction strategy was reformulated to avoid correcting the total cross section.[101] This new strategy makes possible the determination of the SPH factors with a non-iterative procedure that will be presented below. The missing correction of the total cross section is then reported as an additional correction on the within-group scattering cross section, now written as σ >w,i,g = μi,g σ w,i,g + (1 − μi,g ) σ i,g (4.93) where σ i,g is the direct self-shielded total cross section of the resonant isotope. The other zero-th Legendre order cross sections are corrected as proposed in Eq. (4.91). There is an intrinsic overdetermination for this type of SPH procedure when it is applied to a closed domain (i.e., a geometry without boundary leakage). An infinity of SPH factor sets allows the target reaction rates to be preserved. A normalization condition should therefore be applied in each group g to determine a single solution. Here, we choose to preserve the average fine-structure in the non-resonant regions, in order to avoid any modification of the cross sections located in the non-resonant regions.[100] We therefore write μi,g = 1;

if i ∈ /F

where F is the set of region indices belonging to resonant regions.

(4.94)

214

Chapter 4

We need to compute SPH-corrected cross sections over each region and coarse energy group so as to preserve reference sources Q(r) and target reaction rates in the form σρ (r) ϕ(r)g integrated over each region i. The reference sources Q(r) are defined as a sum of scattering rates in order to be consistent with Eq. (4.76): ∗ ∗ Q(r) = Σ+ s (r) + N (r) σs (r) ϕ(r)g

(4.95)

where Σ+ s (r) is the macroscopic P0 scattering cross section of the non-resonant isotopes in group g. If the self-shielding calculation encompasses many resonant isotopes, Σ+ s (r) must include self-shielded P0 scattering cross section for all isotopes, except the one for which the SPH factors are currently being calculated. In each energy group g, the SPH-corrected fine-structure ϕ(r, > Ω) is directly obtained as  1 (r) if r ∈ F(V ) (4.96) Ω · ∇ϕ(r, > Ω) + Σ(r) ϕ(r, > Ω) = 4π Σ+ (r) if r∈ / F(V ) s where Q(r) is the SPH-corrected source due to the modification of the within-group scattering cross section and F(V ) is the spatial subdomain containing resonant isotopes. The macroscopic total cross section Σ(r) is written Σ(r) = Σ+ (r) + N ∗ (r)

σ ∗ (r) ϕ(r)g ϕ(r)g

if r ∈ F(V ).

(4.97)

> The right-hand-side source Q(r) must be SPH-corrected because of the specific modification made on the within-group scattering cross section term, as defined in Eq. (4.93). The corrected source is written (r) = Q(r) + Σ(r) [ϕ(r) > − ϕ(r)] (4.98) where ϕ(r) is the non-corrected flux distribution as computed by the subgroup equations. The non-iterative approach consists to obtain the corrected flux as the solution of the following equation: Ω · ∇ϕ(r, > Ω) + Σ(r) ϕ(r, > Ω) −

1 1 Σ(r) ϕ(r) > = [Q(r) − Σ(r) ϕ(r)] 4π 4π

and Ω · ∇ϕ(r, > Ω) + Σ(r) ϕ(r, > Ω) =

1 Σ (r) 4π s

if r ∈ F(V )

if r ∈ / F(V ).

The volume-averaged SPH-corrected fine-structure component ϕ >i is given as  1 d3 r ϕ(r). > ϕ >i = Vi Vi

(4.99)

(4.100)

(4.101)

A collision probability formulation of Eq. (4.99) leads to ϕ >i =

I 

pij [Qj + Σj ϕ >j − Σj ϕj ] +

j=1 j∈F

I 

pij Σ+ sj

if i ∈ F,

(4.102)

j=1 j ∈F /

where we have defined the following quantities: Σi = macroscopic total cross section of region i. ϕi ≡ ϕi g = volume-averaged fine-structure component in region i as obtained by the subgroup equations

Elements of lattice calculation

215

Qi = source component in region i defined as ∗ ∗ Qi = Σ+ si + Ni σsi φi g .

(4.103)

To proceed with Eq. (4.102), we need to define a reduced collision probability matrix as W = [I − P S]

−1

P

(4.104)

where P = {pij ; i = 1, I and j = 1, I} and where S is a diagonal cross section matrix defined as  Σi if i ∈ F; S = diag 0, otherwise, so that Eq. (4.102) is rewritten as Φ = WS where the components of vector S are defined as  Qi − Σi ϕi , Si = Σ+ si ,

(4.105)

if i ∈ F; otherwise.

(4.106)

The SPH factor in group g and resonant region i is simply μi =

ϕi g . ϕ >i

(4.107)

Note that the same quantity ϕi g appears in the denominator of Eq. (4.90) and in the numerator of Eq. (4.107). It can therefore be simplified for any reaction ρ other that the within-group scattering, as only the product of these two equations needs to be computed: σ >ρ =

σρ,f ϕi g . ϕ >i

(4.108)

However, knowledge of ϕi g is useful as an initial estimate of the flux or to measure the benefit of performing a multigroup equivalence procedure.

4.3

The neutron leakage model

A leakage model is required in a lattice calculation performed with a fundamental mode approximation, i.e., when the elementary cell or assembly calculation is performed in 2D and/or is surrounded by reflection or translation boundary conditions. Any axial and/or radial leakage rate not taken into account by an explicit boundary condition must be represented by the leakage model. The leakage rate depends on the following factors: • scattering anisotropy • streaming effects caused by strong heterogeneities and/or low optical density regions in the lattice Moreover, the leakage model is used to obtain consistent values of the diffusion coefficients that can be used in a full-core reactor calculation performed with the diffusion equation. Taking into account the streaming effects leads to a truly heterogeneous definition of the diffusion coefficient. The streaming effect can be isotropic or anisotropic, depending on whether the leakage rate is identical or different for the three spatial dimensions. Isotropic streaming is mainly caused

216

Chapter 4

by heterogeneities of the lattice, such as poison pins or finite regions of small optical density. Anisotropic streaming is due to the fact that the lattice may not have the same properties along the axial dimension and over the radial plane of the lattice. Anisotropic streaming effects are worsened by the presence of leakage channels (a voided zone along the axial dimension) and of leakage planes (a voided zone along an infinite plane). The modelization of anisotropic streaming effect is mainly required for the processing of unit cells with gaseous coolant and of voided lattices. The scattering anisotropy can be neglected in some fast reactor cases. It is therefore possible to use a non-consistent leakage model and to correct scattering anisotropy with a transport correction. For the case of an experimental facility similar to MASURCA where the leakage is important, it has been shown that the effect of scattering anisotropy cannot be neglected. This effect is of the order of ∼ 100 pcm, greater than the experimental uncertainty. Moreover, the streaming effects can never be neglected. In a pressurized water reactor (PWR), the effect of scattering anisotropy on the leakage is of prime importance, due to the presence of hydrogen in the moderator. Its effect on the leakage model is therefore always taken into account by using a consistent B1 approximation. Here, a transport-corrected B0 approximation is not acceptable. However, the streaming effects can often be neglected, except in some specific cases: • in a loss of coolant accident (LOCA)-type calculation • assembly homogenization of a mixed oxyde (MOX) assembly surrounded by uraniun oxyde (UOX) assemblies • and for the calculation of pin-dependent diffusion coefficients, if some poison pins or empty channels are present. In other cases, a homogeneous consistent B1 calculation is sufficient, as proposed in Ref. [103]. The first section describes the homogeneous Bn model, currently used to represent leakage rates in many thermal lattice codes. The ECCO model is next presented as an alternative to better compute isotropic streaming effects caused by lattice heterogeneities.[84] We finally explain how we successfully adapted the ECCO model to the specific iterative strategy of a thermal lattice code.

4.3.1

The Bn leakage calculation

In a lattice calculation, we need to determine neutron fluxes, leakage and reaction rates of a unit cell or assembly without the knowledge of the exact operating conditions and materials surrounding it. However, we can always assume that the real neutron flux of the unit cell or assembly is under steady-state conditions (i.e., we know that Keff = 1). Without more information, the best that we can do in the lattice calculation is to assume that all the surrounding cells or assemblies are identical to the one being considered and to adjust the neutron leakage in each group g in such a way that Keff = 1. We will adopt the following strategy: 1. The flux calculation inside the unit cell or assembly will be performed under closed conditions. An infinite domain or a finite domain closed with reflective (i.e., with an albedo set to one) or periodic boundary conditions will be used. Note that this restriction is also required within the resonance self-shielding model and within the SPH equivalence technique, as presented in Sects. 4.2 and 4.4, respectively. 2. A leakage model will be introduced to enforce Keff = 1 in the unit cell or assembly. This is done in most lattice codes by introducing a fundamental mode approximation. The

Elements of lattice calculation

217

principle is to represent the neutron flux as the product of a macroscopic distribution in space ψ(r) with a homogeneous or periodic fundamental flux ϕ(r, E, Ω). In any case, the flux factorization is written φ(r, E, Ω) = ψ(r) ϕ(r, E, Ω).

(4.109)

3. In the context of the fundamental mode approximation applied over a global reactor featuring a periodic lattice of unit cells or assemblies, the macroscopic distribution represents a global asymptotic curvature which is the same for all neutron energies and directions. This distribution is assumed to be a property of the complete reactor and to be the solution of a Laplace equation: ∇2 ψ(r) + B 2 ψ(r) = 0

(4.110)

where the buckling B 2 is a real number that is used to adjust the curvature of ψ(r) in such a way as to obtain Keff = 1. The buckling is positive or negative if the lattice is originally over-critical or sub-critical. The curvature thus obtained must be similar to what is observed for the real neutron flux in the complete reactor. There exist homogeneous and heterogeneous variants of the fundamental mode theory, depending on whether the fundamental flux ϕ(r, E, Ω) is assumed to be homogeneous or periodic according to the lattice pitch. The heterogeneous fundamental mode approximation is used to take into account the streaming effects in the lattice. Without any knowledge of the complete reactor geometry, we will use the following generic solution of Eq. (4.110): ψ(r) = ψ0 eiB ·r (4.111) where the vector B is chosen in such a way that B 2 = B · B. The exponential term, whose real part is cos(B · r), describes the global curvature of the flux in the lattice. The neutron flux will therefore be factorized as φ(r, E, Ω) = ϕ(r, E, Ω) eiB ·r

(4.112)

where ϕ(r, E, Ω) is a complex quantity. The determination of the corresponding leakage rates in each energy group will be obtained through the homogeneous or heterogeneous B1 equations. These equations are obtained after substituting the factorization of Eq. (4.112) into the neutron transport equation applied to a finite lattice of cells or assemblies.

4.3.2

The homogeneous fundamental mode

This model assumes that the leakage rates can be computed in a unit cell (or assembly) completely homogenized in space. Note that the collision rates are nevertheless computed in the heterogeneous representation of the lattice. The idea is therefore to compute the curvature of the macroscopic flux distribution in the homogenized unit cell (or assembly). A flux-volume homogenization is generally performed. In this case, the factorization of Eq. (4.112) is rewritten as φ(r, E, Ω) = ϕ(E, Ω) eiB ·r

(4.113)

where we note the non-dependence of ϕ(E, Ω) with the spatial coordinates. This value is complex. The next step consists in obtaining the neutron transport equation for the case of a finite and homogeneous geometry. The detail of the demonstration is given in Sects. 3.2 and 3.3. We obtain

218

Chapter 4

Ω · ∇φ(r, E, Ω) + Σ(E) φ(r, E, Ω)  ∞  2  d Ω dE  Σs (E ← E  , Ω ← Ω ) φ(r, E  , Ω ) = 0 4π  ∞ χ(E) dE  ν(E  ) Σf (E  ) φ(r, E  ) + 4π Keff 0

(4.114)

where Σs (E ← E  , Ω ← Ω ) = macroscopic differential scattering cross section taking into account diffusion and (n,xn) reactions. χ(E) = fission spectrum (normalized to 1) Σ(E) = macroscopic total cross section Σf (E) = macroscopic fission cross section ν(E) = average number of secondary neutrons per fission (taking into account delayed neutrons) φ(r, E, Ω) = angular flux φ(r, E) = integrated flux. The corresponding homogeneous B1 equations are obtained by substituting the factorization (4.113) into Eq. (4.114). We obtain  ∞ d2 Ω dE  Σs (E ← E  , Ω ← Ω ) ϕ(E  , Ω ) 4π 0  ∞ χ(E) dE  ν(E  ) Σf (E  ) ϕ(E  ) (4.115) + 4π Keff 0 

[Σ(E) + iB · Ω] ϕ(E, Ω) =

where the integrated fundamental flux is given in terms of the angular fundamental flux using  ϕ(E) = d2 Ω ϕ(E, Ω). (4.116) 4π

We next expand the differential scattering term using zero and first order Legendre polynomials. This expansion is the equivalent of assuming a linearly anisotropic collision in the LAB. We obtain  2 + 1 1 Σs (E ← E  , μ) = Σs (E ← E  ) P (μ) 2π 4π 1

Σs (E ← E  , Ω ← Ω ) =

(4.117)

=0

where μ = Ω · Ω , P0 (μ) = 1 and P1 (μ) = μ. It is useful to remember that the -th order Legendre coefficient of the differential scattering cross section is given as Σs (E ← E  ) =



1 −1

dμ Σs (E ← E  , μ) P (μ);  ≥ 0

(4.118)

Elements of lattice calculation

219

Substituting Eq. (4.117) into Eq. (4.115), we get 





1 Σs0 (E ← E  ) ϕ(E  ) 4π 0  3 + Σs1 (E ← E  ) J (E  ) · Ω 4π  ∞ χ(E) dE  ν(E  ) Σf (E  ) ϕ(E  ) + 4π Keff 0

[Σ(E) + iB · Ω] ϕ(E, Ω) =

dE 

(4.119)

where the fundamental current is given in terms of the angular fundamental flux using  J (E) = d2 Ω Ω ϕ(E, Ω). (4.120) 4π

Equation (4.119) is weighted and integrated over Ω as required by the B1 model: 1. A simple integration, without weighing, leads to the first B1 equation (a conservation relation). Some terms have been removed due to parity properties: 



dE  Σs0 (E ← E  ) ϕ(E  ) 0  χ(E) ∞ dE  ν(E  ) Σf (E  ) ϕ(E  ) + Keff 0

Σ(E) ϕ(E) + iB J (E) =

(4.121)

where the dependency against the direction of vector B was removed by defining J (E) =

1 [B · J (E)] . B

ω(Ω) =

1 Σ(E) + iB · Ω

2. The weight factor

is next used to multiply each member of Eq. (4.119) before its integration: 

 Σ(E) − iB · Ω 1 Σs0 (E ← E  ) ϕ(E  ) d2 Ω 4π Σ(E)2 + (B · Ω)2 4π 0 "  3 Ω Σ(E) − i (Ω ⊗ Ω) · B   2 Σs1 (E ← E ) J (E ) · + d Ω 4π Σ(E)2 + (B · Ω)2 4π  ∞  χ(E) Σ(E) − iB · Ω + dE  ν(E  ) Σf (E  ) ϕ(E  ) d2 Ω 2 + (B · Ω)2 4π Keff 0 Σ(E) 4π 

ϕ(E) =



dE



where Ω ⊗ Ω is the dyadic (or outer) product of the solid angle by itself.1 1 This

dyadic product is defined as

 Ω⊗Ω=

Ω2x Ωx Ωy Ωx Ωz

Ωx Ωy Ω2y Ωy Ω z

Ωx Ωz Ωy Ωz Ω2z



(4.122)

220

Chapter 4 After some simplification relating to parity properties, we obtain  ∞

ϕ(E) = α [B, Σ(E)]

dE  Σs0 (E ← E  ) ϕ(E  )

0

χ(E) + Keff





"









dE ν(E ) Σf (E ) ϕ(E ) 0



− 3i β [B, Σ(E)] B



(4.123)

dE  Σs1 (E ← E  ) J (E  )

0

where we used the following identities:  Σ2 1 d2 Ω 2 = α(B, Σ) Σ, 4π 4π Σ + (B · Ω)2 1 4π and

1 4π



(4.125)

(Ω ⊗ Ω) · B = β(B, Σ) B. Σ2 + (B · Ω)2

(4.126)



d2 Ω 4π

Ω =0 Σ2 + (B · Ω)2

d2 Ω



(4.124)

The functions α(B, Σ) and β(B, Σ) are defined as ⎧ 1 tan−1 B ⎪ ⎪ Σ ⎪ ⎨B 1 − B2 + B4 − B6 + . . . α(B, Σ) = Σ 3Σ3 5Σ5 7Σ7 ⎪ ⎪ ⎪ Σ + (B) 1 ⎩ ln 2(B) Σ − (B)

if B 2 > 0; if B 2 0;

(4.127)

if B 2 < 0.

where (B) is the imaginary component of B and β(B, Σ) =

1 [1 − α(B, Σ) Σ] . B2

(4.128)

The second B1 equation is finally obtained by substituting Eq. (4.121) into Eq. (4.123) and by reordering the terms:    ∞  1 1 iJ (E)   iJ (E ) = ϕ(E) + (4.129) dE Σs1 (E ← E ) B Σ(E) γ[B, Σ(E)] 3 B 0 where 1 α(B, Σ) 3Σ β(B, Σ)  2  4  6  8 B B 12 B 92 4 B − + +O . 1+ 15 Σ 175 Σ 2625 Σ Σ

γ(B, Σ) =

(4.130)

Equations (4.121) and (4.129) form the coupled set of the two B1 equations. We did assume linearly anisotropic scattering in the LAB, but no Ω-expansion of the angular fundamental flux was required. In homogeneous cases, we also observe that the fundamental flux ϕ(E) is always real and that the fundamental current J (E) is either imaginary or real, depending on whether

Elements of lattice calculation

221

the homogeneous medium is super- or sub-critical. However, the quantity iJ (E)/B is always real and remains finite when the buckling approaches zero. Some lattice codes such as CASMO4[51] are selecting a P1 leakage model by making an additional assumption about the linear anisotropy of the neutron flux. The mathematical analysis of this case is left as an end-of-chapter exercise (see problem 4.9). In this case, Eqs. (4.127), (4.128) and (4.130) simplify to 3Σ (4.131) α(B, Σ) = 3Σ2 + B 2 β(B, Σ) =

1 3Σ2 + B 2

(4.132)

and γ(B, Σ) = 1.

(4.133)

There is a disturbing issue related to the above B1 leakage model. In some low-reactivity cases with B 2 < 0, where Σ is approaching (B) in some energy groups, the denominator of Eq. (4.127) approaches zero and the lattice code is unable to converge on a critical B 2 value. This issue never occurs if the B1 model is replaced by a P1 model. A pragmatic solution to this numerical instability problem with the B1 leakage model is to add a fourth condition to Eq. (4.127) in order to switch to the P1 model if B 2 < −Σ2 /2. The new condition is written α(B, Σ) =

1 Σ + Bcut 3Σ 3Σ 2 ln − + if B 2 < −Bcut 2 2Bcut Σ − Bcut 3Σ2 − Bcut 3Σ2 + B 2

where

Σ Bcut = √ . 2

(4.134)

(4.135)

The B1 system can be solved using a multigroup discretization, taking care to use a sufficiently large number of energy groups to ensure that γ(B, Σ)g γ(B, Σg ).

(4.136)

These equations are also used to find the critical buckling, i.e., the value of B 2 that will lead to an effective multiplication factor Keff equal to one. The B0 form of the homogeneous leakage model is obtained by assuming Σs1 (E ← E  ) = 0 in Eq. (4.129). The B0 form of the leakage model should never be used in the presence of hydrogen-based moderators. The inconsistent B1 (or inconsistent P1 ) form of the homogeneous leakage model is obtained by assuming the micro-reversibility principle iJ (E  ) iJ (E) = Σs1 (E  ← E) (4.137) B B in Eq. (4.129). The application of this principle should generally be avoided if epithermal neutrons are present because it leads to the outscatter approximation which is not valid at high energy.[104] The leakage coefficient is defined as Σs1 (E ← E  )

d(B, E) =

1 iJ (E) B ϕ(E)

(4.138)

and used as a change of variable relation to transform Eqs. (4.121) and (4.129). A new set of B1 equations is then obtained:  ∞   Σ(E) + d(B, E) B 2 ϕ(E) = dE  Σs0 (E ← E  ) ϕ(E  ) 0  χ(E) ∞ dE  ν(E  ) Σf (E  ) ϕ(E  ) (4.139) + Keff 0

222

Chapter 4

and d(B, E) =

1 3γ[B, Σ(E)] Σ(E)







1+3

dE  Σs1 (E ← E  ) d(B, E  )

0

 ϕ(E  ) . ϕ(E)

(4.140)

We observe that Eq. (4.139) can be easily condensed over any energy group structure if we use the following group-averaged values:  Eg−1 dE ϕ(E), (4.141) ϕg = Eg

dg =

1 ϕg



Eg−1

dE d(B, E) ϕ(E)

(4.142)

Eg

and 1 Σg = ϕg



Eg−1

dE Σ(E) ϕ(E).

(4.143)

Eg

The group-dependent leakage rate Lg appears naturally as L g = dg B 2 ϕ g .

(4.144)

The principle behind a homogeneous leakage model is to modify the heterogeneous flux equation with an additional term defined in such a way as to force the homogeneous leakage rate of Eq. (4.144). With this correction, the volume average of the heterogeneous flux φg is equal to the fundamental flux ϕg of the homogeneous B1 model. This approach can be applied to all deterministic solution techniques of the neutron transport equation.

4.3.3

The heterogeneous fundamental mode

A heuristic approach, based on a B1 consistent model, was originally developed in the ECCO fast lattice code in an attempt to combine features of the homogeneous Bn model with heterogeneous effects of a collision probability calculation.[84] The ECCO model is recommended to represent the effects of scattering anisotropy on the leakage rates and the isotropic streaming effects due to low optical density and neutron feeding zones in the lattice. However, it is not recommended to represent the anisotropic streaming effects induced by coolant voiding along planar voids. A planar void is a voided region in the lattice that can contain an infinite slab of finite thickness. We propose to generalize the ECCO model to other types of flux solution algorithms and to use it in the context of thermal lattice calculations. The ECCO approach assumes the isotropy of the streaming effects. It consists of merging Eqs. (4.121) and (4.129) (B1 equations) with the multigroup transport equation (3.102). We write the integro-differential form of the ECCO equations as 1 [Q(r, E) − iBJ (r, E)] 4π  iJ (r, E, Ω) 1 iJ (r, E, Ω) 1 + Σ(r, E) = ϕ(r, E) Ω·∇ B B 4π γ[B, Σ0 (E)] 3   ∞ iJ (r, E  ) + dE  Σs1 (r, E ← E  ) B 0 Ω · ∇ϕ(r, E, Ω) + Σ(r, E) ϕ(r, E, Ω) =

(4.145)

(4.146)

where Σ0 (E) is the average of the total macroscopic cross section, weighted with the flux ϕ(r, E) and the volumes. The homogenization relations used in the preceding section are not fully compatible with the homogeneous Bn Eqs. (4.121) and (4.129). Such a homogeneous calculation is nevertheless

Elements of lattice calculation

223

useful in the rebalancing algorithm of the power method or in the fixed-point algorithm for converging on the critical buckling. The lack of consistency comes from the presence of the term γ(B, Σ0,g ) in Eq. (4.146) which is a function of a flux-weighted total cross section. The consistency is recovered using a technique presented in Ref. [106]. The technique consists in adding a corrective term to Eq. (4.146), leading to  1 iJ (r, E, Ω) iJ (r, E, Ω) 1 Ω·∇ + Σ(r, E) = ϕ(r, E) B B 4π γ[B, Σ0 (E)] 3   ∞ iJ (r, E) iJ (r, E  ) + + Δ(r, E) (4.147) dE  Σs1 (r, E ← E  ) B B 0 with

Δ(r, E) = 1 − γ[B, Σ0 (E)] Σ0 (E) − Σ(r, E)

(4.148)

where Σ0 (E) is the average of the total cross section, weighted by the fundamental flux and volume. We note that this corrective term approaches zero if • the lattice is homogeneous, or if • the term γ(B, Σ0,g ) approaches 1. Equation (4.147) can be integrated in space and solid angles, leading to a homogenized equation compatible with the second B1 Eq. (4.129): ) * * )   ∞ 1 iJ (E) iJ (E  ) 1 = ϕ(E) + dE  Σs1 (E ← E  ) B B Σ0 (E) γ[B, Σ0 (E)] 3 0 * ) iJ (E) + Σ0 (E) − Σ1 (E) (4.149) B where Σ1 (E) is the average of the total cross section, weighted with the fundamental current and volumes. The second B1 Eq. (4.129) homogenization of an heterogeneous comes from the equation. A correction term equal to Σ0 (E) − Σ1 (E) iJ (E)/B was introduced in the righthand side of Eq. (4.129) in order to restore its consistency in the heterogeneous case. After a multigroup discretization, Eqs. (4.145) and (4.147) are written Ω · ∇ϕg (r, Ω) + Σg (r) ϕg (r, Ω) =

1 [Qg (r) − iBJg (r)] 4π

(4.150)

and iJg (r, Ω) iJg (r, Ω) + Σg (r) B B   G  1 1 iJh (r) iJg (r) = ϕg (r) + + Δg (r) (4.151) Σs1,g←h (r) B B 4π γ(B, Σ0,g ) 3

Ω·∇

h=1

where Σ0,g is the value of Σ0 (E) in group g. The multigroup correction term is written    Δg (r) = 1 − γ(B, Σ0,g ) Σ0,g − Σg (r) . (4.152) This approach leads to a heterogeneous leakage coefficient (or diffusion coefficient) given by di,g =

1 iJi,g B ϕi,g

(4.153)

224

Chapter 4

where ϕi,g =

1 Vi

 d3 r ϕg (r)

and

Vi

1 iJi,g = B Vi

 d3 r Vi

iJg (r) . B

(4.154)

The above equations can also be written in a form compatible with the collision probability method. In the absence of Δ(r, E)-correction, we obtain   2 iJj,g p˜ij,g Qj,g − B (4.155) ϕi,g = B j $ #   1 iJj,h 1 iJi,g = ϕj,g + p˜ij,g . Σs1,j,g←h (4.156) B 3 B γ(B, Σ0,g ) j h

In order to reach a faster convergence, the within-group scattering term is removed from the source term:    iJj,g ϕi,g − p˜ij,g Qj,g − B 2 pij,g Σs0,j,g←g ϕj,g = B j j    1 iJi,g iJj,g iJj,h 1 − = ϕj,g + pij,g Σs1,j,g←g Σs1,j,g←h B B B γ(B, Σ0,g ) j 3 j h =g  iJj,g p˜ij,g . (4.157) + 1 − γ(B, Σ0,g ) Σs1,j,g←g B These equations are next rewritten in matrix form as   iJ j,g (4.158) Φg = Wg Qg − B 2 B    1 iJ h iJ g 1 iJ g = Φg + + 1 − γ(B, Σ0,g ) Ss1,g←g Ss1,g←h Xg B 3 B B γ(B, Σ0,g ) h =g

(4.159) where Ss1,g←h = diag{Σs1,i,g←h ; ∀i} and where Xg = [I − Pg Ss1,g←g ]−1 Pg .

(4.160)

The Δ(r, E)-correction can be included in Eq. (4.159), leading to    1 iJ h iJ g iJ g 1 iJ g = ϕg + + 1 − γ(B, Σ0,g ) Ss1,g←g + Dg Ss1,g←h Xg B 3 B B B γ(B, Σ0,g ) h =g

(4.161) where Dg = diag {Δi,g ; ∀i} with Δi,g equal to the value of Δ(r, E) in region i and group g. It is worth noting that Eq. (4.156) of the ECCO model uses macroscopic cross sections which are not transport corrected. The linear system made of Eqs. (4.158) and (4.159) is generally solved iteratively. In case of slow convergence, often encountered in thermal lattice problems, it is possible to use a rebalancing strategy based on the homogeneous B1 equation. ` This ECCO model is equivalent to the TIBERE model with the assumption of the isotropy of the fundamental current (i.e., when the 3 components of the fundamental current defined in ` Eq. (4.120) are equal). TIBERE is a fundamental mode model, featuring heterogeneous and anisotropic leakage effects, originally developed by P. Benoist.[105] The ECCO model is probably the most accurate leakage model that can be combined with the integro-differential form of the neutron transport equation. It is therefore compatible with

Elements of lattice calculation

225

all the available deterministic approaches, including the interface current, discrete ordinate and characteristics methods. The cost overhead is small, enabling its use in production calculations such as burnup-dependent and feedback-type PWR assembly calculations. The P1 consistent form of Eqs. (4.145) and (4.146) can be written for a partially homogenized geometry and condensed energy mesh. Using a set of homogenized volumes {Vi , ∀ i} and macro groups {Eg , ∀ g}, the following averaged values are first set:   Eg−1 1 ϕi,g = d3 r dE ϕ(r, E), (4.162) Vi Vi Eg   Eg−1 1 iJ (r, E) iJ i,g 3 = , d r dE B Vi V i B Eg   Eg−1 1 Σ0,i,g = d3 r dE Σ(r, E) ϕ(r, E), Vi ϕi,g Vi Eg   Eg−1 1 iJ (r, E) , Σ1,i,g = d3 r dE Σ(r, E) iJi,g Vi B Eg Vi B Σs0,i,g←h =

1 Vi ϕi,h

and Σs1,i,g←h = Vi

1 iJi,h B





Eg



Eh−1

dE

Vi





Eh−1

dE Eg

dE  Σs0 (r, E ← E  ) ϕ(r, E  ),

(4.164) (4.165)

(4.166)

Eh

Eg−1

d3 r Vi



Eg−1

d3 r

(4.163)

dE  Σs1 (r, E ← E  )

Eh

iJ (r, E  ) . B

(4.167)

These averaged values can be further corrected using the SPH procedure, as presented in Sect. 4.4. We see that the linearly anisotropic component of the scattering cross section must be homogenized and condensed using the fundamental current. Moreover, we obtain two values for the total cross section, the first weighted with the fundamental flux and the second weighted with the fundamental current. These values, represented as Σ0,i,g and Σ1,i,g , must respectively be used in the homogenized/condensed form of Eqs. (4.145) and (4.146).

4.3.4

Introduction of leakage rates in a lattice calculation

The main flux calculation is a solution of the steady-state and multigroup transport equation. In the absence of leakage, this equation is given by Eq. (3.102) as Ω · ∇φg (r, Ω) + Σg (r) φg (r, Ω) = Qg (r, Ω).

(4.168)

This equation can be transformed into a form that can be conveniently used in a fixed-point algorithm by subtracting the within-group scattering rate from both terms. We obtain the basic equation used in the outer (or power) iterations of the main flux calculation. In the absence of leakage, this iteration is written Ω · ∇φ(k+1) (r, Ω) + Σg (r) φ(k+1) (r, Ω) − g g

1 Σs0,g←g (r) φ(k+1) (r) = Q(k) (r, Ω) g g 4π

(4.169)

where k is the outer iteration index. Σs0,g←g (r) is the macroscopic within-group scattering cross section in group g. The reduced source is defined as (r, Ω) = Q(k) Q(k) g g (r, Ω) −

1 Σs0,g←g (r) φ(k) g (r) 4π

(4.170)

226

Chapter 4

Equation (4.169) uses self-shielded cross sections and is solved on the energy grid of the lattice code. Various flux solution techniques are available to deal with fixed-source or eigenvalue problems and to represent neutron leakage: 1. Type S calculations. This is the case where the source term Qg (r, Ω) contains a fixed source component given in neutron per cm3 /s. No outer iterations are performed. This option is mainly useful for benchmark studies or for radiation shielding calculations. 2. Type K calculations. In this case, a standard effective multiplication factor (Keff ) search is performed at the outer iteration level. There is the option of introducing some neutron leakage by imposing a buckling B 2 . The open-cell case with no leakage corresponds to a complete reactor calculation. However, we do not recommend using a lattice code to perform complete reactor calculations because the collision probability method leads to fully coupled matrices which become huge for large domains. Also, there is generally no convergence acceleration at the outer level. 3. Type B calculations. This is the option of performing a critical buckling search with imposed multiplication factor (Keff = 1). This is the recommended option for unit cell calculations, since it provides the best possible representation of the surrounding lattice. 4. Type L calculations. This is the option of performing a critical buckling search in cases where no fission is present in the unit cell. This option can be used to study non-fissile materials (reflector, absorbing materials, etc.). 5. Type P calculations. This is the case where the source term Qg (r, Ω) contains a fixed source component that is orthogonal to the adjoint eigensolution of the transport equation. A type P calculation is related to the solution of a fixed source eigenvalue equation as introduced in Sect. 5.3. Neutron leakage can only be introduced within closed unit cells. In these cases, groupdependent leakage coefficients dg (B) and leakage rates dg (B) B 2 can be obtained as described previously. These leakage rates can be included as an isotropic component in Eq. (4.168) in many different ways: 1. By subtracting dg (B) B 2 from the within-group scattering cross sections. Eq. (4.169) is then replaced by (r, Ω) + Σg (r) φ(k+1) (r, Ω) − Ω · ∇φ(k+1) g g = Q(k) (r, Ω) − g

1 Σs0,g←g (r) φ(k+1) (r) g 4π

1 (k) d (B) (B (k) )2 φ(k) g (r). 4π g

(4.171)

2. By multiplying each element of the source Qg (r, Ω) by a non-leakage probability PNL,g defined as Σ0,g (4.172) PNL,g = Σ0,g + dg (B) B 2 where Σ0,g is the average macroscopic total cross section in group g. Eq. (4.169) is then replaced by (r, Ω) + Σg (r) φ(k+1) (r, Ω) − Ω · ∇φ(k+1) g g (r, Ω) − = PNL,g Q(k) g (k)

1 Σs0,g←g (r) φ(k+1) (r) g 4π

1 (k) (1 − PNL,g ) Σs0,g←g (r) φ(k) g (r). 4π (4.173)

Elements of lattice calculation

227

3. By multiplying each element of the reduced source Qg (r, Ω) by a non-leakage probability PNLR,g defined as PNLR,g =

Σ0,g − Σs0,g←g Σ0,g − Σs0,g←g + dg (B) B 2

(4.174)

where Σs0,g←g is the average macroscopic within-group scattering cross section in group g. Equation (4.169) is then replaced by (r, Ω) + Σg (r) φ(k+1) (r, Ω) − Ω · ∇φ(k+1) g g

1 Σs0,g←g (r) φ(k+1) (r) g 4π

= PNLR,g Q(k) (r, Ω). g (k)

(4.175)

4. Using the ECCO heterogeneous leakage model leads to Eqs. (4.150) and (4.151). A fixedpoint outer iteration based on these equations is written 1 Ω · ∇ϕ(k+1) Σs0,g←g (r) φ(k+1) (r, Ω) + Σg (r) ϕ(k+1) (r, Ω) − (r) g g g 4π   (k) 1 (k) 2 iJg (r) Q(k) (r) − (B ) = g 4π B (k)

(4.176)

and (k+1)

Ω·∇

iJg

(r, Ω)

B (k+1)

(k+1)

+

iJg

(k+1)

1 iJg (r) Σs1,g←g (r) 4π B (k+1)  (k)  iJh (r) 1 (k) 1 ϕ = (r) + Σ (r) s1,g←h g B (k) 4π γ(B (k) , Σ0,g ) 3 h =g + Σg (r)

1 − γ(B

(r, Ω)

B (k+1)

(k)



 (k) (k) iJg (r) iJg (r) (k) . , Σ0,g ) Σs1,g←g (r) + Δg (r) B (k) B (k) (4.177) !

` There exists another heterogeneous leakage model known as TIBERE and implementing B1 heterogeneous streaming and directional diffusion coefficients.[105] The ECCO model [105] ` , and simplified with an isotropic approxcan be shown to be equivalent to TIBERE imation for the fundamental current. However, ECCO is probably the most accurate model presented in this section and it should be acceptable to represent the effects not related to the anisotropic neutron streaming phenomenon induced by coolant voiding.

4.3.5

Introduction of leakage rates with collision probabilities

The collision probability technique is based on a multigroup discretization and allows the calculation of the neutron flux into the heterogeneous regions of the cell or of the assembly. The flux is given by the relation  Qj,g p˜ij,g (4.178) φi,g = j

228

Chapter 4

where φi,g = neutron flux in region g and region i Qj,g = isotropic scattering (in the LAB) and fission neutron source Σi,g = macroscopic total cross section p˜ij,g = reduced collision probability. p˜ij,g Σj,g is the probability for a neutron born uniformly and isotropically in region i to undergo its first collision in region j. In order to reach a faster convergence, the within-group scattering term is removed from the source term:   pij,g Σs0,j,g←g φj,g = Qj,g p˜ij,g (4.179) φi,g − j

j

Qi,g

where the source term does not include the contributions from the within-group scattering rates in group g. The modified source term is written as Qi,g =



Σs0,i,g←h φi,h +

h =g

1 Qfiss Keff i,g

(4.180)

where Σs0,i,g←h = macroscopic transfer cross section for the scattering reaction Qfiss i,g = source of secondary neutrons from fission. Equation (4.179) can be written in matrix form as Φg = Wg Qg

(4.181)

where Φg = {φi,g ; ∀i} and Qg = {Qi,g ; ∀i}. Wg is a scattering reduced collision probability matrix, defined as Wg = [I − Pg Ss0,g←g ]−1 Pg

(4.182)

where I is the identity matrix, Pg = {pij,g ; ∀i et j} and Ss0,g←g = diag{Σs0,i,g←g ; ∀i}. Group-dependent leakage coefficients dg (B) and leakage rates dg (B) B 2 can be obtained as described previously. These leakage rates can be included in Eq. (4.182) in many different ways: 1. By subtracting dg (B) B 2 from the within-group scattering cross sections. Eq. (4.181) is then replaced by   (4.183) Φg = Wg Qg − dg (B) B 2 Φg where transport-corrected total cross sections are used to compute the Wg matrix. The iterative strategy of the power method is simplified if we evaluate the right-hand term of Eq. (4.183) using information from the preceding iteration: ! (k) 2 (k) Φ(k+1) = Wg Q(k) − d(k) ) Φg (4.184) g g g (B) (B where k is the outer iteration index.

Elements of lattice calculation

229

2. By multiplying each element of the Pg matrix by a non-leakage probability PNL,g as defined in Eq. (4.172). This non-leakage probability is computed in terms of Σ0,g , the average transport-corrected macroscopic total cross section in group g. Eq. (4.181) is then replaced by ! (k) (k) Φ(k+1) (4.185) = Wg PNL,g Q(k) − (1 − PNL,g ) Ss0,g←g Φ(k) g g g where Ss0,g←g = diag{Σs0,i,g←g ; ∀i} and the total cross sections used to compute the Wg matrix are also transport-corrected. 3. By multiplying each element of the Wg matrix with a non-leakage probability PNLR,g as defined in Eq. (4.174). This non-leakage probability is computed in terms of Σ0,g and Σs0,g←g , the average transport-corrected macroscopic within-group scattering cross section in group g. Eq. (4.181) is then replaced by Φ(k+1) = PNLR,g Wg Q(k) . g g (k)

(4.186)

4. Using the ECCO heterogeneous leakage model leads to Eqs. (4.158) and (4.161). A fixedpoint outer iteration based on these equations is written  (k)  iJ j,g (k) (k) 2 Φ(k+1) = W − (B ) Q g g g B (k)  (k) iJ (k+1) iJ h 1 (k+1)  1 g Φ = + S X g s1,g←h g 3 B (k+1) B (k) γ(B (k) , Σ0,g ) h =g  iJ (k) iJ (k) g g (k) + [1 − γ(B (k) Σ0,g )] Ss1,g←g + D g B (k) B (k)

(4.187)

(4.188)

where Ss1,g←h = diag{Σs1,i,g←h ; ∀i} and where Xg = [I − Pg Ss1,g←g ]−1 Pg .

(4.189)

Note that the average cross section Σ0,g and matrices Xg are computed without using transport-corrected cross sections. Another possibility is to increase the transport-corrected macroscopic total cross sections of the sub-regions by a component equal to dg (B) B 2 . This solution would not be cost-effective as it would impose recomputing the collision probabilities during the critical buckling search.

4.3.6

Full-core calculations in diffusion theory

A classical approach for obtaining the full-core neutron flux is to use few-group diffusion theory with diffusion coefficients originating from the leakage model of the lattice calculation. As explained before, the leakage model is performed in infinite lattice geometry, using the coarsegroup energy discretization of the main flux calculation in the lattice code (typically, between 50 and 400 groups). The full-core calculation is performed with the exact geometry of the nuclear reactor, with detailed boundary conditions, and using a few-group energy discretization (typically, between 2 and 20 groups). The diffusion equation is obtained by substituting the Fick law in the Ω-integrated transport equation. The Fick law is a heuristic relation between the integrated neutron flux and current. The diffusion coefficient is the proportionality factor D(r, E) introduced to relate the net current J (r, E) with the gradient of the flux: J (r, E) = −D(r, E) ∇φ(r, E).

(4.190)

230

Chapter 4

The diffusion coefficient can be calculated for a fundamental mode situation, even in homogenized lattice cases. In this case, we simply use factorizations compatible with Eq. (4.112):

and

φ(r, E) = ϕ(E) eiB ·r

(4.191)

J (r, E) = J (E) eiB ·r .

(4.192)

Taking the gradient of Eq. (4.191), we obtain ∇φ(E) = iB ϕ(E) eiB ·r .

(4.193)

Substitution of Eqs. (4.192) and (4.193) into Eq. (4.190) and use of Eq. (4.122) lead to the following definition of the diffusion coefficient: D(r, E) = d(B, E) =

1 iJ (E) . B ϕ(E)

(4.194)

We have demonstrated that the diffusion coefficient, as obtained from the homogeneous B1 equations, is equal to the leakage coefficient. Few-group diffusion coefficients (two-group values are a classical choice) can be consistently obtained from Eq. (4.142). These values will be used in the few-group reactor calculation based on the diffusion theory. Let us first consider the case where the lattice calculation is performed with the homogeneous leakage model of Sect. 4.3.2 and where the full-core calculation is performed using diffusion theory. In this case, the diffusion coefficient is uniform over the unit cell and is written Dg =

1 iJg . B ϕg

(4.195)

We now consider the case where the lattice calculation is performed with the heterogeneous leakage model of Sect. 4.3.3 and where the full-core calculation is performed using diffusion theory. In analogy with the homogeneous case, we assume that the leakage coefficient can be used as diffusion coefficient. In this case, the diffusion coefficient is space-dependent over the unit cell and is given by Eq. (4.153) as Di,g =

1 iJi,g . B ϕi,g

(4.196)

The few-group diffusion equation can therefore be written as −∇ · Dg (r)∇φg (r) + Σ0,g (r) φg (r) =

G 

Σs0,g←h φh (r) +

h=1

4.3.7

1 Qfiss (r). Keff g

(4.197)

Full-core calculations in transport theory

If the full-core calculation is to be performed in transport theory, different values of the macroscopic total cross section, Σ0,g (r) and Σ1,g (r), must be used in even and odd parity moments of the Boltzmann equation, even in cases where B 2 = 0. This effect cannot be neglected, particularly in fast reactor applications.[107] Using two different values of the total cross section is straightforward with any spherical harmonics type discretization. In other situations, a specific leakage correction must be applied to the transport equation. The leakage correction is a term similar to a transport correction, as introduced in Sect. 3.4. A steady-state full-core calculation

Elements of lattice calculation

231

is based on an equation similar to the transport corrected Eq. (3.105) with the steady-state source of Eq. (3.103). We write Ω · ∇φg (r, Ω) + Σg (r) φg (r, Ω) =

L G   2 + 1 h=1 =0



Σs,g←h (r)

 

Rm (Ω) φm ,h (r) +

m=−

1 Qfiss (r) 4πKeff g

(4.198)

where Σg (r) and Σs,g←h (r) are multigroup cross sections based on Eqs. (4.164) to (4.167). The leakage correction can be implemented in two ways, as proposed by the ECCO formalism:[107] P0 TOTAL correction: This correction corresponds to the case where Σ0,g (r) is chosen in the left-hand side of Eq. (4.198) as the main total cross section. We set: Σg (r) = Σ0,g (r) and

 Σs,g←h (r) =

Σs,g←g (r) + Σ0,g (r) − Σ1,g (r) Σs,g←h (r)

(4.199)

if  is odd and g = h otherwise.

(4.200)

P1 TOTAL correction: This correction corresponds to the case where Σ1,g (r) is chosen in the left-hand side of Eq. (4.198) as the main total cross section. We set: Σg (r) = Σ1,g (r) and

 Σs,g←h (r) =

Σs,g←g (r) + Σ1,g (r) − Σ0,g (r) Σs,g←h (r)

(4.201)

if  is even and g = h otherwise.

(4.202)

If the full-core calculation is performed using the P1 or SP1 (for Simplified P1 ) theory, the angular flux of Eq. (4.198) is developed in spherical harmonics with L = 1 and the first two moments ( = 0 and  = 1) of the resulting equation are used. The P1 or SP1 equations can be written: G  1 ∇ · J g (r) + Σ0,g (r) φg (r) = Σs0,g←h φh (r) + Qfiss (r) (4.203) Keff g h=1

and ∇φg (r) + 3Σ1,g (r) J g (r) = 3

G 

Σs1,g←h J h (r).

(4.204)

h=1

Care has been taken to use the total cross section Σ0,g in Eq. (4.203) and the total cross section Σ1,g in Eq. (4.204). This allows the recovery of the correct value of the diffusion coefficient in the limit where this model is applied to a homogeneous mixture. This value is given as  "  φh 1 1+3 (4.205) Σs1,g←h Dh Dg = 3Σ1,g φg h

which shows the consistency of the cross-section weighting used in Eqs. (4.198), (4.203) and (4.204). Equation (4.205) is also useful to obtain a consistent approximation of Σ1,g (r) as a function of diffusion coefficient information. This approximation is written  "  1 φh (r) 1+3 . (4.206) Σ1,g (r) = Σs1,g←h (r) Dh (r) 3Dg (r) φg (r) h

232

4.4

Chapter 4

The SPH equivalence technique

The superhomog´en´eisation (SPH) equivalence technique is a correction procedure based on equivalence factors. These equivalence factors are computed in such a way that a macro calculation made over a macro region and a coarse energy group with a simplified transport operator leads to the same leakage and reaction rates as a reference calculation performed without homogenization and with a fine group discretization.[108] Neutronic design calculations for pressurized water reactors are based on one of the two procedures presented in Fig. 4.6. The first is the heterogeneous diffusion approach which relies on finite difference (low-order) discretization and uses pin-by-pin nuclear properties, i.e., nuclear properties that are homogenized over each pincell (a fuel rod surrounded by its coolant). These pin-by-pin properties are based on assembly flux, and the procedure uses one SPH equivalence factor per pincell and per coarse energy group. The complete procedure allows accurate prediction of on-site measurements and corresponds to a validated industrial procedure. It is currently possible to obtain 3D heterogeneous diffusion solutions of a complete PWR. However, it should be understood that the accuracy of such a reference solution requires knowledge of a consistent set of SPH factors. CL

Heterogeneous diffusion procedure:

SPH

Two-group assembly (macro-geometry)

Fine-group assembly Homogeneous diffusion procedure:

Two-group reactor (finite differences) CL

Selengut

Fine-group assembly

Two-group assembly

Two-group reactor (finite elements or nodal)

Figure 4.6: Producing cross sections for the reactor calculation.

The second procedure, the homogeneous diffusion approach, is based on nodal or finite element (high-order) discretization and uses homogeneous nuclear properties that are defined for each assembly. A homogeneous SPH equivalence calculation is also required in order to reproduce the control rod worth with sufficient accuracy. In this case, only one SPH factor, similar to the inverse of a simplified discontinuity factor, is used per coarse energy group. The Selengut method can be used to obtain this group-dependent SPH factor.[109, 110] This case will not be described in this text. Either of these procedures can be used for reactor design and operating analysis, but there is now a consensus that an SPH equivalence calculation is required in both cases. The SPH equivalence procedure can also be used for other types of lattice calculations (boil-

Elements of lattice calculation

233

ing water reactors, small research reactors, etc.). The SPH algorithm is located in the lattice code between the main transport calculation and the cross-section edit module. The aim of the main transport calculation is to compute the neutron flux φi,g in region i and over elementary group g, using the Σs0 − dB 2 or a non-leakage model as described in Sect. 4.3. The purpose of the edit module is to merge and condense the required macroscopic and microscopic cross sections over macro regions and coarse energy groups. These values may be group condensed, and homogenized over various regions using direct (flux-volume) or SPH homogenization techniques. Every SPH algorithm should proceed in three steps: 1. The first step is based on the result of the main transport calculation of the lattice code and sets up the macro balance relations. Target macro reaction rates are obtained as a result of this first step. 2. The second step is the iterative procedure that leads to the set of SPH factors, based on macro reaction rates of step 1. 3. The third step is the full-core calculation based on SPH-corrected cross sections and diffusion coefficients.

4.4.1

Definition of the macro balance relations

SPH factor calculation is preceded by a macro balance calculation leading to target reaction rates and target-integrated currents that will be preserved by the equivalence procedure. A macro region Cm is defined as a collection of regions i taken from the main transport calculation. The volume Vm of a macro region can be obtained as the sum of the volumes Vi of each elementary region  Vm = Vi . (4.207) i∈Cm

One macro region corresponds to a pincell within the heterogeneous diffusion approach, while a unique macro region corresponding to the global assembly will be used within the homogeneous diffusion approach. The coarse energy group Mk is defined as a set of elementary groups g from the flux calculation. The collision rates, within-group scattering rates, leakage rates, arrival rates and integrated fluxes are computed for each coarse energy group. ∗ are computed as The collision rates Tm,k  

∗ = Tm,k

Vi Σi,g φi,g

(4.208)

g∈Mk i∈Cm

where Σi,g is the macroscopic total cross section. Knowledge of the leakage rates in each macro region and coarse energy group is required by the transport-diffusion algorithm. The leakage rates L∗m,k are computed as L∗m,k = B 2



dg (B)

g∈Mk



Vi φi,g

(4.209)

i∈Cm

where B 2 is the buckling and dg (B) is the leakage coefficient in the fine energy group g, as obtained by the B1 leakage calculation. ∗ are computed as The scattering rates Ts,m,k←l ∗ = Ts,m,k←l

 

Vi Σs,i,g←h φi,h

(4.210)

g∈Mk i∈Cm

where Σs,i,g←h is the -th moment of the macroscopic differential scattering cross section.

234

Chapter 4

∗ are computed as The production rate by fission Tf,m,k   ∗ Tf,m,k = Vi νΣf,i,g φi,g

(4.211)

g∈Mk i∈Cm

where νΣf,i,g is the product of the number of secondary neutrons per fission with the macroscopic fission cross section. The macro-balance relations will also be written in terms of the effective multiplication factor Keff and of the fission spectrum χm,k , defined as % % % Vi χi,g νΣf,i,h φi,h g∈Mk i∈Cm h % % χm,k = . (4.212) Vi νΣf,i,h φi,h i∈Cm

h

∗ are computed as Finally, the integrated fluxes Fm,k   ∗ Fm,k = Vi φi,g .

(4.213)

g∈Mk i∈Cm

4.4.2

Definition of the SPH factors

The next step is the computation of the equivalent macroscopic cross sections on each macro region Cm and coarse energy group Mk in such a way as to preserve the macro balance calculation of the preceding section. A direct or flux-volume homogenization method consists in dividing the coarse energy group reaction rates by the integrated flux. For instance, the macroscopic total, differential scattering and ν times fission cross section cross sections would be given by: Σk (r) ≡ Σm,k =

∗ Tm,k where r ∈ Vm , ∗ Fm,k

Σs,k←l (r) ≡ Σs,m,k←l = and νΣf,k (r) ≡ νΣf,m,k =

∗ Ts,m,k←l where r ∈ Vm ∗ Fm,l ∗ Tf,m,k where r ∈ Vm . ∗ Fm,k

(4.214)

(4.215)

(4.216)

Similarly, the direct homogenization of a diffusion coefficient would lead to Dk (r) ≡ Dm,k =

L∗m,k where r ∈ Vm . ∗ B 2 Fm,k

(4.217)

This type of homogenization generally does not permit conservation of the reaction and leakage rates. We consequently introduce an SPH corrective factor μm,k on each macro region Cm and coarse energy group Mk and define equivalent cross sections and diffusion coefficients in such a way to preserve macro balance relations on each coarse energy group. These equivalence factors are computed in such a way that a macro calculation made over Cm and Mk with a simplified transport operator leads to the same leakage and reaction rates as a reference calculation performed without homogenization and with a fine group discretization. We define the macro calculation as a flux calculation made over the macro regions and coarse energy groups with SPH-corrected homogenized cross sections. Transport-transport equivalence is an SPH algorithm in which the macro calculation is performed by solving a transport equation. Similarly, a transport-diffusion equivalence is based on a macro calculation performed by solving the diffusion equation. Different types of equivalence require specific macro calculations:

Elements of lattice calculation

235

• In the case where the macro-calculation over macro-group k is done with the diffusion theory, neutron balance is satisfied if the SPH correction is applied as follows:   > k (r) φ>k (r) = χm,k ? f,l (r) φ>l (r) + > s0,k←l (r) φ>l (r) ∇ · J k (r) + Σ (4.218) νΣ Σ Keff l

and

l

> k (r)∇φ>k (r). J k (r) = −D

(4.219)

Assuming r ∈ Vm , Eqs. (4.218) and (4.219) are consistent if – diffusion coefficients and all P0 cross sections (including the total cross section) are multiplied by μm,k : > k (r) = μm,k Dk (r), D > k (r) = μm,k Σk (r), Σ ? f,k (r) = μm,k νΣf,k (r), and νΣ

(4.220)

– scattering matrix terms Σs0,k←l (r) are multiplied by μm,l : > s0,k←l (r) = μm,l Σs0,k←l (r), Σ

(4.221)

φk (r) . φ>k (r) = μm,k

(4.222)

– fluxes are divided by μm,k :

• In the case where the macro-calculation over macro-group k is done with a spherical harmonics (Pn ) type method, we have the option to use different values of the macroscopic total cross sections Σ0,k (r) and Σ1,k (r) in even- and odd-parity equations, as presented in Sect. 4.3.7. SPH-correction must be applied differently as a function of the parity. With a simplified Pn method, the neutron balance is satisfied if the SPH correction is applied on even parity equations as follows:[111]   > 0,k (r) φ>0,k (r) + ∇ · φ1,k (r) = χk ? f,l (r) φ>0,l (r) + > s0,k←l (r) φ>0,l (r) (4.223) Σ νΣ Σ Keff l

l

 2 > 0,k (r) φ>2,k (r) + 2 + 1 ∇ · φ2+1,k (r) = > s2,k←l (r) φ>2,l (r) ∇ · φ2−1,k (r) + Σ Σ 4 + 1 4 + 1 l (4.224) and on odd-parity equations as follows:  2 + 1 > > 1,k (r) φ2+1,k (r) + 2 + 2 ∇φ>2+2,k (r) = > s2+1,k←l (r) φ2+1,l (r) ∇φ2,k (r) + Σ Σ 4 + 3 4 + 3 l (4.225) where  ≥ 1. Assuming r ∈ Vm , Eqs. (4.223) to (4.225) are consistent if – all P0 cross sections (including the total cross section in the even-parity equations) are multiplied by μm,k : > 0,k (r) = μm,k Σ0,k (r) Σ ? f,k (r) = μm,k νΣf,k (r), and νΣ

(4.226)

236

Chapter 4 – the total cross section in the odd-parity equations are divided by μm,k . > 1,k (r) = Σ1,k (r) , Σ μm,k

(4.227)

– scattering matrix terms Σs,k←l (r) with  even are multiplied by μm,l . > s,k←l (r) = μm,l Σs,k←l (r) if  is even, Σ

(4.228)

– scattering matrix terms Σs,k←l (r) with  odd are divided by μm,k . > s,k←l (r) = Σs,k←l (r) if  is odd, Σ μm,k

(4.229)

– even parity fluxes are divided by μm,k . φ,k (r) φ>,k (r) = if  is even, μm,k

(4.230)

– odd parity fluxes are not modified. • In the case where the macro-calculation over macro-group k is done in transport theory, but not with a Pn –type method, the macroscopic total cross section Σk (r) is not modified, and the even-odd corrections consistent with the simplified Pn method are reported to the macroscopic within-group scattering cross sections. The correction factors are set so that the sum of corrected partial cross sections is equal to the non-corrected total cross section. The macroscopic within-group scattering cross sections are now corrected as[101]

and

> s2,k←k (r) = μm,k Σs2,k←k (r) + (1 − μm,k ) Σk (r) Σ

(4.231)

  Σs2+1,k←k (r) 1 > Σk (r) + 1− Σs2+1,k←k (r) = μm,k μm,k

(4.232)

where r ∈ Vm and  ≥ 0. Other cross sections and scattering matrix terms are corrected the same way as for the simplified Pn method. The SPH-corrected flux is the solution of a fixed-source transport equation in macro-group k, expressed in term of the non-corrected total cross section Σk (r). The fixed-source must be SPH-corrected because of the specific modification made on the within-group scattering cross section term, as defined in Eqs. (4.231) and (4.232). With isotropic sources in the LAB, this equation is written 1 1 Σk (r)φ>k (r) = Qk (r, Ω) − Σk (r)φk (r) Ω · ∇φ>k (r, Ω) + Σk (r) φ>k (r, Ω) − 4π 4π where φ>k (r, Ω) = SPH-corrected angular flux φ>k (r) = SPH-corrected integrated flux φk (r) = non-corrected integrated flux Qk (r, Ω) = reference scattering and fission angular sources.

(4.233)

Elements of lattice calculation

237

The magnitude of the right-hand side of Eq. (4.233) in each macro-region is known from the reference calculation, but its spatial distribution may be unknown. A few iterations may be required to obtain the shape of the source term. In fundamental mode conditions, i.e., in cases where no neutrons is leaking due to the boundary conditions, an infinity of SPH factor sets can satisfy the macro balance relations of Eqs. (4.218) through (4.232) in each coarse energy group Mk . A unique set is selected with the application of an arbitrary normalization condition. The simplest option is to use the fluxvolume normalization condition which consists to preserve the averaged flux in the lattice. This normalization condition, satisfied in each coarse energy group Mk , is written   ∗ d3 r φ>0,k (r) = Fm,k . (4.234) Vm

m

m

Other normalization conditions can be selected, such as the Selengut condition which preserves the averaged boundary flux surrounding the macro-geometry.[112, 113, 110] The procedure for finding this set can be carried out in different ways. Another important issue is related to the flux shape in the right hand side of the macro balance relations. We can illustrate this point with the diffusion equation (4.218). In this case, the neutron sources are written  χm,k  ? > s0,k←l (r) φ>l (r). (4.235) νΣf,l (r) φ>l (r) + Σ Qk (r) = Keff l

l

The integrated value of Qk (r) over the macro region Vm is known from the reference calculation, but its shape is unknown. A fixed point correction is included in the SPH iterations in order to obtain this information: Qk (r) =

 Qm,k←l φ>l (r) μm,l ∗ Fm,l

l

if r ∈ Vm

(4.236)

with

χm,k ∗ ∗ T + Ts,m,k←l . Keff f,m,l An iterative strategy is proposed in the next section. Qm,k←l =

4.4.3

(4.237)

Iterative calculation of the SPH factors

We have chosen a fixed-point iterative strategy, which avoids recourse to generalized perturbation theory. The algorithm is split into four steps: 1. At iteration 0, we set the SPH factors to the initial values (0)

μm,k = 1. Next, we set up an estimate for the neutron sources as  (0) Qm,k←l if r ∈ Vm . Qk (r) =

(4.238)

(4.239)

l

2. At iteration n, we successively compute the SPH-corrected cross-section and diffusion coefficient sets using Eqs. (4.220) to (4.232) . We next perform a macro calculation with (n) a conservative boundary condition to obtain the macro flux φ>k (r) for each coarse energy (n−1) group Mk as a function of the neutron sources of the preceding iteration Qk (r).

238

Chapter 4 Knowledge of these new fluxes allows the calculation of a fine neutron source distribution (n) Qk (r), which will be used at the next iteration, based on Eq. (4.236). The flux-volume normalization of the fluxes is performed as % ∗ Fm,k (n) norm. (n) φ>k (r) = φ>k (r) % ( m . (n) d3 r φ>k (r)

(4.240)

m Vm

We next compute (n) F>m,k =



(n) d3 r φ>k (r).

(4.241)

Vm

3. We finally obtain the SPH factor using (n)

μm,k =

∗ Fm,k . (n) F>

(4.242)

m,k

4. We check if the SPH factors satisfy the following convergence criterion: (n)

max m,k

(n−1)

|μm,k − μm,k | (n)

< 10−4 .

(4.243)

μm,k

If the criterion is not satisfied, we set n = n + 1 and we go back to step 2.

4.5

Isotopic depletion

The exposure of an isotope to neutron flux produces nuclear reactions that may modify its nuclear characteristics. Moreover, some isotopes may be unstable, even at ground state, and are subject to radioactive decay. Both events lead to the modification of the number of neutrons and/or protons of the original nuclide. These isotopic depletion effects may occur for all isotopes in a nuclear reactor but are more important for the heavy isotopes present in the fuel. The state of the fuel is a function of its burnup, a parameter describing its time-integrated power (or energy) per initial unit mass. The evolution of the reactor materials produces modifications of their macroscopic cross sections which, in turn, produce a modification of the neutron flux in the reactor. A first cause of isotopic depletion is a neutron-induced reaction on a target nucleus A Z X. An elastic or inelastic scattering reaction has no effect on the number of neutrons and protons and is not a cause of isotopic depletion. Other types of reactions, such as those presented in Table 4.1, cause isotopic depletion. The secondary nucleus can also be left in a metastable state, called an isomeric state, and m denoted C D Y . This effect occurs when a nuclear reaction produces a secondary nuclide Y that remains excited in an excitation level above ground state, for a measurable period of time. The spin, parity, binding energy Sn (A+1, Z), and resonance widths of an isomeric state are different from those of the ground state. The isomeric state of an isotope is therefore considered as a distinct isotope, characterized by distinct sets of nuclear properties. In this case, the time-dependent number density N (t) of the nuclides of type A Z X is decreasing at a rate that is proportional to N (t) and to the lethargy-integrated microscopic absorption rate σa φ, so that dN = −N (t) σa φ(t) (4.244) dt

Elements of lattice calculation

239

Table 4.1: Examples of neutron-induced depletion Radiative capture (n,γ) Fission (n,f) (n,xn) reaction (n,α) transmutation (n,p) transmutation

+ 10 n −→ A+1 ZX A+1−C−ν A 1 C 1 X + n −→ Y + 0 Z D Z−D Z + ν 0 n A+1−x A 1 1 Z X + 0 n −→ Z X + x 0n A−3 A 1 4 Z X + 0 n −→ Z−2 Y + 2 He A 1 A 1 Z X + 0 n −→ Z−1 Y + 1 H A ZX

with





σa φ(t) =

du σa (u) φ(u, t)

(4.245)

0

where the absorption cross section of isotope A Z X is given in terms of the total and scattering cross sections using σa (u) = σ(u) − σe (u) − σin (u). The dependence of neutron flux with time is caused by the variation of the macroscopic cross sections Σx (E, t) = N (t) σx (E) for an arbitrary reaction x. However, the time scale of the N (t) variation is sufficiently long to avoid any transient of the transport equation. It will be sufficient to use the adiabatic approximation in which φ(E, t) is the solution of the steady-state transport equation with the nuclear properties of time t. Note that the adiabatic approximation is no longer valid when the variation of a macroscopic cross section is due to the movement of a reactivity device or to a feedback effect. In the absence of sources, an initial quantity N (t0 ) of isotopes A Z X is going to decrease at an exponential rate, according to (t  − dt σa φ(t ) . (4.246) N (t) = N (t0 ) e t0 We see that the wear of a material due to neutron-induced reactions is a function of the time integral of the neutron flux over the irradiation period. We define the neutron exposure ω(t) by the relation  t ω(t) = dt φ(t ) . (4.247) 0

Another measure of wear is the burnup B(t) defined as the time-integrated power (or energy) per initial unit mass. It is written B(t) =

V W



t

dt Hφ(t ) .

(4.248)

0

where V is the volume of the fuel, W is the mass of heavy isotopes at time t = 0 and H(E) is the H-factor, used to compute the recoverable energy from neutron-induced reactions. The main component of H(E) is κΣf (E) where κ is the energy produced by fission (around 200 MeV) and Σf (E) is the macroscopic fission cross section. Other neutron-induced reactions may produce energy and their contributions must be included in H(E). The unit of the neutron exposure is the neutron per kilo-barn (n/kb) and the unit of the burnup is the mega-watt-day per metric tonne of initial heavy isotopes (MWd/Mg). A second cause of isotopic depletion is the radioactive decay of an unstable nucleus A Z X. Isomeric states are always unstable and decay toward the underlying ground state. Examples of radioactive decay reactions are given in Table 4.2. Note that the positive beta decay is often 0 A combined with the electronic capture decay which can be written A Z X + −1 e −→ Z−1 Y .

240

Chapter 4

In these cases, the time-dependent number density N (t) of the nuclides of type A Z X decreases at a rate that is proportional to N (t) and to the radioactive decay constant λ, so that dN = −λ N (t). dt

(4.249)

Table 4.2: Examples of radioactive decay reactions Alpha decay (α) Negative beta decay (β − ) Positive beta decay (β + ) Isomeric decay Delayed neutron decay

A−4 A 4 Z X −→ Z−2 Y + 2 He A A 0 Z X −→ Z+1 Y + −1 e A A 0 Z X −→ Z−1 Y + 1 e A m −→ A ZX ZX A−1 A 0 1 Z X −→ Z+1 Y + −1 e + 0 n

The radioactive decay constant is different for each type of isotope (or isomeric state) and each mode of decay. In the absence of sources, an initial quantity N (t0 ) of isotopes A Z X is going to decrease at an exponential rate, according to N (t) = N (t0 ) e−λ (t−t0 ) .

(4.250)

The half-life T1/2 of an unstable isotope is the period of time required to decay N (t0 )/2 nuclides. It is written ln 2 . (4.251) T1/2 = λ The most common radioactive decay reaction in a nuclear reactor is the negative beta decay, which is efficient in reducing the neutron/proton ratio (or (A − Z)/Z) in fission products. In case where A − Z >> Z, delayed neutron decay is also possible, as explained in Sect. 2.9.2. A nucleus may have a non-zero probability to decay accordingly to different channels. In this case, the total radioactive decay constant is the sum of the decay constants of each channel. We write λ = λα + λ β − + λ β + + . . . (4.252) and the corresponding branching ratios are defined using bα =

λβ − λβ + λα , bβ − = , bβ + = , ... λ λ λ

(4.253)

In a nuclear reactor, some isotopes produced by neutron-induced reactions are themselves going to decay or to undergo another neutron-induced reaction. Equations (4.244) and (4.249) must be combined in accordance with the depletion chain describing the father-daughter relations of the different nuclides. Figure 4.7 represents a simple example of a three-nuclide depletion chain. Assuming X(0) = X0 and Y (0) = Z(0) = 0 as initial conditions, and assuming that the neutron flux is constant and equal to φ, we obtain dX + σγ φ X(t) = 0; X(0) = X0 dt dY + λβ − Y (t) = σγ φ X(t); Y (0) = 0 dt dZ = λβ − Y (t); Z(0) = 0. dt

(4.254)

Elements of lattice calculation

241

Z β−

X

(n,γ)

Y

Figure 4.7: Simple depletion chain.

We obtain a coupled system of K first-order ordinary differential equations with initial conditions, where K is the number of depleting nuclides. These equations are also known as the Bateman equations.[114] Many techniques are available to solve the resulting system, such as the Laplace transform method, the Runge-Kutta family of numerical methods[115] , and the integration factor method that will be developed in Sect. 4.5.3. The depletion equations for the various isotopes present in a nuclear reactor are solved using the burnup chains available in the cross-section library, as presented in Sect. 2.9.3. Both in-core and out-of-core calculations can be considered. For in-core depletion calculations, one assumes linear flux variation over each irradiation period, or time stage. The initial (and possibly final) flux distributions are recovered from previous neutron flux calculations. In-core depletion can be performed at constant flux or constant power (expressed in MW/tonne of initial heavy elements) but these values can undergo step variations from one time stage to another. All the information required for successive burnup calculation is stored on the burnup data structure of the lattice code. Thus it is possible at any point in time to return to a previous time step and restart the calculations. In each burnup mixture of the unit cell, the depletion of K isotopes over a time stage (t0 , tf ) follows the following equation: dNk + Λk (t) Nk (t) = Sk (t); k = 1, K dt

(4.255)

Λk (t) = λk + σa,k (t)φ(t),

(4.256)

with

Sk (t) =

L 

Yk,l σf,l (t)φ(t) Nl (t) +

l=1



σx,l (t)φ(t) =

K 

mk, (t) N (t),

(4.257)

=1 ∞

du σx,l (u) φ(t, u)

(4.258)

0

and σx,k (t, u)φ(t, u) = σx,k (t0 , u)φ(t0 , u) σx,k (tf , u)φ(tf , u) − σx,k (t0 , u)φ(t0 , u) (t − t0 ) + tf − t 0 where K L Nk (t) λk

= = =

number of depleting isotopes number of fissionable isotopes producing fission products time-dependent number density for k-th isotope

=

radioactive decay constant for k-th isotope

(4.259)

242

Chapter 4

σx,k (t, u)

φ(t, u) Yk,l mk, (t)

=

time and lethargy dependent microscopic cross section for nuclear reaction x on k-th isotope. x = a, x = f and x = γ stands for absorption, fission and radiative capture cross sections, respectively. Here, we consider time as an

independent variable in order to account for resonance self-shielding effects. = time- and lethargy-dependent neutron flux = fission yield for production of fission product k by fissionable isotope l. A representation of the fission yields of 235 U is depicted in Fig. 4.8. =

radioactive decay constant or σx, (t)φ(t) term for production of isotope k by isotope .

Figure 4.8: Fission product yields for

4.5.1

235

U.

The power normalization

The solution to burnup equations is affected by flux normalization factors. The simultaneous presence of a radioactive decay constant and of a microscopic reaction rate in Λk requires the correct power normalization of the neutron flux before any attempt to solve the depletion equations is made. The lattice code can perform out-of-core or in-core depletion with a choice between two normalization techniques: 1. Constant flux depletion. In this case, the lethargy integrated fluxes at beginning-of-stage and end-of-stage are set to a constant F :  ∞  ∞ φ(t0 , u)du = φ(tf , u)du = F (4.260) 0

0

2. Constant power depletion. In this case, the power released per initial heavy element at beginning-of-stage and end-of-stage are set to a constant W . K  

 κf,k σf,k (t0 )φ(t0 ) + κγ,k σγ,k (t0 )φ(t0 ) Nk (t0 ) =

k=1 K  k=1



 κf,k σf,k (tf )φ(tf ) + κγ,k σγ,k (tf )φ(tf ) Nk (tf ) = C0 W

(4.261)

Elements of lattice calculation

243

where κf,k κγ,k C0

= =

energy (MeV) released per fission of the fissionable isotope k energy (MeV) released per radiative capture of isotope k

=

conversion factor (MeV/MJ) multiplied by the mass of initial heavy elements expressed in metric tonnes

The end-of-stage power is a function of the number densities Nk (tf ); a few iterations will therefore be required before the end-of-stage power released can be set equal to the desired value. Note that there is no guarantee that the power released will keep its desired value at every point in time during the stage; only the beginning-of-stage and end-of-stage are set. Whatever the normalization technique used, the lattice code computes the exact burnup of the unit cell (in MW per tonne of initial heavy elements) by adding an additional equation to the depletion system. This value is the parameter that should be used to tabulate the output cross sections.

4.5.2

The saturation model

Equations (4.255) are said to form a stiff system of equations when they feature very high and very low values of Λk . Numerical instabilities related to stiff systems can be avoided in two different ways: • by adopting a numerical method that has the capability to deal with stiff systems of equations. The Kaps-Renthrop algorithm is a numerical method of the Runge-Kutta family with such capability.[115] The integration factor method of Sect. 4.5.3 is another method compatible with stiff systems. • by eliminating the depletion equations with high values of Λk . These equations can be lumped at the origin of the cross-section library creation, as proposed in Sect. 2.9.3. They can also be lumped in the depletion module of the lattice code, using a saturation model, as presented in this section. The latter approach is preferred in cases where the knowledge of the number densities for the lumped isotopes is required. Once the lumping operation has been completed, the remaining depletion equations can be solved using a classical numerical method such as the Cash-Karp algorithm.[115] Depleting isotopes with Λk (t0 ) [tf − t0 ] ≥ Vmax and Λk (tf ) [tf − t0 ] ≥ Vmax , with Vmax set to an arbitrary large value (= 80 is fine), are considered to be at saturation. They are described by making dNk /dt = 0 in Eq. (4.255) to obtain Nk (t) =

Sk (t) ; if k is at saturation. Λk (t)

(4.262)

There is also the possibility of using a more sophisticated saturation mode. Beginning-ofstage and end-of-stage Dirac contributions can be added to the previous equation: Nk (t) =

1 [a δ(t − t0 ) + Sk (t) + b δ(t − tf )] ; if k is at saturation Λk (t)

(4.263)

where a and b are chosen in order to satisfy the time integral of Eq. (4.255): − Nk (t+ f ) − Nk (t0 ) +





t+ f t− 0

Nk (t) Λk (t) dt =

t+ f t− 0

Sk (t) dt

(4.264)

244

Chapter 4

A first possibility consists in setting the following values of a and b: a = Nk (t− 0)−

Sk (t+ f) Λk (t+ f)

and b = 0.

(4.265)

This approach is preferred in cases where the matrix mk, is triangular (mk, = 0 if k < ). If this is not the case, it is numerically convenient to choose the following values of a and b: Sk (t+ 0) Λk (t+ 0)

(4.266)

Sk (t+ Sk (t+ f) 0) − . + Λk (t0 ) Λk (t+ f)

(4.267)

a = Nk (t− 0)− and b=

The numerical solution techniques used in the isotopic depletion module of the lattice code are the following. Isotopes with a very short half-life are taken at saturation and are solved apart from non-saturating isotopes. In the lattice code DRAGON[89] , the lumped depletion matrix system containing the non-saturating isotopes is solved using either a fifth order CashKarp algorithm or a fourth order Kaps-Rentrop algorithm[115] , taking care to perform all matrix operations in sparse matrix algebra. Matrices Mkl (t0 ) and Mkl (tf ) are therefore represented in diagonal banded storage and kept apart from the yield matrix Ykl . Every matrix multiplication or linear system solution is obtained via the LU algorithm.

4.5.3

The integration factor method

The integration factor method is an analytical solution technique first presented in Ref. [116]. The time domain is divided into steps, over which the neutron flux variation is assumed to be known. An exact analytical integration of each depletion equation is used in order to compute the isotopic number densities at the end of a given time step. Power series are used in order to represent exponential terms with small arguments. This approach is adapted to cases where the source term in Eq. (4.257) can be expressed only in terms of already known isotopic densities, so that L k−1   Sk (t) = Yk,l σf,l (t)φ(t) Nl (t) + mk, (t) N (t). (4.268) l=1

=1

This condition is not satisfied with the heavy elements and can only be used to study fission products. Assuming constant flux and constant cross sections, Eq. (4.255) can now be written   dNk + Λk Nk (t) = Yk,l σf,l φ Nl (t) + mk, N (t); k = 1, K. dt L

k−1

l=1

=1

(4.269)

The RHS of Eq. (4.269) is rewritten as a sum of exponential terms of the form L  l=1

Yk,l σf,l φ Nl (t) +

k−1  =1

mk, N (t) =

J 

ak,j tnj e−Vj t

(4.270)

j=1

where nj is an integer ≥ 0. The first 35 terms of the RHS summation are a pure power series with Vj = 0 and nj = j − 1; j ≤ 35. (4.271)

Elements of lattice calculation

245

These 35 terms are useful to eliminate any exponential function with Vj ≤ 7 from the solution. Such exponential functions may arise in the presence of nuclides with very long halflives. For the sake of efficiency of computation, each time an exponential is found to be greater than e−7 , it is replaced by a 35-term power series of the form e−Vt

35 −1  (−Vt) =1

if Vt ≤ 7.

( − 1)!

(4.272)

Equation (4.269) is multiplied by an integration factor and is integrated between 0 and t. The LHS leads to    t  Λk t dNk  dt e + Λk Nk (t ) = Nk (t) eΛk t − Nk (0+ ) (4.273) dt 0 so that

⎡ Nk (t) = e−Λk t ⎣Nk (0+ ) +

j=1

= Nk (0+ ) e−Λk t +



J  

J 

t

dt ai,j t

nj



e(Λk −Vj )t ⎦

0

Ik,j (t)

(4.274)

j=1

where the value of Ik,j (t) is given by one of the three following formulas: Ik,j (t) =

Ik,j (t) =

 ak,j  −Vj t e − e−Λk t Λk − V j

if nj = 0 and Λk = Vj ,

   t  ak,j n −1 tnj e−Vj t − nj e−Λk t dt t j e(Λk −Vj )t Λk − V j 0

(4.275)

if nj = 0 and Λk = Vj , (4.276)

or Ik,j (t) =

ak,j nj +1 −Vj t t e nj + 1

if Λk = Vj .

(4.277)

Collecting together terms with the same dependence on time, Eq. (4.274) can now be written as J+1  ci,j tnj e−Vj t (4.278) Nk (t) = j=1

so that ak+1,j =

k 

mk+1, c,j

(4.279)

=1

will be used by nuclide k + 1 as a source contribution in Eq. (4.270). Such an analytic solution over time interval Δt, will be possible if the following conditions are satisfied: 1. The neutron flux φ(t) is constant within Δt. However, the method can be adapted to the case where the neutron flux varies linearly within Δt. 2. The variation of the fission rates within Δt is assumed to be given by an expression of the form Jf  σf,l φ = fl,0 δ(t) + fl,j tnj e−Vj t (4.280) j=1

246

Chapter 4 where δ(t) is a Dirac delta distribution. This component is used as an initial condition in the solution of Eq. (4.269), so that Nk (0+ ) = Nk (0− ) +

L 

Yk,l fl,0 ; k = 1, K.

(4.281)

l=1

3. The matrix mk, is triangular (mk, = 0 if k < ). 4. The resonance self-shielding of the heavy isotopes is constant within Δt. Otherwise, a numerical solution approach, similar to the Runge-Kutta method, will be used.[115]

4.5.4

Depletion of heavy isotopes

The burnup chain of the heavy isotopes in the uranium cycle is represented in Fig. 4.9. When the radioactive decay constant of an isotope is big in comparison to the microscopic absorption rate σa φ, we may assume that the decay is instantaneous and remove this isotope from the burnup chain. This is the case of the radiative capture of a neutron in 238 U which can be considered to directly produce a 239 Np nucleus. Many such isotopes can be lumped and the burnup chain must be lumped accordingly, as explained in Sect. 2.9.3. The uranium cycle corresponds to the majority of peaceful applications of nuclear energy. It is used in many reactor systems such as the pressurized water reactor (PWR), the boiling water reactor (BWR), the Canada deuterium uranium reactor (CANDU) and the liquid-metal fastbreeder reactor (LMFBR). The main characteristics of these reactor systems are represented in Table 4.3. The conversion ratio is the ratio of the number of fissile nuclides produced per unit time over the number of fissile nuclides burned per unit time. A nuclear reactor with a conversion ratio greater than one is referred to as a breeder. Table 4.3: Examples of reactor systems based on the uranium cycle Reactor system CANDU PWR BWR LMFBR (Super-Ph´enix)

Enrichment U at 0.711% 235 U at 3.3% 235 U at 2.6% 239 Pu at 16.0%

235

Conversion ratio 0.8 0.5 0.5 >1

When a 235 U nuclide absorbs a neutron, the most likely reaction is fission. However, a fraction α235 0.16 of the absorptions will result in the production of a 236 U nuclide that can be considered a poison. The absorption of a neutron in 236 U will produce a 237 U nuclide that will decay immediately to 237 Np, a more stable isotope. Another decay of 237 Np will produce a 238 Pu nuclide. Many of the neutrons originating from 235 U fission are likely to be absorbed in 238 U to produce a 239 U nucleus that will decay successively in 239 Np and 239 Pu, a fissile nuclide. With a neutron flux level of the order of 1014 n/cm2 /s in a typical thermal power reactor, only 0.25% of the absorptions in 239 Np will produce an 240 Np nuclide that will decay into a nonfissile 240 Pu nuclide. In most studies, the production of 240 Np will be neglected and this isotope will be lumped. The most probable absorption reaction with 239 Pu is fission. This isotope plays an important role in the uranium cycle because of its contribution to energy release in the nuclear reactor.

Elements of lattice calculation

247

α

U-234 (n,γ) (n,2n)

U-235 (n,γ)

U-236 (n,γ) β− β−

Np-237 (n,γ)

(n,2n)

β−

U-238

β−

(n,γ) (n,2n) β−

Np-239

α

Pu-238 (n,γ) (n,2n) β−

α

Pu-239 (n,γ)

(n,2n) α

Pu-240 (n,γ) (n,2n)

Pu-241

β− β+

(n,γ) (n,2n)

Am-241 β−

(n,γ)

Am-242m

Pu-242 (n,γ)

(n,γ) β−

Cm-242 (n,γ)

Am-243 (n,γ)

Cm-243 (n,γ)

β−

Cm-244

Figure 4.9: Burnup chain of the uranium cycle.

The conversion of 238 U into 239 Pu is optimized in LMFBRs, as the conversion ratio can be set at values greater than one. In this case, and with the help of spent fuel recycling, it is possible to fission a high percentage of the heavy nuclide content in the natural fuel. However, the presence of 239 Pu is also important in thermal-spectrum reactors, even if the conversion ratio is smaller than one. In a CANDU reactor, half the recoverable energy is due to fission of 239 Pu nuclides. Successive radiative captures in 239 Pu and 240 Pu produce 241 Pu nuclides, another fissile isotope of plutonium. This is the only plutonium isotope, present in the reactor in non-negligible quantities, to have a relatively small half-life. Its β − radioactive decay is of the order of 15 years, a value of the same order as the fuel-cycle delays, and decays to 241 Am. 241 Am is mainly transmuted by neutron capture to 242m Am (10%) and 242 Am (90%). The first-mentioned transmutation product is highly fissile. The second product decays with a half-life of 16 hours to 242 Cm (83%) and 242 Pu (17%).

248

Chapter 4

Plutonium-241 is a strong gamma emitter, giving rise to a potential occupational health hazard if the separated plutonium over five years old is used in a normal MOX-fueled nuclear reactor. The 241 Am level in stored plutonium increases about 0.5% per year. 239 Pu, 240 Pu and 242 Pu are long-lived and hence little changed with prolonged storage. The 242 Pu produced by radiative capture of a neutron on a 241 Pu nuclide is neither fissile nor fertile and is considered a poison. The remaining heavy nuclides are present in small quantities and have little effect on the chain reaction. Their presence should be accounted for during spent fuel operations. Plutonium-238 is noteworthy as a source for radioisotope thermoelectric generators (RTG), used in space exploration devices and nuclear pacemakers. However, this isotope can be neglected in reactor physics applications. The generator uses a tiny slug of 238 Pu. Heat generated by decay of plutonium is converted by a thermopile into an electrical current. Plutonium-238 is an alpha-emitter, with a half-life of 88 years, which requires little shielding. After ten years of continuous power output, a 238 Pu-based RTG will still produce 92% of its initial power. α

Th-228 (n,γ)

Th-229 (n,γ)

Th-230 (n,γ)

Th-231

β−

(n,γ)

Pa-231 (n,γ)

(n,2n)

Th-232 (n,γ)

β−

Pa-232

β−

U-232 (n,γ)

(n,γ) (n,2n) β−

Pa-233 (n,γ)

β−

U-233 (n,γ)

β−

U-234 (n,γ)

U-235 (n,γ)

Figure 4.10: Burnup chain of the thorium cycle.

Figure 4.10 depicts the main reactions that characterize the thorium cycle. Thorium-232 is found in large enough quantities to mine. However, it is not fissile by thermal neutrons and is generally mixed with 235 U or 239 Pu in order to initiate the fuel cycle. The isotopic purity of 232 Th depends on the type of deposit. Thorium coming from thorite (thorium silicate) is pure, although thorium coming from monazite (thorium phosphate) may contain traces of 230 Th, an alpha-decay product of 238 U.

Elements of lattice calculation

249

A large percent of the excess neutrons produced by fission of the fissile isotope will be absorbed in 232 Th. If the neutron spectrum is well thermalized, a large part of these absorptions will result in the formation of 233 Th that will decay almost instantaneously in 233 Pa. At this point, we have a situation that is similar to the behavior of 239 Np in the uranium cycle. However, 233 Pa has a half-life of 27 days, ten times longer than 239 Np. For the same neutron flux level, a higher proportion of 233 Pa is not going to decay to fissile 233 U nuclides, but rather to non-fissile 234 U nuclides. The conversion ratio is therefore penalized if the neutron flux is too high. The 233 U nuclides are fissile and have excellent multiplicative properties. The number of neutrons emitted per thermal fission is equal to 2.49 and the reproduction factor, i.e., the number of neutrons emitted per thermal absorption, is equal to η = νσf /σa = 2.28. As a matter of comparison, η = 2.07 for 235 U and = 2.11 for 239 Pu. This means that a conversion ratio greater than one can be obtained if fewer than 0.28 neutron is absorbed outside the fuel or is leaking outside the reactor at each neutron generation. Technological advances such as on-power refueling, organic coolant and spent fuel recycling could make this goal possible. As depicted in Fig. 4.10, 232 U can be produced by (n,2n) reaction on a 233 U nucleus and by (n,γ) reaction on 230 Th nuclides present in monazite deposits. The alpha-decay of 232 U produces 228 Th nuclides with a half life of 72 years. The decay of 228 Th nuclides produces daughter isotopes such as 212 Bi and 208 Tl that are strong gamma-ray emitters. The 232 U nuclides are carried away with 233 U in the spent fuel recycling plant. Presence of these nuclides will require remote operations and radiation shields, as soon as a few weeks after they have been removed from the reactor.

4.6

Creation of the reactor database

A component of the lattice code is dedicated to the constitution of the reactor database intended to store all the nuclear data produced in the lattice code, which is useful in reactor calculations including fuel management and space-time kinetics. Multigroup lattice calculations are too expensive to be executed dynamically from the setup module of the global reactor calculation. A more feasible approach is to create a reactor database where a finite number of lattice calculation results are tabulated against selected global and/or local parameters chosen so as to represent expected operating conditions of the reactor. Typical types of global or local parameters are • burnup (in MW-day/tonne) and/or neutron exposure (in n/Kb) • fuel temperature • coolant density • boron concentration • type of fuel or assembly (MOX, UOX, with/without control rods, etc.). Once the reactor database is constituted, the setup module of the global reactor calculation must perform interpolation of the database values as a function of the local conditions in each mesh of the reactor domain.

4.6.1

Selected information

Only a subset of the information generated by the lattice calculation is generally written to the reactor database. The choice of selected values is a function of the expected type of reactor calculations:

250

Chapter 4

• diffusion theory or transport method • number and choice of the energy group limits in the reactor calculation • values of the SPH factors are a function of the type of spatial discretization (mesh-centered or mesh-corner finite differences, finite elements, nodal, etc.) and angular discretization (diffusion theory, simplified Pn , discrete ordinates, etc.) • choice of response reaction rates (macroscopic and/or microscopic) to be computed • type of depletion calculation to be performed over the global reactor. Cross-section and diffusion-coefficient related information corresponding to a selected set of isotopes, such as xenon or boron, can be extracted from the macroscopic values. This capability is important in cases where some operating conditions of the reactor are a function of the concentration of some isotopes. In some cases we may want to represent all the isotopes explicitly, but this choice leads to extremely large databases. Any macroscopic cross section Σρ,g for reaction ρ in group g is given by: Σρ,g = ΣMACR + ρ,g



Ni σρ,g,i

(4.282)

i

where ΣMACR is a macroscopic cross section, Ni is the number density for an extracted isotope ρ,g and σρ,g,i is the corresponding microscopic cross section. Each important cross-section type (total, fission, scattering, etc.) should be represented in the database. A large part of the database information is related to differential reaction representation (elastic/inelastic scattering, (n,xn) reactions, etc.). This information is generally stored in sparse matrix format. Integrated fluxes Fg must also be written. They are defined in such a way that a reaction rate Rρ,g computed in the lattice code is defined by the relation  Rρ,g =

ΣMACR ρ,g

+



 Ni σρ,g,i Fg .

(4.283)

i

The depletion calculation is generally performed in the lattice code at some normalized power density P in MW/tonne of heavy initial elements. It is important to define H-factors compatible with this value of the power density:    1  MACR Fg Hg + Ni hg,i = P W g i

(4.284)

where W is the initial mass of heavy elements, HgMACR is the residual H-factor and hg,i is an isotopic H-factor defined as the product of the microscopic fission cross section σf,g,i with the energy released per fission κg,i for this isotope. An artificial cross-section type is introduced to permit the extraction of isotopic contributions from the diffusion coefficient. The STRD acronym stands for section transport diffusion in French. A macroscopic STRD-transport cross section ΣMACR strd,g is defined in such a way that a diffusion coefficient can be computed from the formula Dg =

1 3ΣMACR strd,g

(4.285)

Elements of lattice calculation

251

in cases where no extracted isotopes are present. The microscopic STRD-transport cross section σstrd,g,i is defined in such a way that a diffusion coefficient can be computed from the formula Dg =

 3 ΣMACR strd,g +

1 %



(4.286)

Ni σstrd,g,i

i

in cases where extracted isotopes are present. The streaming directional factors fx,g , fy,g and fz,g are used to multiply the diffusion coefficients in order to recover the directional diffusion coefficients as computed by a B1 heterogeneous streaming model. For example, an X-oriented diffusion coefficient is given by the formula Dx,g =

fx,g . % 3 ΣMACR + N σ i strd,g,i strd,g 

(4.287)

i

Other information written to the database is a selection of the following: • SPH factor information is not isotope-specific. The SPH factors can be written to the database, but they are never split into isotopic contributions. • prompt, delayed and/or fission spectrum information • other information relating to delayed neutrons • depletion data to represent radioactive decay and burnup data • information relating to gamma-ray production and transport.

4.6.2

Database information structure

The organization of the information in the reactor database is crucial. The database must contain a set of elementary lattice calculations (ELC), each of which is characterized by a multiplet of global and/or local parameters as shown in Fig. 4.11. Burnup or neutron exposure is generally used as the type 1 parameter type, but other choices may be possible.

Parameter type 1

Parameter type 2

Parameter type 3

ELCs

Figure 4.11: Classification of the elementary lattice calculations.

The following operations and properties should be available: • The number of global and local parameter types (i.e., the order of the multiplet) and the number of ELCs in the database can be increased or reduced by the database management tool.

252

Chapter 4

• There is no one-to-one relation between an ELC and a multiplet of local parameter values. An ELC carried out after a depletion calculation where the fuel is burned at 1000 K to 30,000 MW-day/tonne and suddenly cooled to 500 K is not identical to an ELC carried out after a depletion calculation where the fuel is burned at 500 K to 30,000 MW-day/tonne. History effects should be tabulated together with multiplet information in the table-ofcontents part of the database. • Information related to each ELC should be recovered using direct access techniques. Information related to intermediate parameter values can be interpolated using techniques similar to those presented in Ref. [117].

4.7

A presentation of DRAGON

´ DRAGON is actively supported and developed at Ecole Polytechnique de Montr´eal since 1991. DRAGON provides 1D and 2D geometric capabilities with the collision probability, the characteristics and the discrete ordinates methods. The interface current method is also available to model PWR assemblies. The code is able to reproduce all the functionality of WIMS-AECL for treating CANDU clusters and APOLLO2 for treating PWR assemblies. DRAGON features 3D geometric capabilities, which are required to model some reactivity devices in a CANDU reactor. DRAGON is available from RSICC[18] as CCC-647, from the NEA Data Bank[19] or di´ rectly from the anonymous account of Ecole Polytechnique.[89] Its main characteristics are the following: • The code is simple to use, to understand, to modify and to install on various workstations that support a Fortran compiler. Dynamic allocation of memory is extensively used and the information management between modules is not based on common blocks. The DRAGON capabilities are implemented in 20 independent modules represented as gray boxes in Fig. 4.12. New modules can easily be added and obsolete modules can be removed without causing side effects. The use of modular coding does not cause any substantial increase in CPU resources. • Simple data objects are used to manage and transfer information between modules, to collect important lattice parameters and to permit code restart. These objects are made of associative tables and/or heterogeneous lists. An object is referred to with a userdefined name and can be either memory-resident (referred to as LINKED LIST) or persistent (referred to as XSM FILE). They are represented as circles in Fig. 4.12. A Draglib is implemented in XSM FILE format. • A supervisor named CLE-2000 is available to describe the data flow required by the user. CLE-2000 assigns user-defined names to LINKED LIST and XSM FILE objects and describes the data-flow with the help of logical operations and loops. CLE-2000 also features procedures and macroprocessor variables, two capabilities required to develop computational schemes. A procedure is a parametrized data set that can be reused to solve different problems. A macroprocessor variable is a user-defined parameter containing an integer, real, logical or character value that can be used in the definition of a data set. A computational scheme is a frozen procedure encapsulating validated data, options and recipes to be used in a production calculation. • All the work related to the production of custom interfaces for subsequent reactor calculations is left to CLE-2000 procedures located outside DRAGON. These interfaces can recover all the information they need from XSM FILE objects, such as the multicompo

Elements of lattice calculation

GEO:

253

BIVACT: sph

TRIVAT: SYBILT: geometry

track

flux

SNT: ASM: EXCELT: NXT:

SHI:

moc track

USS:

MCCGT:

asmpij

FLU:

flux

microlib (macrolib) 2 EVO:

draglib

LIB:

microlib (macrolib) 1

EDI:

edition

SPH:

burnup

edition

COMPO: multicompo

END:

Figure 4.12: Data flow diagram of DRAGON.

object presented in Sect. 4.6. This technique is useful to keep the source of DRAGON as small as possible. • DRAGON is able to access any standard MATXS-type library (both from NJOY-89 and subsequent versions), as produced by NJOY[16, 17] , using the cross-section reconstruction algorithm of the code TRANSX-2.[118] DRAGON also has capabilities to use cross-section libraries in the WIMS-AECL, WIMS-D, APOLLO and Draglib formats. The latter is described in Sect. 2.9.3.

4.7.1

A DRAGON tutorial

The first tutorial is based on a typical input data file of DRAGON, corresponding to a benchmark proposed by Rowlands.[119] A UO2 -fueled pincell is studied in order to investigate the effects of changes in temperature and water density. Burnup and multicompo object capabilities are not used in this example. The corresponding data set is: *-* PWR UOX pin cell cylindrical / 293K / uss-6c / cylindrical *-LINKED_LIST LIBRARY LIBRARY2 CELL TRACK SYS FLUX EDIT ; MODULE GEO: SYBILT: USS: LIB: ASM: FLU: EDI: END: ; REAL RCOMB1 RCOMB2 RCOMB3 RCOMB4 RCOMB5 RCOMB6 ; * LIBRARY := LIB: :: EDIT 3 NMIX 9 (*MAXIMUM OF MATERIAL MIXTURES*) CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*) ANIS 2 SUBG (*COMPUTE SUBGROUPS*) * MIXS LIB: DRAGON FIL: DLIB_J2

254

Chapter 4

MIX 1 293.0 (*COMB0101*) O16 = O16 4.6624E-2 U235 = U235 7.0803E-4 1 IRSET 0.0 81 U238 = U238 2.2604E-2 1 IRSET 0.0 81 MIX 2 COMB 1 1.0 (*COMB0102*) MIX 3 COMB 1 1.0 (*COMB0103*) MIX 4 COMB 1 1.0 (*COMB0104*) MIX 5 COMB 1 1.0 (*COMB0105*) MIX 6 COMB 1 1.0 (*COMB0106*) MIX 7 293.0 (*GAIN1*) Zr0 = Zr0 4.3241E-2 2 IRSET 0.0 81 MIX 8 293.0 (*MODE1*) H1 = H1_H2O 6.6988E-2 O16 = O16 3.3494E-2 MIX 9 293.0 (*MODE2*) H1 = H1_H2O 6.6988E-2 O16 = O16 3.3494E-2 ; EVALUATE RCOMB1 RCOMB2 RCOMB3 RCOMB4 RCOMB5 RCOMB6 := 0.2529822 0.334664 0.3577709 0.3794733 0.3898718 0.40 ; CELL := GEO: :: TUBE 9 (*CELLULE NORMALE*) R+ REFL RADIUS 0.0 0.45 0.5748331 0.6770275 MIX 1 2 3 4 5 6 7 8 9 ; TRACK := SYBILT: CELL :: EDIT 1 MAXR 20 (*MAXIMUM OF 20 REGIONS*) QUA1 5 TITLE ’UO2 CASE 1 ROWLAND BENCHMARK’ ; LIBRARY2 := USS: LIBRARY TRACK :: EDIT 2 TRAN PASS 4 GRMIN 45 ; SYS := ASM: LIBRARY2 TRACK :: PIJ ; FLUX := FLU: SYS LIBRARY2 TRACK :: TYPE K ; EDIT := EDI: FLUX LIBRARY2 TRACK :: EDIT 2 COND 27 59 95 MERGE COMP SAVE ; END: ;

The input deck begins with declarations for the linked lists, macroprocessor variables and of the various modules used for this DRAGON execution. Any word not declared is considered to be a keyword. The LIB: module is used to interpolate the microscopic cross sections in absolute temperature, to compute probability-table information and to produce group-ordered macroscopic cross sections. This calculation uses a XMAS (172 groups) JEF 2.2-based library built from scratch with NJOY.[16, 17] Its operating-system name is DLIB J2. Each mixture at a given absolute temperature (in Kelvin) is defined in terms of Draglib isotope names (U235, U238, O16, etc.). The number densities (in 1024 particles per cubic centimeter) for each isotope are provided next. Resonant region indices with Goldstein-Cohen parameters are also specified. Here, we use the ST approximation for energy groups < 81 and the WR approximation for energy groups ≥ 81. The output of LIB: is a microlib named LIBRARY. The GEO: module is used to define the pincell geometry of the benchmark and to assign the user-defined name CELL to this data. The geometry is defined before knowing the type of discretization or numerical treatment that will follow. For CELL the first line indicates that the geometry has circular boundaries and that it contains nine concentric annular subregions.

Elements of lattice calculation

255

RCOMB1 to RCOMB6 are macroprocessor real variables containing radii. The boundary conditions (reflection), the annular radii and the mixture index corresponding to each region of the cell are given successively. Next, we analyze the annular geometry using the SYBILT: module for flux calculation and perform the tracking as described in Sect. A. The TRACK object is thereby generated. The USS: module uses microscopic cross-section data contained in LIBRARY and tracking information contained in TRACK in order to compute the self-shielded information of each resonant isotope (U235 and U238). This module uses the theoretical approach of Sects. 4.2.4 and 4.2.5. Selfshielding information is only computed for the energy groups with resonance data present in the library; the other groups are assumed to stay at infinite dilution. A new microlib named LIBRARY2 is produced. The ASM: module uses macroscopic cross-section data contained in the embedded macrolib of LIBRARY2 and tracking information contained in TRACK in order to compute the reduced and scattering-modified collision probability matrices for each of the 172 energy groups. We have not used the important capability of DRAGON to use a different tracking to perform self-shielding and flux calculations. The output of ASM: is an object named SYS. The FLU: module uses macroscopic cross-section data contained in the embedded macrolib of LIBRARY2 and collision probabilities contained in SYS in order to compute the neutron flux for each of the 172 energy groups. The transport equation is solved for the effective multiplication factor without using a buckling or leakage model. The output of FLU: is an object named FLUX. Next, the EDI: module performs spatial homogenization (the cross sections are smeared over the complete cell) and coarse energy group condensation. Each coarse energy group contains the micro-groups 1 to 27, 28 to 59, 60 to 95 and 96 to 172. The output of EDI: is an object named EDIT. Finally, the COMPO: module is used to create, manage and fill a multi-parameter reactor database named EDIT DRAGON can also be used to solve simple academic test cases. For example, problem 3.5 of the previous chapter can be solved using the following data set: LINKED_LIST GEOM MACRO TRACK SYSTEM FLUX ; MODULE GEO: MAC: SYBILT: ASM: FLU: END: ; REAL pi r1 r2 r3 r4 r5 ; * EVALUATE pi := 3.141592654 ; EVALUATE r1 := 0.4 pi / SQRT ; EVALUATE r2 := 1.1 pi / SQRT ; EVALUATE r3 := 1.5 pi / SQRT ; EVALUATE r4 := 2.8 pi / SQRT ; EVALUATE r5 := 4.9 pi / SQRT ; * GEOM := GEO: :: TUBE 5 R+ REFL MIX 1 2 3 4 5 RADIUS 0.0 MACRO := MAC: :: EDIT 2 NGRO 1 NMIX 5 NIFI 1 READ INPUT MIX 1 TOTAL 0.2 SCAT 1 1 0.05 NUSIGF 1.4 CHI 1.0 MIX 2 TOTAL 0.0 SCAT 1 1 0.0 MIX 3 TOTAL 0.5 SCAT 1 1 0.05 MIX 4

;

256

MIX

Chapter 4 TOTAL 5 TOTAL

0.0

SCAT

1 1 0.0

0.3 SCAT 1 1 0.05 ; TRACK := SYBILT: GEOM :: TITLE ’NSE BENCHMARK IN 1D CYLINDRICAL GEOMETRY’ QUA1 5 MAXR 10 ; SYSTEM := ASM: MACRO TRACK :: EDIT 99 PIJ ; FLUX := FLU: MACRO TRACK SYSTEM :: TYPE K ; END: ;

where the macrolib containing the macroscopic cross-section information is constructed directly with the help of module MAC:.

Elements of lattice calculation

257

Exercises 4.1 A normalized source emits one monokinetic neutron per unit time and volume at lethargy u = 0 in an infinite and homogeneous material. We assume elastic slowing-down of the neutrons. We write C(u) = Σa (u)/Σs (u), the ratio of absorption and scattering cross sections. (a) Assuming that C(u) is constant in lethargy, and for values of the lethargy much greater than the maximum gain = ln(1/α), show that the neutron flux is given by the relation A −mu φ(u) = e . (4.288) Σs (u) where A and m are coefficients to be determined. Find the relation between coefficients m, C and α. (b) In addition to the previous assumptions, consider the case where Σa (u) = 0 Mm(g,g)=(sin(sqla*xp)-sin(sqla*xm))/(delx*sqla) ; Mm(g,G+g)=-(cos(sqla*xp)-cos(sqla*xm))/(delx*sqla) ; Mm(G+g,g)=sqla*sin(sqla*xm) ; Mm(G+g,G+g)=-sqla*cos(sqla*xm) ; Mp(G+g,g)=sqla*sin(sqla*xp) ; Mp(G+g,G+g)=-sqla*cos(sqla*xp) ; Nm(g,g)=cos(sqla*xm) ; Nm(g,G+g)=sin(sqla*xm) ; Np(g,g)=cos(sqla*xp) ; Np(g,G+g)=sin(sqla*xp) ; else Mm(g,g)=exp(sqla*xm)*(exp(sqla*(xp-xm))-1)/(delx*sqla) ; Mm(g,G+g)=-exp(-sqla*xm)*(exp(-sqla*(xp-xm))-1)/(delx*sqla) ; Mm(G+g,g)=-sqla*exp(sqla*xm) ; Mm(G+g,G+g)=sqla*exp(-sqla*xm) ; Mp(G+g,g)=-sqla*exp(sqla*xp) ; Mp(G+g,G+g)=sqla*exp(-sqla*xp) ; Nm(g,g)=exp(sqla*xm) ; Nm(g,G+g)=exp(-sqla*xm) ; Np(g,g)=exp(sqla*xp) ; Np(g,G+g)=exp(-sqla*xp) ; end Mp(g,g)=Mm(g,g) ; Mp(g,G+g)=Mm(g,G+g) ; B(g,g)=-1.0/(delx*Lambda(g,g)) ; B(g,G+g)=1.0/(delx*Lambda(g,g)) ; Y(g,g)=1.0/(dely*Lambda(g,g)) ; end warning off GAR1=Nm*inv(Mm) ; GAR2=Np*inv(Mp) ; warning on MAT1=[GAR1,-Y+GAR1(:,1:G)*Y,Y-GAR1(:,1:G)*Y] ; MAT2=[GAR2,-Y+GAR2(:,1:G)*Y,Y-GAR2(:,1:G)*Y] ; S=inv(T)*inv(diag(diff)) ; L=T*MAT1*blkdiag(inv(T),S,S,S) ; R=T*MAT2*blkdiag(inv(T),S,S,S) ; B=T*B*blkdiag(S,S) ;

Equations (5.175) are written in a convenient form to introduce a zero-flux or albedo boundary condition on the left or right boundary. The relation between the surfacic flux and current, required to implement an albedo boundary condition, is obtained directly from Eq. (5.24). We also note that the above Matlab script does not deal with situations where λg,i,j approaches zero. A production implementation should take this possibility into consideration.

Full-core calculations

299

The ANM unknowns are the average fluxes on the node volumes and the average net currents on the node surfaces. This choice of unknowns is a characteristic of dual discretization approaches such as the mesh-centered finite-difference method of Sect. 5.2.2 or the RaviartThomas finite-element technique of Ref. [124]. The ANM belongs to the family of dual discretization approaches. The ANM in 2D leads to a matrix system of order approximately equal to 3GN where G is the number of energy groups and N is the number of nodes. About one third of the system equations are nodal balance relations and the remaining equations corresponds to Xor Y -directed nodal coupling relations.

5.3

Generalized perturbation theory

The generalized perturbation theory (GPT) is a numerical technique used to determine the sensibility of a reactor characteristic with respect to a variation of a state variable such as the exit burnup, fuel enrichment or poison load. The classical perturbation theory corresponds to the particular case where the reactor characteristic is the effective multiplication factor. A reactor characteristic is a functional F {φ(r)} of the neutron flux φ(r), retuning a single real value such as a zonal power, a fuel cost or a critical parameter. The GPT introduced in this text is based on two fundamental papers of G. C. Pomraning describing the perturbation of a source and eigenvalue equation, respectively.[134, 135] It is worth noting that the perturbation of an eigenvalue equation leads to a fixed source eigenvalue equation, a type of problem with very specific and unusual characteristics. We will limit ourselves to the following situation: • the reactor is at steady state and its neutron flux is the solution of the steady state diffusion equation (5.2); • the reactor characteristics are homogeneous functionals of the neutron flux. This requirement means that F {φ(r)} = F {α φ(r)} ∀ α ∈ . (5.182) GPT techniques are powerful tools to compute the gradient in core optimization studies involving continuous state variables. The coupling of the generalized perturbation theory with mathematical programming techniques was proposed in Ref. [136] as a tool to optimize the exit irradiation in a CANDU reactor.

5.3.1

Mathematical background

Definition 1 Let’s consider a vectorial space S over a field K. A function F associating an element of K to each element f of S is called a functional. We use a vectorial space S ∗ defined over the field  of real numbers and containing Gcomponent vectors f (r), so that f (r) = col [f1 (r) , f2 (r) , . . . , fG (r)] S ∗ = {f (r) ; fg (r) ∈ C0 [V ] ; g = 1, G}

(5.183) (5.184)

where V is the spatial domain of functions fg (r). A component fg (r) generally represents the neutron flux in group g and V represents the volume of the reactor.

300

Chapter 5

Definition 2 The internal product, denoted as f , h, of two vectors f (r) and h(r) taken in vectorial space S ∗ is defined as G   d3 r fg (r) hg (r). (5.185) f , h = g=1

V

To illustrate this definition, we can define two examples of neutron flux functional. The first example is a reaction rate, defined as R{φ(r)} = Σ, φ

(5.186)

where Σ(r) = col [Σ1 (r) , Σ2 (r)] and φ(r) = col [φ1 (r) , φ2 (r)]. The second example is a reaction rate ratio defined as P {φ(r)} =

Σ1 , φ Σ2 , φ

(5.187)

where Σ1 (r) = col [Σ1,1 (r) , Σ1,2 (r)] and Σ2 (r) = col [Σ2,1 (r) , Σ2,2 (r)]. Definition 3 A functional F {f (r)} is homogeneous if Eq. (5.182) is met, i.e., if F {f (r)} = F {α f (r)} for all values of α element of field K. To illustrate this point, we observe that Eq. (5.187) is a homogeneous functional, but not Eq. (5.186). Only homogeneous functionals are independent of the flux normalization factor and can be used as reactor characteristics in the context of GPT. The next definition is a generalization of the concept of gradient to functionals. Definition 4 The gradient ∇F {f (ζ); r} of functional F {f (r)} is a G-component function of r defined as   d F {f (ζ) + δ g (ζ − r)} ; g = 1, G (5.188) ∇Fg {f (ζ); r} = d

=0 where δ g (ζ − r) is a multidimensional Dirac delta distribution defined as δ g (ζ − r) = col [δg,h δ(ζ − r) , h = 1, G]

(5.189)

where δg,h is a Kronecker delta function and δ(ζ − r) is the classical Dirac delta distribution. Using Eq. (5.188), we can compute the gradient of functionals defined in Eqs. (5.186) and (5.187). We obtain ∇R{φ(ζ); r} = Σ(r) (5.190) and

⎤ Σ (r) Σ1,1 (r) − 2,1 ⎢ Σ1 , φ Σ2 , φ ⎥ ∇P {φ(ζ); r} = P {φ(r)} ⎣ Σ (r) ⎦ Σ1,2 (r) − 2,2 Σ1 , φ Σ2 , φ ⎡

(5.191)

where we assumed G = 2, with Σ1 (r) = col(Σ1,1 (r), Σ1,2 (r)) and Σ2 (r) = col(Σ2,1 (r), Σ2,2 (r)). Definition 5 The variation of functional F {f (r)} with respect to an arbitrary variation δf (r) of its argument is denoted δFδf {f (r)} and is an element of field K defined as   d δFδf {f (r)} = F {f (r) + δf (r)} ; δf (r) ∈ S ∗ . (5.192) d

=0

Full-core calculations

301

It is possible to apply a limited Taylor expansion to a functional, by analogy with the Taylor expansion of a function with discrete variables. We write F {f (r) + δf (r)} = F {f (r)} + δf , ∇F {f (ζ); r} + O( 2 )

(5.193)

where O( 2 ) is a truncation term of order 2 in . Substituting Eq. (5.193) into Eq. (5.192), we can show that δFδf {f (r)} = δf , ∇F {f (ζ); r} . (5.194) Theorem 1 The gradient of a homogeneous functional F {f (r)} is orthogonal to f (r). Proof: Consider the variation of functional F {f (r)} with respect to its own argument f (r). Using Eqs. (5.192) and (5.194), we can write   d δFf {f (r)} = f , ∇F {f (ζ); r} = F {(1 + )f (r)} . (5.195) d

=0 Considering the fact that the functional is homogeneous, F {(1 + )f (r)} = F {f (r)} and   d δFf {f (r)} = F {f (r)} =0 (5.196) d

=0 so that the gradient of F {f (r)} is orthogonal to f (r): f , ∇F {f (ζ); r} = 0.

(5.197)

2 Definition 6 A fixed source eigenvalue equation is an inhomogeneous equation of the form A(r) Γ(r) − μ B (r) Γ(r) = S(r)

(5.198)

where A(r) and B(r) are operators acting on unknown vector Γ(r) and where μ is an eigenvalue of the singular equation A(r) φ(r) − μ B (r) φ(r) = 0. (5.199) It is important to note that a fixed source eigenvalue equation is always associated with an eigenvalue equation. Here, the fundamental eigenvalue μ is simply given as μ=

1 . Keff

(5.200)

In a similar way, we can define an adjoint fixed source eigenvalue equation as

assiociated with

A(r) Γ∗ (r) − μ B (r) Γ∗ (r) = S ∗ (r)

(5.201)

A(r) φ∗ (r) − μ B (r) φ∗ (r) = 0.

(5.202)

Theorem 2 A fixed source eigenvalue problem similar to Eq. (5.198) has a solution if and only if its fixed source S(r) is orthogonal to the solution of the adjoint eigenvalue Eq. (5.202).

302

Chapter 5

Proof: Let us take the internal product of Eq. (5.198) with φ∗ (r). We write & ' φ∗ , S = φ∗ , A Γ − μ B Γ = A φ∗ − μ B φ∗ , Γ = 0,

(5.203)

which proves the theorem. 2 Theorem 3 If Γ(r) is a solution of the fixed source eigenvalue Eq. (5.198), then there exists an infinity of other solutions of the form (5.204) Γ (r) = Γ(r) + k φ(r) where k is an arbitrary constant. Proof: The proof involves substitution of Eq. (5.204) into Eq. (5.198) and use of Eq. (5.199). 2 A normalization relation is required to select a particular solution. We generally use the following condition: & ' Γ, B φ∗ = 0. (5.205)

5.3.2

State variables and reactor characteristics

A state variable is a component of the state vector X = {Xi ; i = 1, I} permitting the selection of all the nuclear properties of the reactor. For example, a state variable can be a number density, a burnup, a temperature, or any parameter having an effect on the reactor physics. State variables are generally chosen among the global or local parameters used to set the reactor database, as described in Sect. 4.6. A reactor characteristic is a homogeneous functional of the neutron flux (and/or of its adjoint) and a function of the state variables. A zonal power ratio or the effective multiplication factor are examples of reactor characteristics. The neutron flux and its adjoint are the solution of eigenvalue equations, similar to Eqs. (5.199) and (5.202), with state variable-dependent operators. They are written

and

A(r, X) φ(r) − μ B (r, X) φ(r) = 0.

(5.206)

A(r, X) φ∗ (r) − μ B (r, X) φ∗ (r) = 0.

(5.207)

In the context of two-group diffusion theory, operators A(r, X) and B(r, X) are given by Eqs. (5.8) and (5.11) as   0 −∇ · D1 (r, X)∇ + Σr1 (r, X) (5.208) A(r, X) = −Σ2←1 (r, X) −∇ · D2 (r, X)∇ + Σr2 (r, X) 

and B(r, X) =

νΣf1 (r, X) 0

 νΣf2 (r, X) . 0

(5.209)

Operators A(r, X) and B(r, X) in Eq. (5.207) are obtained by transposing the matrices in Eqs. (5.208) and (5.209). The purpose of the GPT is to compute the sensibility of reactor characteristics F {φ(r), X} to a variation of the state variables. The first order GPT involves the calculation of the Jacobian vector G{φ(r), X} defined as   ∂ F {φ(r), X} ; i = 1, I . (5.210) G{φ(r), X} = ∂Xi

Full-core calculations

303

Similarly, the second order GPT is based on the Hessian matrix H{φ(r), X} defined as  H{φ(r), X} =

 ∂2 F {φ(r), X} ; i = 1, I and J = 1, I . ∂Xi ∂Xj

(5.211)

We shall now present an overview of the Jacobian vector calculation. As operators in Eqs. (5.206) and (5.207) are functions of state variables, a perturbation calculation is required to evaluate the sensitivity of direct and adjoint neutron fluxes with respect to a variation in state variables. Variations of operators A(r, X) and B(r, X) are first defined as δ A (r, X) =

I  ∂ A (r, X) δXi ∂X i i=1

(5.212)

δ B (r, X) =

I  ∂ B (r, X) δXi . ∂X i i=1

(5.213)

and

We shall compute δφ(r) and δμ as variations of the neutron flux and of the fundamental eigenvalue corresponding to variations δ A (r, X) and δ B (r, X). It is possible to write the variation of the eigenvalue as I  ∂μ δμ = δXi . (5.214) ∂X i i=1 The perturbed form of Eq. (5.206) is written {[A(r, X) + δ A (r, X)] − (μ + δμ) [B(r, X) + δ B (r, X)]} [φ(r) + δφ(r)] = 0.

(5.215)

We subtract the unperturbed Eq. (5.206) from Eq. (5.215) and get rid of all terms involving the product of two or three variations. After rearranging the terms, we obtain [A(r, X) − μ B (r, X)] δφ(r) = − [δ A (r, X) − μ δ B (r, X) − δμ B (r, X)] φ(r).

(5.216)

We observe that Eq. (5.216) is a fixed source eigenvalue equation with a singular left-hand side and a fixed source. The variation of the eigenvalue is evaluated using the Rayleigh ratio, written as φ∗ , Aφ . (5.217) μ= φ∗ , Bφ The Rayleigh ratio is stationary with respect to a first order variation of the neutron flux δφ(r) and of its adjoint δφ∗ (r). The variation of the eigenvalue is therefore given as   ∗ φ , δ A φ φ∗ , δ B φ − . (5.218) δμ = μ φ∗ , Aφ φ∗ , Bφ The remaining part of this section is dedicated to the evaluation of the Jacobian vector of a homogeneous functional similar to Eq. (5.187) and written P {φ(r), X} =

Σ1 , φ . Σ2 , φ

(5.219)

Two distinct evaluation techniques will be investigated: the implicit and explicit approaches.

304

Chapter 5

5.3.3

Computing the Jacobian using the implicit approach

We take the internal product of Eq. (5.216) with an arbitrary element of the vectorial space S ∗ denoted as Γ∗ (r). After rearranging the terms of the left-hand side, we obtain  ' &  (5.220) δφ, A − μ B Γ∗ = − [δ A −μ δ B −δμ B] φ, Γ∗  . The variation of the homogeneous functional defined in Eq. (5.219) is given by Eq. (5.194) as δPδφ {φ(r)} = δφ, ∇P {φ(ζ); r}  ' &  = δφ, A − μ B Γ∗ = − [δ A −μ δ B −δμ B] φ, Γ∗  = − δ [A − μ B] φ, Γ∗ 

(5.221)

using Eq. (5.220) and provided that Γ∗ (r) is the solution of the following fixed source eigenvalue equation:   A(r, X) − μ B (r, X) Γ∗ (r) = ∇P {φ(ζ); r}. (5.222) The components of the Jacobian vector are therefore written D C D⎤ ⎡C ∂Σ2 , φ ∂Σ1 , φ ) * ∂ ∂ ∂Xi ∂Xi ∗ ⎦ ⎣ − − (5.223) P {φ(r), X} = P {φ(r), X} [A − μ B] φ, Γ ∂Xi Σ1 , φ Σ2 , φ ∂Xi where i = 1, I. The evaluation of the Jacobian using Eq. (5.223) requires the evaluation of one fixed source eigenvalue equation similar to Eq. (5.222) for each reactor characteristic, whatever the number of state variables. According to Theorem 2 of Sect. 5.3.2, a solution of Eq. (5.222) exists if and only if its right-hand side is orthogonal to the direct neutron flux φ(r). This condition is fulfilled, as Theorem 1 has proven that the gradient of a homogeneous functional of the flux is orthogonal to the flux. Theorem 3 of Sect. 5.3.2 states that an infinity of solutions exists for Eq. (5.223). It is necessary to prove that all these solutions are valid and can be used to compute the Jacobian. Theorem 4 The value of the Jacobian computed by Eq. (5.223) remains unchanged if Γ∗ (r) is replaced by Γ∗ (r) + k φ∗ (r), for all values of constant k. Proof: Using Γ∗ (r) + k φ∗ (r) in the right-hand side of Eq. (5.223) leads to * * ) ) ∂ ∂ ∗ ∗ ∗ [A − μ B] φ, Γ (r) + k φ (r) = [A − μ B] φ, Γ ∂Xi ∂Xi ) *  ∂ ∂μ ∂ ∗ + k (5.224) A− B −μ B φ, φ ∂Xi ∂Xi ∂Xi where i = 1, I. Substituting Eqs. (5.212) to (5.214) into Eq. (5.218), we can write the derivative of the eigenvalue as D C D⎤ ⎡C ∗ ∗ ∂ Aφ ∂ Bφ φ , , φ ∂μ ∂Xi ∂Xi ⎦ ; i = 1, I. − (5.225) = μ⎣ ∂Xi φ∗ , Aφ φ∗ , Bφ

Full-core calculations

305

Substitution of Eq. (5.225) into the last term in Eq. (5.224) causes this term to vanish. The internal products used to compute the Jacobian components in Eq. (5.223) are therefore independent of constant k. 2 Theorem 4 also shows that the Rayleigh ratio of Eq. (5.217) is the correct definition of the eigenvalue to be used with the GPT. In order to select a particular solution of Eq. (5.222), the following normalization condition is generally used: (5.226) Γ∗ , Bφ = 0.

5.3.4

Computing the Jacobian using the explicit approach

In the context of the explicit approach, neutron flux variations resulting from a change in state variables are computed explicitly. Let us first consider a first-order variation of the neutron flux. This variation is the solution of Eq. (5.216) and is written δφ(r) =

I  ∂φ(r) i=1

∂Xi

δXi .

(5.227)

Substitution of Eqs. (5.212) to (5.214) and (5.227) into Eq. (5.216) leads to a set of I fixed source eigenvalue equations, each of them written as [A(r, X) − μ B (r, X)]

∂φ(r) ∂ =− [A(r, X) − μ B (r, X)] φ(r); i = 1, I. ∂Xi ∂Xi

(5.228)

Solutions of these equations can be used to compute the variation of the homogeneous functional defined in Eq. (5.219) using D C D⎤ D C D C ∂Σ2 , φ + Σ , ∂φ ∂Σ1 , φ + Σ , ∂φ 1 2 ∂Xi ∂Xi ∂Xi ⎦ ⎣ ∂Xi − δXi δδφ P {φ(r), X} = P {φ(r), X} Σ , φ Σ , φ 1 2 i=1 I 

⎡C

(5.229) where i = 1, I, so that Eq. (5.223) can be replaced with the following explicit relation: D C D⎤ D C D C ∂Σ2 , φ + Σ , ∂φ ∂Σ1 , φ + Σ , ∂φ 1 2 ∂ ∂Xi ∂Xi ∂Xi ∂Xi ⎦ − P {φ(r), X} = P {φ(r), X}⎣ ∂Xi Σ1 , φ Σ2 , φ ⎡C

(5.230) where i = 1, I. The evaluation of Jacobian using Eq. (5.230) requires the evaluation of one fixed source eigenvalue equation similar to Eq. (5.228) for each state variable, whatever the number of reactor characteristics. According to Theorem 2 of Sect. 5.3.2, a solution of Eq. (5.228) exists if and only if its right-hand side is orthogonal to the adjoint neutron flux φ∗ (r). This condition is fulfilled, as the inner product of this term with φ∗ (r) can be shown to vanish. Theorem 3 of Sect. 5.3.2 states that an infinity of solutions exists for Eq. (5.228). It is necessary to prove that all these solutions are valid and can be used to compute the Jacobian. Theorem 5 The value of the Jacobian computed by Eq. (5.230) remains unchanged if ∂φ(r)/∂Xi is replaced by ∂φ(r)/∂Xi + k φ(r), for all values of constant k. This proof is left to the reader.

306

Chapter 5

Again, a particular solution can be set using the following normalization condition: ) * ∂φ ∗ (5.231) , B φ = 0; i = 1, I. ∂Xi We observe that both Eqs. (5.223) and (5.230) allow us to compute the same Jacobian of reactor characteristics, but require the solution of different fixed source eigenvalue equations. We generally choose the approach requiring the solution of the smallest number of fixed source eigenvalue equations. With the implicit approach, this number is equal to the number of reactor characteristics whereas it is equal to the number of state variables with the explicit approach. The numerical analysis techniques used to solve a fixed source eigenvalue equation are presented in Appendix C.

5.4

Space-time kinetics

Nuclear safety studies require a precise understanding of the full-core behavior under accidental conditions. Power transients caused by coolant voiding in a CANDU reactor or caused by control rod ejection in a pressurized water reactor are examples of accidental conditions that can potentially result in fuel damage. Such transients must be carefully analyzed and the corresponding safety studies must be reported in the safety report of the reactor in order to maintain the license of the nuclear installation. Safety studies require the representation of all thermohydraulic, thermo-mechanical and neutronic phenomena during the transient, together with the feedback effects of any regulating and/or control mechanism that may, or may not, trip during the transient. The neutronic behavior of the core during a transient is governed by space-time kinetics equations, a set of differential equations already presented in Section 3.3.2. Reactor kinetics is the area of reactor physics related to the study of neutron flux transients happening when the balance condition associated with the critical state is disturbed. More generally, it concerns the energy-space-time behavior of the neutron population in an assembly of material, critical or not, into which neutrons are introduced. The presentation made in this section is limited to the fundamentals of reactor kinetics and to its relations to the more general domain of reactor physics. The interested reader should consult specialized textbooks on this subject, such as the introduction to nuclear reactor kinetics by Rozon.[137] Delayed neutrons are produced by decay of delayed neutron precursors as explained in Sect. 2.9.2. In spite of their small population (less than 1% of the total neutron population), they dominate the average neutron lifetime and they play an important role on the chain reaction behavior. Proper treatment of neutron kinetics requires a set of differential equations to account for the time-dependent variation of both prompt neutrons and precursor concentrations. The continuous-energy transient transport equation is given by Eq. (3.64) as 1 ∂ φ(r, E, Ω, t) + Ω · ∇φ(r, E, Ω, t) + Σ(r, E) φ(r, E, Ω, t) = Q(r, E, Ω, t) (5.232) Vn (E) ∂t where the transient source density is given by Eqs. (3.75) and (3.76) as  Q(r, E, Ω, t) = 0



dE 



L  2 + 1 =0



Σs, (r, E ← E  ) 

 

 Rm (Ω) φm  (r, E , t)

m=− ∞

1 χpr (r, E) (1 − β) dE  νΣf (r, E  ) φ(r, E  , t) 4π 0   + χdel (r, E) λ c (r, t) + q(r, E, t)    +



(5.233)

Full-core calculations together with the set of Nd precursor equations:  ∞ ∂c (r, t) = β dE νΣf (r, E) φ(r, E, t) − λ c (r, t); ∂t 0 where β=



 = 1, Nd

β .

307

(5.234)

(5.235)



Equations (5.232) to (5.235) make use of the following definitions: χpr (r, E) = prompt fission neutron spectrum Σf (r, E) = macroscopic fission cross section β = delayed neutron fraction emitted by precursor group  χdel  (r, E) = neutron spectra for delayed fission neutrons emitted by precursors in group  λ = radioactive decay constant for precursor group  c (r, t) = concentration of the -th precursor q(r, E, t) = external neutron source density. The first operation on the above equations consists in assuming isotropic collisions in the LAB (i.e., L = 0) and transforming them into the form of multigroup diffusion equations. We obtain a system of transient equations similar to Eq. (5.12) and written 1 ∂ φg (r, t) − ∇ · Dg (r)∇φg (r, t) + Σrg (r) φg (r, t) Vn,g ∂t =

G 

Σg←h (r) φh (r, t) + χpr g (r) (1 − β)



νΣfh (r) φh (r, t)

h=1

h=1 h=g

+

G 

χdel ,g (r) λ c (r, t) + qg (r, t)

(5.236)



where 1 ≤ g ≤ G, together with the precursor concentrations. They are given by Eq. (5.234) as  ∂c (r, t) = β νΣfh (r) φh (r, t) − λ c (r, t); ∂t G

 = 1, Nd

(5.237)

h=1

In order to simplify the notation, we have assumed time-independent nuclear properties. A time variation of these properties is in fact the most probable cause of any transient.

5.4.1

Point-kinetics equations

The point-kinetics equations are those describing the transient behavior of the neutron flux without modification of its form. These equations are also those corresponding to a homogeneous reactor where the neutron flux is independent of the spatial variable r. Under these conditions, Eqs. (5.232) to (5.234) reduce to  ∞ 1 ∂ φ(E, t) + Σ(E) φ(E, t) = dE  Σs,0 (E ← E  ) φ(E  , t) Vn (E) ∂t 0  ∞ + χpr (E) (1 − β) dE  νΣf (E  ) φ(E  , t) 0  + χdel (E) λ c (t) + q(E, t) (5.238)    

308

Chapter 5

together with the set of Nd precursor equations:  ∞ ∂c (t) = β dE νΣf (E) φ(E, t) − λ c (t); ∂t 0

 = 1, Nd .

(5.239)

Equations (5.238) and (5.239) are multiplied by a weighting function of energy and integrated over 0 ≤ E < ∞. The choice of this weighting function is arbitrary, but choosing the initial adjoint flux φ∗0 (E) has been shown to improve the predictability of the reactor reactivity during the transient.[137] The resulting system of equations can be written  ¯ d ρ¯(t) − β(t) n(t) + n(t) = λ c¯ (t) + q¯(t) ¯ dt Λ(t)  d β¯ (t) c¯ (t) = ¯ n(t) − λ c¯ (t); dt Λ(t)

 = 1, Nd

where the time-dependent reactivity of the reactor is   (∞ (∞ dE φ∗0 (E) Σ(E) φ(E, t) − dE  Σs,0 (E ← E  ) φ(E  , t) 0 ρ¯(t) = 1 − 0 , ∞ (∞ ( dE φ∗0 (E) χss (E) dE  νΣf (E  ) φ(E  , t) 0

(5.240)

(5.241)

0

the steady-state fission spectrum is χss (E) = (1 − β) χpr (E) +



β χdel  (E),

(5.242)



the mean neutron generation time of the reactor is (∞

1 φ∗ (E) φ(E, t) Vn (E) 0 ¯ , Λ(t) = (∞ (∞ dE φ∗0 (E) χss (E) dE  νΣf (E  ) φ(E  , t) dE

0

0

(5.243)

0

the average delayed fractions are (∞ β¯ (t) =

dE φ∗0 (E) χdel  (E)

β 0(∞

(5.244) dE

φ∗0 (E) χss (E)

0

and ¯ = β(t)

 

(∞ β¯ (t) = 1 − (1 − β) 0(∞

dE φ∗0 (E) χpr (E) (5.245) dE φ∗0 (E) χss (E)

0

and where the neutron population, precursor concentration and external source are ∞ dE

n(t) =

1 φ∗ (E) φ(E, t), Vn (E) 0

(5.246)

0

∞ c¯ (t) = c (t) 0

dE φ∗0 (E) χdel  (E)

(5.247)

Full-core calculations and

∞ q¯(t) =

dE φ∗0 (E) q(E, t).

309

(5.248)

0

The point-kinetics Eqs. (5.240) have been obtained, without approximation, by direct weighted integration of Eqs. (5.238) and (5.239). However, any change in the adjoint or direct flux distributions during the transient is likely to induce temporal variations of the point-kinetics parameters. These equations provide a simplified model, suitable to analytical resolution, for studying many typical transients occurring in nuclear reactors. The point-kinetics equations are generally written with piecewise constant or step variations ¯ ρ¯ and q¯ in time. Under these conditions, analytical solutions can ¯ β¯ , β, of the parameters Λ, be obtained using the Laplace transform technique or with the integrating factor method over each time step where the parameters are constant. The latter approach will now be outlined, as proposed in Ref. [138]. Equations (5.240 are written in matrix form as x(0) = x0 d x(t) = A x(t) + S dt where

(5.249)



⎡ n(t) ⎢ c¯1 (t) ⎢ c¯2 (t) x(t) = ⎢ ⎢ . ⎣ . . c¯Nd (t)

⎤ ⎥ ⎥ ⎥, ⎥ ⎦

⎡ ⎤ q¯ ⎢0⎥ ⎢ ⎥ 0⎥ S=⎢ ⎢ . ⎥ and ⎣ .. ⎦ 0

ρ¯ − β¯ ¯ ⎢ Λ ⎢ β¯ 1 ⎢ ⎢ Λ ¯ ⎢ ¯ β A=⎢ ⎢ ¯2 ⎢ Λ ⎢ . ⎢ .. ⎣ ¯ βNd ¯ Λ

⎤ λ1

λ2

...

λNd

−λ1

0

...

0

0 .. . 0

−λ2 .. . 0

...

0 .. . −λNd

..

.

...

⎥ ⎥ ⎥ ⎥ ⎥ ⎥. ⎥ ⎥ ⎥ ⎥ ⎦

(5.250)

The initial conditions array x0 is the solution of the steady-state eigenvalue equation A x = 0 corresponding to the stationary reactor, before the perturbation is applied. If n(0) ≡ n0 is the initial flux, the corresponding initial conditions of the precursors are obtained by setting the time derivative to zero in Eq. (5.240). We obtain β¯ c (0) ≡ c,0 = ¯ n0 ; Λ λ

 = 1, Nd .

(5.251)

Each side of Eq. (5.249) is multiplied by the integrating factor e−At and integrated in time. We obtain the analytical solution of the point-kinetics equations as x(t) = eAt x0 + (eAt − I) A−1 S where we made use of the identity    t d  −At   dt e x(t ) − A x(t ) = e−At x(t) − x(0). dt 0

(5.252)

(5.253)

Equation (5.252) is the analytical solution of the point-kinetics equation over a time step where all parameters are constant. Its numerical evaluation is possible provided that one can evaluate the exponential matrix eAt . A straightforward technique consists in obtaining the Nd + 1 eigenvalues and eigenvectors of linear system (A − ωi I) pi = 0 where 1 ≤ i ≤ Nd + 1

(5.254)

310

Chapter 5

and in computing the exponential matrix with a linear algebra technique related to the CayleyHamilton theorem. The eigenvalues of Eq. (5.254) are the root of the characteristic polynomial det (A − ω I) = 0

(5.255)

which can be obtained from Eq. (5.250) as ¯ω+ ρ¯ − β¯ − Λ

 β¯ λ = 0. λ + ω

(5.256)



Equation (5.256) is an important relation in point-kinetics theory. It is called the inhour equation and leads to many physical interpretations of typical phenomena occurring in a noncritical nuclear reactor. We present a simple Matlab script for solving the inhour equation. The script parameters are defined as lambda = array of dimension Nd containing the decay constants λ for the delayed neutrons ¯ L = neutron generation time Λ beta = array of dimension Nd containing the delayed fractions β¯ rho = reactivity ρ¯ y = array of dimension Nd + 1 containing the roots ωi of the inhour equation. This script is written: function y = inhour(lambda, L, beta, rho) % Find the roots of the inhour equation % function y = inhour(lambda, L, beta, rho) % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal [nn, dd]=residue(lambda.*beta,-lambda,[]) ; y=sort(roots(conv([-L, rho-sum(beta)],dd)+[0 0 nn])) ;

A representation of the Nd +1 roots ωi of the inhour equation, corresponding to negative and positive values of the reactivity ρ is depicted in Fig. 5.11. The plot shows the seven branches corresponding to a case with six groups of precursors. The analytical solution also requires the knowledge of the matrix P whose columns are the eigenvectors of square matrix A. This matrix is equal to P = {pi,j ; i = 1, Nd + 1 and j = 1, Nd + 1}

(5.257)

β¯i . p1,j = 1 and pi+1,j = ¯ Λ (λi + ωj )

(5.258)

where

Similarly, we can show that[139] P−1 = {yi,j ; i = 1, Nd + 1 and j = 1, Nd + 1} where

 yi,1 = 1 +

 

β¯ λ ¯ Λ (λ + ωi )2

−1 and yi,j+1 = yi,1

λj . λj + ω i

(5.259)

(5.260)

Evaluation of the exponential matrix eAt is possible using the Cayley-Hamilton theorem. This theorem states that every square matrix over the real or complex field satisfies its own

Full-core calculations

ω=

311

ρ−β Λ

ρ=β

ω=0

ω = −λ6

ω=−

β Λ ρ=0

Figure 5.11: Plot of the inhour equation for six groups of precursors. The plot is not to ¯ Λ ¯  λ6 in real situations. scale as β/

characteristic equation. A related theorem allows us to calculate powers of matrices (and power series of matrices) more simply than by direct multiplication. Theorem If P is the matrix whose columns are the eigenvectors of square matrix A, and if ωi are the corresponding eigenvalues, then An = P diag(ωin ) P−1 ∀n ≥ 0 and eAt = P diag(eωi t ) P−1 .

(5.261) (5.262)

Proof: From Eq. (5.254), we can write AP = P diag(ωi ) so that A = P diag(ωi ) P−1 .

(5.263)

The similarity transformation of Eq. (5.263) can be generalized to Eq. (5.261), as    A2 = P diag(ωi ) P−1 P diag(ωi ) P−1 = P diag(ωi2 ) P−1 A3 = P diag(ωi3 ) P−1 , etc. so that e

At

=

∞  Ak t k k=0

k!

=

∞  P diag[(ωi t)k ] P−1 k=0

k!

 = P diag

∞  [(ωi t)k ]

k=0

k!

 P−1 = P diag(eωi t ) P−1 . (5.264)

2

312

Chapter 5

5.4.2

The implicit temporal scheme

In the preceding section, we introduced solutions obtained with the point-kinetics model. In those calculations, we have neglected temporal variations of • the energy dependence of the neutron flux • the spatial dependence of the neutron flux and precursor concentrations. These temporal variations cannot be neglected during many transients occurring in large power reactors. The treatment of space-time kinetics effects is generally required for performing reliable safety studies related to reactivity insertion and/or removal. In these situations, the pointkinetics model is inaccurate and leads to non-conservative solutions. A positive insertion of reactivity, which can cause or aggravate an accident, is generally underestimated by the pointkinetics model. Consequently, modern safety analyses must rely on a space-time kinetics model. Many such approaches are available, as pointed out in Ref. [137]. We will restrict our presentation to the implicit temporal scheme. A finite-difference relation is used for time discretization of neutron flux and precursor equations, written as     ∂ ∂ φg (r, tn ) − φg (r, tn−1 ) (1 − Θ) φg (r, t) + Θ φg (r, t) = ∂t ∂t Δtn t t  n−1 n   ∂ ∂ c (r, tn ) − c (r, tn−1 ) (1 − Θ) c (r, t) + Θ c (r, t) = ;  = 1, Nd ∂t ∂t Δtn tn−1 tn (5.265) where φg (r, tn ) is the neutron flux at time tn , c (r, tn ) is a precursor concentration at time tn and Δtn is the time step size over which the temporal derivatives of the unknowns are assumed to be constant. Equation (5.265) is a general expression including three usual integration schemes: Settings Θ = 0, Θ = 1 and Θ = 1/2 yield the explicit scheme, the fully implicit scheme and the Crank-Nicholson scheme, respectively.[140] The explicit scheme is also known as the Euler method. Except for Θ = 0, the solution algorithm is implicit, as it requires inversion of the differential operators in Eq. (5.236). The Crank-Nicholson scheme is generally the more accurate of the three. A variable time step size is used during the numerical procedure for decreasing the total amount of time steps and computing time. The precursor Eqs. (5.234) can be integrated analytically using the integrating factor method. However, numerical tests show that using the analytical solution for c (r, tn ) brings few numerical advantages over the expression based on finite differencing for precursors. We now study the application of the implicit temporal scheme in Eq. (5.265) to the matrix system given by Eq. (5.249). The implicit temporal scheme is written x(n+1) − x(n) = Θ A x(n+1) + (1 − Θ) A x(n) + S Δtn

(5.266)

x(n) ≡ x(tn ).

(5.267)

where The temporal scheme (5.266) can be applied to the point-kinetics equations and used to study their stability characteristics. It can also be applied to the space-time kinetics equations for solving full-core problems. Equation (5.266) with S = 0 may be written as x(n+1) = R x(n)

(5.268)

Full-core calculations

313

where I is the identity matrix and where the iterative matrix is defined as −1 



I − ΘA R= Δtn

 I + (1 − Θ) A . Δtn

(5.269)

The eigenvalue problem associated to the above iterative scheme is written γ i pi − R pi = 0

(5.270)

where γi is the i-th eigenvalue of matrix R and pi is the corresponding eigenvector. We can easily show that the eigenvectors in Eqs. (5.254) and (5.270) are identical and that the corresponding eigenvalues are related using 1 + (1 − Θ) ωi Δtn γi = . (5.271) 1 − Θ ωi Δtn The eigenvectors of matrix R are linearly independent, so that the initial condition x0 of the dependent variable can be expressed as a linear combination of the form x0 ≡ x(0) =



ci pi .

(5.272)

i

After a progression of n time steps, we have x(n) = R x(n−1) = R



ci γin−1 pi =

i



ci γin pi .

(5.273)

i

In order to test the stability of the temporal implicit scheme, we apply a negative reactivity ρ < 0 to a point-kinetics problem and verify that the numerical solution given by Eq. (5.273) vanishes as t increases. The stability will be guaranteed if |γi | < 1 for all values of i. In cases where ρ < 0, we observe from Fig. 5.11 that all eigenvalues ωi are negative. Equation (5.271) leads to condition |γi | < 1 if − (1 + Θ |ωi | Δtn ) < 1 − (1 − Θ) |ωi | Δtn < 1 + Θ |ωi | Δtn which is satisfied if

1 − 2Θ |ωi | Δtn < 1; ∀ i. 2

(5.274)

(5.275)

We conclude that the explicit scheme (Θ = 0) is stable if the time step size is set below a threshold value written as 2 . (5.276) Δtn < maxi (|ωi |) The stability condition (5.276) is very restrictive. We note in Fig. 5.11 that the most negative root of the inhour equation is around −β/Λ. Therefore, time steps smaller than 10 to 20 milliseconds will be necessary in order to avoid instabilities of the explicit temporal scheme. In space-time kinetics cases, the spatial derivatives can be discretized with a finite-difference or finite-element approach. In this case, we can show that the most negative eigenvalue of matrix A is becoming more negative as the spatial discretization mesh decreases.[140] Consequently, as the spatial discretization mesh is made smaller, the time step must be reduced accordingly to ensure stability of the explicit temporal scheme. Using Eq. (5.274), we can finally show that the fully implicit and Crank-Nicholson schemes are unconditionally stable. The practical choice of Θ for production calculations is selected in interval 1/2 ≤ Θ ≤ 1.

314

Chapter 5

5.4.3

The space-time implicit scheme

The implicit temporal scheme for integrating the space-time kinetics equations is based on Eqs. (5.234) and (5.236). The initial conditions of these equations are given by the solution of the steady-state eigenvalue Eq. (5.12) corresponding to the stationary reactor, before the perturbation is applied. If φg (r, t0 ) is the initial flux in energy group g, the corresponding initial conditions of the precursors are obtained by setting the time derivative to zero in Eq. (5.234) and by rewriting the resulting equation in multigroup form. We obtain c (r, t0 ) =

G β  νΣfh (r) φh (r, t0 ); λ

 = 1, Nd .

(5.277)

h=1

Let us first derive the fully implicit scheme by setting Θ = 1. The Nd precursor concentrations are first obtained as   G  1 c (r, tn−1 ) + β Δtn νΣfh (r) φh (r, tn ) (5.278) c (r, tn ) = 1 + λ Δtn h=1

where 1 ≤  ≤ Nd . Substitution of Eqs. (5.265) and (5.278) into Eq. (5.236) leads to 1 [φg (r, tn ) − φg (r, tn−1 )] − ∇ · Dg (r)∇φg (r, tn ) + Σrg (r) φg (r, tn ) Vn,g Δtn =

G 

Σg←h (r) φh (r, tn ) + χss g (r)

νΣfh (r) φh (r, tn )

h=1

h=1 h=g

+

G 



χdel ,g (r)



G   λ β c (r, tn−1 ) − χdel νΣfh (r) φh (r, tn ) ,g (r) 1 + λ Δtn 1 + λ Δtn 

h=1

+ qg (r, tn )

(5.279)

where we used the steady-state fission spectrum defined as  pr β χdel χss g (r) = (1 − β) χg (r) + ,g (r).

(5.280)



The terms depending on time tn−1 in Eq. (5.279) can be grouped together as a known fixed source. We finally obtain our fully implicit scheme as 1 φg (r, tn ) − ∇ · Dg (r)∇φg (r, tn ) + Σrg (r) φg (r, tn ) Vn,g Δtn = Sgimp (r, tn ) +

Σg←h (r) φh (r, tn )

h=1 h=g

 +

G 

χss g (r) −



χdel ,g (r)



β 1 + λ Δtn

 G

νΣfh (r) φh (r, tn )

(5.281)

h=1

with the fixed source defined as Sgimp (r, tn ) =

 1 λ φg (r, tn−1 ) + χdel c (r, tn−1 ) + qg (r, tn ) ,g (r) Vn,g Δtn 1 + λ Δtn 

along with the precursor Eq. (5.278).

(5.282)

Full-core calculations

315

The explicit scheme is derived by setting Θ = 0. The Nd precursor concentrations are first obtained as c (r, tn ) = (1 − λ Δtn ) c (r, tn−1 ) + β Δtn

G 

νΣfh (r) φh (r, tn−1 )

(5.283)

h=1

where 1 ≤  ≤ Nd . Substitution of Eqs. (5.265) and (5.283) into Eq. (5.236) leads to 1 φg (r, tn ) = Sgexp (r, tn ) Vn,g Δtn

(5.284)

with the fixed source defined as 1 Sgexp (r, tn ) = φg (r, tn−1 ) + ∇ · Dg (r)∇φg (r, tn−1 ) − Σrg (r) φg (r, tn−1 ) Vn,g Δtn   G G   ss del + Σg←h (r) φh (r, tn−1 ) + χg (r) − β χ,g (r) νΣfh (r) φh (r, tn−1 ) 

h=1 h=g

+



h=1

χdel ,g (r) λ c (r, tn−1 ) + qg (r, tn−1 ).

(5.285)



The general integration scheme for an arbitrary value of Θ is therefore written  1 [1 − (1 − Θ) λ Δtn ] c (r, tn−1 ) c (r, tn ) = 1 + Θ λ Δtn + (1 − Θ) β Δtn

G 

νΣfh (r) φh (r, tn−1 )

h=1

+ Θ β Δtn

G 



νΣfh (r) φh (r, tn )

(5.286)

h=1

where 1 ≤  ≤ Nd , together with the flux equation 1 φg (r, tn ) − Θ ∇ · Dg (r)∇φg (r, tn ) + Θ Σrg (r) φg (r, tn ) Vn,g Δtn = SgΘ (r, tn ) + Θ

Σg←h (r) φh (r, tn )

h=1 h=g

 +Θ

G 

χss g (r)





χdel ,g (r)



 G β νΣfh (r) φh (r, tn ) 1 + Θ λ Δtn

(5.287)

h=1

and where the fixed source is defined as  1 λ SgΘ (r, tn ) = φg (r, tn−1 ) + χdel c (r, tn−1 ) ,g (r) Vn,g Δtn 1 + Θ λ Δtn   + (1 − Θ) ∇ · Dg (r)∇φg (r, tn−1 ) − Σrg (r) φg (r, tn−1 ) +

G 

Σg←h (r) φh (r, tn−1 )

h=1 h=g

 +

χss g (r) −

 

χdel ,g (r)

  G β νΣfh (r) φh (r, tn−1 ) 1 + Θ λ Δtn

+ (1 − Θ) qg (r, tn−1 ) + Θ qg (r, tn ).

h=1

(5.288)

316

Chapter 5

Equations (5.286) to (5.288) provide an efficient implicit scheme that can be applied for the discretization of the space-time kinetics equations. The fixed-source Eq. (5.287) is discretized by a technique such as those presented in Sect. 5.2 and the resulting matrix system is solved by a numerical analysis technique, similar to those presented in Appendix C.

Exercises 5.1 A homogeneous material (M ) has a diffusion coefficient equal to D and a macroscopic absorption cross section equal to Σa . We also define κ2 =

Σa . D

(5.289)

(a) A 1D slab, made of material M , is defined in interval −a ≤ x ≤ a. A neutron is emitted isotropically at an arbitrary abscissa point x0 , with −a < x0 < a. Determine the probability P (x0 ) for this neutron to be absorbed in the slab. Assume that the neutron behavior is described using the neutron diffusion equation. (Hint: Use the zero incoming current condition at x = ±a.) (b) Compute the probability P for a neutron born isotropically and uniformly in the slab to be absorbed in the slab. (c) Now consider an infinite and homogeneous geometry made of material M . Compute the probability P∞ (x0 ) for a neutron born isotropically at an arbitrary abscissa point x0 , with −a < x0 < a to be absorbed in this interval. (d) Compute the probability P∞ for a neutron born isotropically and uniformly in interval −a ≤ x ≤ a of the infinite and homogeneous geometry to be absorbed in this interval. (e) An isotropic and uniform neutron source Q (expressed in n/s/cm3 ) is introduced in the infinite and homogeneous geometry. 1) Compute the neutron flux in this geometry. 2) We now study the neutron population in the interval −a < x0 < a, and define P = probability for a neutron born uniformly in interval −a < x0 < a to be absorbed in this interval without escaping from it Γ = probability for a neutron entering isotropically and uniformly at x = ±a to be absorbed in interval −a < x0 < a without escaping from it. Find the relation between P and Γ. (Hint: Use Eqs. (5.23) to determine the number of neutrons entering in the interval at x = ±a.) (f) The albedo β is defined as the probability for a neutron crossing a plane to cross back on the same plane in the opposite direction during its migration. Using former results, write P∞ in terms of P , Γ and β. Write β in terms of κ and D. 5.2 A nuclear reactor is made of a homogeneous 1D slab of thickness L = 700 cm. The neutron flux is assumed to be the solution of the two-group neutron diffusion equation, defined over this slab. Zero-flux boundary conditions are used on both sides of the slab. Nuclear properties are taken from Table 5.1. (a) Find the analytic expression and numerical value of Keff . (b) Compute the values of the fast and thermal neutron flux, and the ratio of the fast flux over the thermal flux, at 0, 20, 40, 60, 80, . . ., 660, 680, 700 cm. Assume that the maximum thermal flux is equal to 1.

Full-core calculations

317

Table 5.1: Two-group nuclear propertiesa Material

D1 (cm)

D2 (cm)

Σr,1 (cm−1 )

Σr,2 (cm−1 )

Σ2←1 (cm−1 )

νΣf,2 (cm−1 )

1

1.264

0.9328

8.154 × 10−3

4.10 × 10−3

7.368 × 10−3

4.562 × 10−3

(a) Σ1←2 = 0 and νΣf,1 = 0

5.3 A nuclear reactor of thickness L = 700 cm is reflected using 40 cm of reflecting material on both sides of the core, as depicted in Fig. 5.12. Nuclear properties are taken from Table 5.2. (a) Find the analytic expression and numerical value of Keff . (b) Compute the values of the fast and thermal neutron flux, and the ratio of the fast flux over the thermal flux, at 0, 20, 40, 60, 80, . . ., 660, 680, 700 cm. Assume that the maximum thermal flux is equal to 1.

Table 5.2: Two-group nuclear propertiesa Material

D1 (cm)

D2 (cm)

Σr,1 (cm−1 )

Σr,2 (cm−1 )

Σ2←1 (cm−1 )

νΣf,2 (cm−1 )

1 2

1.264 1.310

0.9328 0.8695

8.154 × 10−3 1.018 × 10−2

4.100 × 10−3 2.117 × 10−4

7.368 × 10−3 1.018 × 10−2

4.562 × 10−3 0.0

material 2

material 1

material 2

40 cm

620 cm

40 cm

zero flux

zero flux

(a) Σ1←2 = 0 and νΣf,1 = 0 for each material

X

Figure 5.12: Geometry of the reflected 1D reactor

5.4 The nuclear reactor of Prob. 5.3 is now represented in half-core symmetry, using a zeroflux boundary condition on the left (at x = 0 cm) and a symmetry condition on the right (at x = 350 cm). The neutron diffusion is discretized using sub-regions of 40, 77.5, 77.5, 77.5 and 77.5 cm, respectively. The discretization produces an eigenvalue matrix system of the form 1 AΦ = B Φ. (5.290) Keff The mesh-corner finite-difference approximation is used, so that the unknown vector Φ is defined as

318

Chapter 5 ⎞ φ1 (0cm) ⎜ φ1 (40cm) ⎟ ⎟ ⎜ ⎜ φ1 (117.5cm) ⎟ ⎟ ⎜ ⎜ φ1 (195cm) ⎟ ⎟ ⎜ ⎜ φ1 (272.5cm) ⎟ ⎟ ⎜ ⎜ φ (350cm) ⎟ Φ=⎜ 1 ⎟. ⎜ φ2 (0cm) ⎟ ⎟ ⎜ ⎜ φ2 (40cm) ⎟ ⎟ ⎜ ⎜ φ2 (117.5cm) ⎟ ⎟ ⎜ ⎜ φ2 (195cm) ⎟ ⎠ ⎝ φ2 (272.5cm) φ2 (350cm) ⎛

(5.291)

(a) Compute the numerical values of the components of matrices A and B and solve the eigenvalue matrix system (5.290) using the Matlab script aleig of Sect. C.2.1. (b) Find the numerical value of Keff . (c) Compute the values of the fast and thermal neutron flux, and the ratio of the fast flux over the thermal flux, at 0, 40, 117.5, 195, 272.5 and 350 cm. Assume that the thermal flux is equal to 1 at x = 350 cm. 5.5 The nuclear reactor of Prob. 5.3 is discretized with the same sub-regions, but using the mesh-centered finite-difference approximation. The unknown vector Φ is now defined as ⎞ φ1 (20cm) ⎜ φ1 (78.75cm) ⎟ ⎟ ⎜ ⎜ φ1 (156.25cm) ⎟ ⎟ ⎜ ⎜ φ1 (233.75cm) ⎟ ⎟ ⎜ ⎜ φ (311.25cm) ⎟ Φ=⎜ 1 ⎟. ⎜ φ2 (20cm) ⎟ ⎟ ⎜ ⎜ φ2 (78.75cm) ⎟ ⎟ ⎜ ⎜ φ2 (156.25cm) ⎟ ⎠ ⎝ φ2 (233.75cm) φ2 (311.25cm) ⎛

(5.292)

(a) Compute the numerical values of the components of matrices A and B and solve the eigenvalue matrix system (5.290) using the Matlab script aleig of Sect. C.2.1. (b) Find the numerical value of Keff . (c) Compute the values of the fast and thermal neutron flux, and the ratio of the fast flux over the thermal flux, at 20, 78.75, 156.25, 233.75 and 311.25 cm. Assume that the thermal flux is equal to 1 at x = 311.25 cm. 5.6 The nuclear reactor of Prob. 5.3 is discretized with the same sub-regions, but using the Lagrangian finite-element method with linear, parabolic and cubic polynomials. (a) Compute the numerical values of the components of matrices A and B and solve the eigenvalue matrix system (5.141) using the Matlab script aleig of Sect. C.2.1. (b) Find the numerical value of Keff . (c) Compute the values of the fast and thermal neutron flux, and the ratio of the fast flux over the thermal flux, at 0, 40, 117.5, 195, 272.5 and 350 cm. Assume that the thermal flux is equal to 1 at x = 350 cm.

Full-core calculations

319

(d) Replace the mass matrix components of Eq. (5.144) with values obtained with a Gauss-Lobatto quadrature, so that 1  0 M1 = 2 1 . 0 2 Find the numerical value of Keff in this case. 5.7 A nuclear reactor of size 700 × 700 cm is represented in 2D Cartesian geometry. The core is reflected using 40 cm of reflecting material, as depicted in Fig. 5.13. Nuclear properties are taken from Table 5.2. Compute the value of Keff using the ANM with flat transverse leakage approximation. (a) Use node sizes of 40×40, 40×310 and 310×310 cm. (b) Use node sizes of 40×40, 40×62 and 62×62 cm.

Y C C

zero flux

material 1

material 2 zero flux 40 cm

X

310 cm

Figure 5.13: Geometry of the reflected 2D reactor

5.8 We want to improve the numerical method used to solve Prob. 5.5. The same sub-region definitions are used and the neutron-diffusion equation is discretized using the meshcentered finite-difference approximation. (a) Modify the Matlab script aleig to introduce the multigroup partitioning method of Sect. C.2.4 and the Cholesky factorization of Sect. C.1.2. Recompute the corresponding numerical solution to validate your programmation. (b) Make a second modification to your Matlab script to introduce the Hotelling deflation method of Sect. C.2.3. Compute the fundamental (λ1 ≡ Keff ) and the two following eigenvalues λ2 and λ3 . 5.9 The nuclear reactor depicted in Fig. 5.12 is characterized by the nuclear properties of Table 5.3, where two selected elements α and β are being used as state variables. Use the numerical approach of Prob. 5.5 to obtain the neutron flux. Compute the numerical values of the two state variables in the following situations:

320

Chapter 5

Table 5.3: Two-group nuclear propertiesa Material

D1 (cm)

D2 (cm)

Σr,1 (cm−1 )

Σr,2 (cm−1 )

Σ2←1 (cm−1 )

νΣf,2 (cm−1 )

1 2

1.264 1.310

0.9328 0.8695

8.154 × 10−3 1.0 × 10−2 + β

α 2.117 × 10−4

7.368 × 10−3 β

4.562 × 10−3 0.0

(a) Σ1←2 = 0 and νΣf,1 = 0 for each material

(a) Assuming β = 5.0 × 10−3 , compute the value of α making the reactor critical. Use the Newton algorithm and compute the gradients with the classical perturbation method. (b) Compute the values of α and β making the reactor critical and the thermal-flux form factor F2 equal to 1.4. Use the Newton algorithm and compute the gradients with the classical and the generalized perturbation methods. Take the form factor definition as 310.0cm φ2 (311.25cm) . (5.293) F2 = 350.0cm ( dx φ2 (x) 40.0cm

Use the Newton algorithm as implemented in the following Matlab script: function y=newton(func,x1) % Newton method % function y=newton(func,x1) % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal f=feval(func,x1) ; x2=x1-f{2}\f{1} ; iter=0 ; while (norm(abs(x1-x2)) >= 1.0e-6) && (norm(abs(f{1})) >= 1.0e-6) iter=iter+1 ; if iter > 10 error(’exceeded number of iterations’) end x1=x2; f=feval(func,x1) ; x2=x1-f{2}\f{1} ; end y=x2;

where f=func(x1) is a Matlab function returning a cell array with two components: • f{1} is the function value evaluated at x1 • f{2} is the gradient of the function evaluated at x1. In the second part of this exercise, these values are defined as   α x1 = β

 f{1} =

λ−1 F2 − 1.4



 and

∂ (λ − 1) ⎢ ∂α f{2} = ⎣ ∂ (F2 − 1.4) ∂α

⎤ ∂ (λ − 1) ⎥ ∂β ⎦. ∂ (F2 − 1.4) ∂β

Full-core calculations

321

5.10 Using the Laplace transform technique, solve the point-kinetics equations with one group of precursors (Nd = 1) and without external source. Consider the effect of a stepwise addition of reactivity of the form  0, if t ≤ 0 ; (5.294) ρ¯(t) = ρ0 , otherwise. (a) Find the s-space solution of the neutron population N (s) and precursor concentration C(s). (b) Find the corresponding solution for n(t) and c¯(t) with respect to time. ¯ = 10−4 s, (c) Find and plot the numerical solution corresponding to values β¯ = 0.0065, Λ −1 13 −3 ρ0 = 0.0025, λ = 0.0766 s and n0 = 10 cm . 5.11 Using the integrating factor method, solve the point-kinetics equations with six groups of precursors (Nd = 6) and without an external source. Consider the effect of a stepwise addition of reactivity, as given in Eq. (5.294). The precursor properties are given in ¯ = 2 × 10−5 and the initial neutron Table 5.4, the mean neutron generation time is Λ −3 population is n0 = 1 cm . Table 5.4: Properties of the six groups of precursors  1 2 3 4 5 6

λ (s−1 ) 0.0127 0.0317 0.115 0.311 1.40 3.87

β¯ 0.000266 0.001491 0.001316 0.002849 0.000896 0.000182

Write a Matlab script “function [t,n] = pca(..., target, steps) ;” for solving the point-kinetics equations with the integrating factor method in the interval 0 ≤ t ≤ target using a number of equal-size time steps given by the Matlab variable steps. The function pca will therefore return two arrays of size steps, t and n, containing time and neutron population components, respectively. Assume that the properties are stepwise constant. Solve and plot the resulting solution for the neutron population in the time interval 0 ≤ t ≤ 1 s. Assume three different values of reactivity insertion: ρ0 = 0.003 (prompt subcritical), ρ = 0.007 (prompt critical) and ρ = 0.008 (prompt supercritical). Report the values n(t) at 0.01, 0.1, 0.5, 1.0 and 10 s. 5.12 The nuclear reactor depicted in Fig. 5.12 is characterized by the nuclear properties of Table 5.2 and with the precursor properties given in Table 5.4. The group-wise neutron velocities are v1 = 107 cm/sec and v2 = 2.0 × 105 cm/sec. (a) Use the numerical approach of Prob. 5.5 to obtain the steady-state neutron flux. Adjust the fission cross section in order to keep the reactor critical, with the other properties of Table 5.2. (b) At time t = 0+ , a perturbation is applied to the thermal removal cross section in material 1, in such a way that Σr,2 is replaced by Σr,2 − 2 × 10−5 cm−1 in the halfleft core, between 40 and 350 cm. Using the fully implicit (Θ = 1) and the CrankNicholson (Θ = 1/2) schemes of Sect. 5.4.3, solve the space-time kinetics equations

322

Chapter 5 resulting from the above perturbation. Use integrating time steps Δtn = 0.1 s and solve for 0 ≤ t ≤ 10 s. (c) Report and plot the value of the thermal neutron flux defined as = φnorm 2

φ2 (311.25 cm, tn ) φ2 (311.25 cm, 0− )

at 0.1, 0.5, 1.0, 5.0 and 10.0 s after the start of the transient. (d) Rerun your script with Δtn = 0.01 and determine which temporal scheme is the more accurate.

Answers to Problems CHAPTER 2 2.1 2.2 2.3

2.4

2.5 2.6

2.7 2.8

2.9 2.10 2.11

2   μ + μ 2 + A2 − 1 1  with −1 ≤ μ ≤ 1 P (μ) = 2A μ 2 + A2 − 1 +1 1 P (E  ← (VCM , VR )) = A 2mA VCM VR  A2 + 2A cos ϕ + 1 (a) E = E (A + 1)2 A cos ϕ + 1 (b) μ =  2 A + 2A cos ϕ + 1 2 (c) μ = 3A α ln(1/α) (a) u − u = 1 − 1 − α ln(E0 /E) (b) n = u − u    A es 1 (A − 1) E − √ μ = 21 (A + 1) E − 2 E E 2 EE  2 √ !  2 μ+ μ2 +A2 −1 a 1 − μ2 + a μ μ + μ2 + A2 − 1 1 √ 1 − (a) P (μ) = 2A 2 2 2 A 2A  μ +A −1 2μ 1 − a + 2a μ2 , if μ ≥ 0; (b) P (μ) = 0, otherwise. (c) b = 21 and c = 1 + a 5 σγ = 8.59 × 102 b and σα = 2.58 × 103 b ∗ 233 233 (a) 10 n +232 90 Th → 90 Th → 90 Th + γ − − 1+ (b) s-wave interactions: 2 ; p-wave interactions: 12 or 32 (c) E0 = −4.11 eV (d) Ires = 75.24 b (a) σe /σγ = 0.386 (b) σγ = 21.88 b use Wsym (t) = 14 + t2 ω1 = 0.8470, ω2 = 0.1530, σ1 = 25.3514 b, σ2 = 275.1223 b, σγ,1 = 0.0430 b and σγ,2 = 0.4664 b.

324

Answers to problems

CHAPTER 3

! 1 − 2 δ(E  − E) if E ≤ E  Σ s,0  Σs,0 (E ← E ) = 3 E 0 otherwise √ (2) 2 2 [2E (Σa) − 3E (Σa)] PSi = 3 4   a 1 E (Σa) Q 1 + − φ = +3 ( + 1)Σ ( + 2)Σ2 Σ2 ⎡ ⎤ 0.83359 1.2888 0.47552 1.1961 1.9851 ∞ 0.56718 1.2742 1.8971 ⎥ ⎢ 0.73644 ⎢ ⎥ P = ⎢ 0.47552 0.99257 0.65932 1.8434 1.9174 ⎥ ⎣ ⎦ 0.36803 0.68609 0.56718 ∞ 2.1427 0.37811 0.63235 0.36523 1.3264 2.4725 ⎡ ⎤ 0.4247 0.3520 0.1320 0.3133 0.3422 ⎢ 0.2011 0.4739 0.1706 0.3580 0.3701 ⎥ ⎢ ⎥ (a) P = ⎢ 0.1320 0.2986 0.2240 0.4054 0.3810 ⎥ ⎣ ⎦ 0.0964 0.1927 0.1247 0.5426 0.4676 0.0652 0.1234 0.0726 0.2895 0.5613 

3.1 3.2 3.3 3.4

3.5





3.6 3.7

0.7422 0.9201 0.4498 1.3887 ⎢ 0.5258 1.0551 0.4957 1.4580 ⎢ (b) P = ⎢ 0.4498 0.8674 0.5422 1.4821 ⎣ 0.4273 0.7851 0.4560 1.6638 0.3979 0.7189 0.4057 1.4166 (a) Keff = 1.039015 (b) Keff = 1.169901 ⎡

0.3267 ⎢ 0.1213 ⎢ (a) P = ⎢ 0.0715 ⎣ 0.0491 0.0314 ⎡

3.8 3.9 3.10

0.2124 0.2943 0.1742 0.1037 0.0617

0.6906 0.8649 ⎢ 0.4942 0.9630 ⎢ (b) P = ⎢ 0.4373 0.8301 ⎣ 0.4265 0.7805 0.4084 0.7377 tan−1 (b/Σ) ˆ = φ(b) −1 √ b − Σs tan (b/Σ) Z= 3 SN S2 S6 S10 S14 S18 CP

Keff 0.82321 0.98281 1.08697 1.14706 1.18216 1.30580

⎤ 2.0888 2.1567 ⎥ ⎥ 2.1298 ⎥ ⎦ 2.2884 2.3920

0.0715 0.0995 0.1452 0.0713 0.0376

0.1595 0.1926 0.2318 0.2973 0.1516

⎤ 0.1647 0.1850 ⎥ ⎥ 0.1974 ⎥ ⎦ 0.2448 0.3160

0.4373 0.4744 0.5129 0.4507 0.4166

1.3862 1.4495 1.4648 1.5695 1.4224

⎤ 2.1441 2.2132 ⎥ ⎥ 2.1870 ⎥ ⎦ 2.2978 2.3668

Answers to problems

325

3.11 (a)2 μn > 0: 

Φ+ n,i−1/2 Φ− n,i+1/2



 =

 + ⎤ ⎡ Qn,i−1/2 Q− n,i+1/2 −1 Φ− + 3 6 ⎢ n,i−1/2 μn + Δxi ⎥ ⎢ ⎥  +  − ⎣ ⎦ Qn,i−1/2 Qn,i+1/2 + Δxi 6 3

μn Σi Δxi 2 + 3 μn i − 2 + Σi Δx 6

μn 2 μn 2

− μ2n − μ2n

μn Σi Δxi 2 + 6 μn i − 2 + Σi Δx 3

+ +

Σi Δxi 6 Σi Δxi 3

μn < 0: 

Φ+ n,i−1/2 Φ− n,i+1/2



(b) SN S2 S6 S10 S14 S18

 =

+ +

Σi Δxi 3 Σi Δxi 6

⎡ −1 ⎢ ⎢ ⎣

  Δxi

Δxi

Q+ n,i−1/2

Q+ n,i−1/2 6

3

+

+

Q− n,i+1/2

Q− n,i+1/2 3





6

− Φ+ n,i+1/2 μn

⎤ ⎥ ⎥ ⎦

Keff 0.834085 1.002116 1.104370 1.164016 1.201195

3.12 K 2 6 10 14 18

Keff 0.834633 1.003169 1.104425 1.163289 1.200249

3.13 type of solution CP MOC with nmu = 2 MOC with nmu = 3 MOC with nmu = 4 3.14

2 The

Keff 1.171658 1.164611 1.170945 1.171619

Keff = 1.03898 ± 8.2 × 10−4 using Eqs. (3.576) and (3.577). The calculated value may differ, depending on the random number sequence.

solution is a courtesy of Prof. J. Ragusa, Texas A&M University.

326

Answers to problems

CHAPTER 4 4.1

4.2

4.3

4.4 4.5

4.6

4.7

4.8

1 = 1 + (1 + C)(1 − α)(m − 1) αm−1 C (b) m ξ+γC 1 (c) A ξ+γC 1 eu/

(a) φ(u) =

Σs (u)  1/

E0 1 (b) φ(E) =

E Σs (E) E ! 1

e(u− )/

(c) φ(u) = e−1− u−

Σs (u)   1/  E0 1 e−1 ln αE0 −1 1 − e (d) φ(E) = −

E

E Σs (E) E  1 2 (a) Π(σa ) = 5 δ(σa − 3) + 10 if 3 ≤ σa < 9 0 otherwise. (b) σa g = 4.6246 b (c) ω1 = 0.73333 and ω2 = 0.26667 (d) σa g = 4.723 b ! P (u) (a) ϕf (u) = ff + Σ∗p,f + [1 − Pff (u)] Σ+ f Σf (u) (b) σe = 55.742 b, (c) σa,f g = 3.7230 b, (d) σa,f g = 3.3899 b (a) ϕf,1 = 0.9892 and ϕf,2 = 0.8886 (b) ϕf  = 0.9676 and ϕf σa,f  = 3.3953 b ˜a,f = 3.5123 b (c) σ ¯a,f = 3.5090 b , μ = 1.0009 and σ b (a) σe = N ∗ Σ+ b (b) ∗lim σe = f∗ + σf →∞ N N ∗ Σ+ (1 − C) b (c) ∗lim σe = f∗ + σf →∞ N (1 − C + C b) N ∗ (a) a = 1 and b = 1 ξ (b) q(u) = ξρ(u)  ( σa (u) 1 U (d) p = exp − ξ 0 du σs (u) + σa (u) −2 (e) p = 1.3 × 10−136 if A = 238.05 and  (p = 9.0 × 10 !  if A = 1.997 (  u u (u ) Σ 1 s (u )   a  if u ≥ 0 (a) φ(u) = Σ(u) S(u) + 0 du exp − u du Σ(u ) ΣΣ(u  ) S(u ) !  (  u Σs (0) 1  Σa (u ) (b) φ(u) = Σ(u) δ(u) + Σ(0) exp − 0 du Σ(u ) if u ≥ 0   (   ! ( E E Σa (E  ) Σs (E  ) 1  S(E) + E1 E 0 dE  exp − E dE (c) φ(E) = Σ(E) S(E ) if E ≤ E0    E Σ(E ) Σ(E )  (u  (  (u ) Σ 1 u 1 a (d) φ(u) = ξ Σs (u) 0 du exp − ξ u du Σs (u ) S(u ) if u  0   (u  a (u ) if u  0 (e) φ(u) = ξ Σ1s (u) exp − 1ξ 0 du Σ  Σs (u ) (a)

Answers to problems 4.9

327

(a) The first P1 equation is identical to Eq. (4.121). The second equation is  ∞ iJ (E) 1 iJ (E  ) Σ(E) = ϕ(E) + dE  Σs1 (E ← E  ) B 3 B 0 3Σ 1 , β(B, Σ) = , γ(B, Σ) = 1 3Σ2 + B 2 3Σ2 + B 2 1 (c) d(B, E) = 3Σ(E) (∞ J (E  ) 1 where Σtr (E) = Σ(E) − dE  Σs1 (E ← E  ) (d) d(B, E) = 3Σtr (E) J (E) 0 (a) Σ ϕ0 + iB J0 = Σs ϕ0 ϕ0 = α(B, Σ) Σs ϕ0 − 3iβ(B, Σ) B μ ¯ Σs J 0 (b) B 2 = −7.228029 × 10−2 cm−2 and d(B) = 0.276701 cm (c) B 2 = −7.26 × 10−2 cm−2 and d(B) = 0.275482 cm (b) α(B, Σ) =

4.10

4.11 Y (ω)/X0 Z(ω)/X0 4.12 4.13 4.14

1 n/kb 0.6372 0.3628

2 n/kb 0.8912 1.1088

3 n/kb 1.0110 1.9890

4 n/kb 1.0839 2.9161

5 n/kb 1.1404 3.8596

Both saturation models lead to Y (5 n/kb) = 0.1244 and Z(5 n/kb) = 4.8756. Y (5 n/kb)/X0 = 0.9933 and Z(5 n/kb)/X0 = 3.6113. Problem 4.11 data n=2 Y (ω)/X0 1.147117 Z(ω)/X0 3.844923

n=4 1.140411 3.859537

Problem 4.12 data n=2 Y (ω)/X0 1.213598 × 10−4 Z(ω)/X0 4.870681 × 10−3 Problem 4.13 data n=2 Y (ω)/X0 1.001036 Z(ω)/X0 3.610738

n=6 1.140365 3.859635

exact 1.140365 3.859635

n=4 1.238519 × 10−4 4.876096 × 10−3

n=4 0.9933081 3.611278

n=6 0.9932617 3.611287

n=6 1.238834 × 10−4 4.876116 × 10−3

exact 0.9932621 3.611287

exact 1.238831 × 10−4 4.876117 × 10−3

328

Answers to problems

CHAPTER 5 cosh κx0 cosh κa + 2Dκ sinh κa 1 (b) P = 1 − κa(coth κa + 2Dκ) κx0 (c) P∞ (x0 ) = 1 − cosh exp κa sinh κa (d) P∞ = 1 − κa exp κa (e) Γ = 4aΣa (1 − P ) P∞ − P 2κD (f) β = = 11 − + 2κD (P∞ − P )(1 − Γ) + Γ(1 − P )

5.1

(a) P (x0 ) = 1 −

5.2 5.3 5.4 5.5 5.6

Keff Keff Keff Keff

= 0.9977249 = 0.9977335 = 0.997971 = 0.997770

Analytical integration

Gauss-Lobatto

K 1 2 3 1

Keff 0.997798 0.997753 0.997736 0.997971

5.7 node sizes 40×40, 40×310 and 310×310 cm 40×40, 40×62 and 62×62 cm 5.8 5.9

5.10

Keff 0.991733 0.990186

λ1 ≡ Keff = 0.997770 , λ2 = 0.944539 and λ3 = 0.870882 in half-core. λ1 ≡ Keff = 0.997770 , λ2 = 0.976216 and λ3 = 0.944539 in full-core. (a) α = 4.0898 × 10−3 cm−1 obtained in 1 Newton iteration (b) α = 4.0900 × 10−3 cm−1 and β = 1.0537 × 10−2 cm−1 obtained in 3 Newton iterations. ¯ ¯+ β ! Λ β¯ n0 s + λ (a) N (s) = n0  N (s) + and C(s) = ¯ (s + λ) ¯ λ Λ ¯+ β − ρ0 s Λ s+λ   ¯ λ + β¯ ω1 t Λ ¯ λ + β¯ ω2 t ¯ ω2 + Λ ¯ ω1 + Λ Λ (b) n(t) = n0 e e + ¯ (ω1 − ω2 ) ¯ (ω2 − ω1 ) Λ Λ   ¯ ¯ ¯ ¯ λ + β¯ − ρ0 ω2 t ¯ ¯ ω2 + Λ β Λ ω1 + Λ λ + β − ρ 0 ω 1 t Λ e e + c¯(t) = n0 ¯ ¯ (ω1 − ω2 ) ¯ (ω2 − ω1 ) Λλ Λ Λ 2 ¯ ¯ where ω1 and ω2 are the roots of Λ ω + (Λ λ + β¯ − ρ0 ) ω − λ ρ0 = 0 (c) n(t) = 1.6211 × 1013 e0.0477 t − 6.2114 × 1012 e−40.124 t cm−3 c¯(t) = 8.4756 × 1015 e0.0477 t − 1.0081 × 1013 e−40.124 t cm−3

5.11 t (s) ρ0 = 0.003 ρ0 = 0.007 ρ0 = 0.008

0.0 1.0 1.0 1.0

0.01 1.65 4.5089 6.2029

0.1 1.7995 45.223 1410.4

0.5 1.9933 5345.9 2.1071×1012

1.0 2.2098 1.8057×106 6.1633×1023

10.0 8.0192 5.8881×1051 1.5147×10230

Answers to problems 5.12 Fully implicit (Θ = 1) t (s) 0.0 0.1 0.5 norm φ2 1.0 1.188116 1.566197 Crank-Nicholson (Θ = 1/2) t (s) 0.0 0.1 0.5 φnorm 1.0 1.225773 1.594325 2

1.0 1.785785

5.0 2.910663

10.0 4.720310

1.0 1.795227

5.0 2.905706

10.0 4.703238

329

Appendix A

Tracking of 1D and 2D geometries A.1

Tracking of 1D slab geometries

The tracking of 1D slab geometries is a particular case of a more general tracking operation, which consists to compute the intersections of a set of characteristics with the surfacic elements of the geometry. The result of this operation is the production of a tracking file containing straight-line particle trajectories. A tracking file is generally used in 1D slab geometry for a solution with the MOC and in general 2D geometries with the collision probability and MOC methods. A general-purpose tracking file can be implemented as a binary sequential file. A proposed format is described using the following Fortran instructions: WRITE(IUNIT) NSURF,NREG,NANGLE,NBTRK,FNORM WRITE(IUNIT) (SURF(I),I=1,NSURF),(VOL(I),I=1,NREG) WRITE(IUNIT) (DENSTY(I),I=1,NANGLE) WRITE(IUNIT) (COSANG(I),I=1,NANGLE),(SINANG(I),I=1,NANGLE) DO ITRK=1,NBTRK WRITE(IUNIT) IANGL,ISURF,JSURF,WEIGHT,NSEG WRITE(IUNIT) (NRSEG(I),I=1,NSEG) WRITE(IUNIT) (SEGLEN(I),I=1,NSEG) ENDDO

where IUNIT = Fortran unit associated with this sequential binary file NSURF = number of surfaces surrounding the geometry NREG = number of regions in the geometry NANGLE = number of trajectory angles NBTRK = number of trajectories (tracks) in tracking file FNORM = angular normalization factor SURF = perimeter length of each surface VOL = volume of each region

332

Appendix A

DENSTY = weights associated to each angle (in 2D). This information is required with advanced integration schemes and is not used for the basic schemes presented in this book. COSANG = cosine of trajectory angles (in 2D) relative to X-axis SINANG = sine of trajectory angles (in 2D) relative to X-axis IANGL = angle index for this track (1 ≤ IANGL ≤ NANGLE) ISURF = entering surface index for this track (1 ≤ ISURF ≤ NSURF) JSURF = exit surface index for this track (1 ≤ JSURF ≤ NSURF) WEIGHT = weight for this track NSEG = number of regions crossed by this track. If a single region is crossed many times, NSEG must be increased accordingly. NRSEG = indices of the regions crossed by this track (1 ≤ NRSEG(I) ≤ NREG) SEGLEN = segment lengths corresponding to each region crossed by this track. A tracking (in the X − Y plane) for a 1D slab in the X direction is generated in Matlab using the following script: function track=sybslab(x,ngauss) % produce a Gauss tracking in 1D slab geometry % function track=sybslab(x,ngauss) % (c) 2016 Alain Hebert, Ecole Polytechnique de Montreal nreg=size(x,2)-1 ; vol=zeros(1,nreg) ; for ik=1:nreg vol(ik)=x(ik+1)-x(ik) ; end %[mu0, w0]=lgwt(ngauss, -1.0, 1.0) ; if ngauss == 2 mu0=[0.577350269189626, -0.577350269189626] ; w0=[1.0, 1.0] ; elseif ngauss == 4 mu0=[0.861136311594052, 0.339981043584856] ; w0=[0.347854845137454, 0.652145154862546] ; elseif ngauss == 6 mu0=[0.932469514203152, 0.661209386466264, 0.238619186083197] ; w0=[0.171324492379170, 0.360761573048139, 0.467913934572691] ; elseif ngauss == 8 mu0=[0.960289856497536, 0.796666477413627, 0.525532409916329, 0.183434642495650] ; w0=[0.101228536290377, 0.222381034453374, 0.313706645877887, 0.362683783378362] ; elseif ngauss == 10 mu0=[0.973906528517172, 0.865063366688985, 0.679409568299024, 0.433395394129247, ... 0.148874338981631] ; w0=[0.066671344308688, 0.149451349150581, 0.219086362515982, 0.269266719309996, ... 0.295524224714753] ; elseif ngauss == 14 mu0=[0.986283808696812, 0.928434883663574, 0.827201315069765, 0.687292904811685, ... 0.515248636358154, 0.319112368927890, 0.108054948707344] ; w0=[0.035119460331752, 0.080158087159760, 0.121518570687903, 0.157203167158194, ... 0.185538397477938, 0.205198463721296, 0.215263853463158] ; elseif ngauss == 18 mu0=[0.991565168420931, 0.955823949571398, 0.892602466497556, 0.803704958972523, ... 0.691687043060353, 0.559770831073948, 0.411751161462843, 0.251886225691506, ...

Tracking of 1D and 2D geometries

333

0.084775013041735] ; w0=[0.021616013526483, 0.049714548894969, 0.076425730254889, 0.100942044106287, ... 0.122555206711478, 0.140642914670651, 0.154684675126265, 0.164276483745833, ... 0.169142382963144] ; else error(’invalid number of Gauss-Legendre points.’) end eta=zeros(1,ngauss) ; xi=eta ; weight=eta ; for igauss=1:ngauss/2 eta(igauss)=mu0(igauss) ; xi(igauss)=sqrt(1.0-mu0(igauss)^2); weight(igauss)=w0(igauss)*mu0(igauss) ; eta(ngauss/2+igauss)=mu0(igauss) ; xi(ngauss/2+igauss)=-sqrt(1.0-mu0(igauss)^2); weight(ngauss/2+igauss)=weight(igauss) ; end nbtrack=7+nreg+2*ngauss+ngauss*(5+2*nreg) ; track=zeros(1,nbtrack) ; nbtrack=7+nreg+2*ngauss ; track(1:nbtrack)=[2, nreg, ngauss, ngauss, 1.0, 1.0, 1.0, vol, eta, xi] ; for iangle=1:ngauss track(nbtrack+1:nbtrack+5+2*nreg)=[iangle, 1, 2, weight(iangle), nreg, ... 1:nreg, vol/eta(iangle)] ; nbtrack=nbtrack+5+2*nreg ; end

In the case of specular reflection, a cyclic track is made of two subtracks, corresponding to a left-to-right and right-to-left single track of script sybslab. In the case of periodic boundary condition (or translation), a cyclic track is made of a single left-to-right or right-to-left track of script sybslab.

A.2

Tracking of 1D cylindrical and spherical geometries

The tracking of 1D cylindrical and spherical geometries is similar and can be generated with the same algorithm. A Matlab script f=sybt1d(rad,lgsph,ngauss) is presented to produce a tracking object in these cases. Figure A.1 presents an example with I = 2 regions and K = 2 1 and 2 have two segments, identified as 1 and 2 . Tracks 3 and tracks per regions. Tracks 4 have only one segment, identified as 2 . Each track is making an angle φ with respect to the outgoing normal vector. The purpose of the tracking object is to permit the numerical evaluation of integrals in a collision probability approach or with the method of characteristics. A K point Gauss-Jacobi quadrature is used:  r2 K 1 dh f [(h)] = wk f [(hk )] (A.1) 2 r1 k=1

where r1 and r2 are the integration limits, corresponding to consecutive radii of the geometry. The Matlab tracking object is a 2D cell array containing I × K elements, one per track. The i index refers to the tracks located in ri−1/2 < h < ri+1/2 . The (i, j)-th cell is also a cell array containing three elements: • the weight wk of the track • the product wk cos φ • a 1D array of dimension I − i + 1 containing the track segments.

334

Appendix A 2 1 4 φ l2

3 l2 l2

l1

l2

l1 h2

h1

h4

h3

h

Figure A.1: Tracking in 1D cylindrical and spherical geometries.

The Matlab script uses three arguments: a 1D array of dimension I containing the radii (the 0.0 radius is not given), a logical variable set to false in cylindrical geometry or true in spherical geometry, and the number of Gauss-Jacobi points. The script is implemented as follows: function f=sybt1d(rad,lgsph,ngauss) % produce a Gauss-Jacobi tracking in 1D curvilinear geometry % function f=sybt1d(rad,lgsph,ngauss) % (c) 2005 Alain Hebert, Ecole Polytechnique de Montreal npij=size(rad,2) ; if ngauss == 1 alp= .6666666667 ; pwr= .5 ; elseif ngauss == 2 alp=[ .3550510257,.8449489743 ] ; pwr=[ .1819586183,.3180413817 ] ; elseif ngauss == 3 alp=[ .2123405382,.5905331356,.9114120405 ] ; pwr=[ .0698269799,.2292411064,.2009319137 ] ; elseif ngauss == 4 alp=[ .1397598643,.4164095676,.7231569864,.9428958039 ] ; pwr=[ .0311809710,.1298475476,.2034645680,.1355069134 ] ; elseif ngauss == 5 alp=[ .0985350858,.3045357266,.5620251898,.8019865821,.9601901429 ] ; pwr=[ .0157479145,.0739088701,.1463869871,.1671746381,.0967815902 ] ; elseif ngauss == 6 alp=[ .0730543287,.2307661380,.4413284812,.6630153097,.8519214003,.9706835728 ] ; pwr=[ .0087383018,.0439551656,.0986611509,.1407925538,.1355424972,.0723103307 ] ; else error(’invalid number of Gauss-Jacobi points.’) end rik1=0 ; for ik=1:npij rik2=rad(ik) ; rd=rik2-rik1 ; for il=1:ngauss r=rik2-rd*alp(il)^2 ; aux=4*rd*pwr(il) ; if lgsph

Tracking of 1D and 2D geometries

335

aux=aux*r*pi ; end ct1=0. ; z=zeros(1,npij-ik+1) ; for i=ik:npij ; ct2=sqrt(rad(i)^2-r^2) ; z(i-ik+1)=ct2-ct1 ; ct1=ct2 ; end cell{1}=aux ; cell{2}=aux*ct2/rad(npij) ; cell{3}=z ; f{ik,il}=cell ; end rik1=rik2 ; end

Using this script, the four tracks of Fig. A.1 are obtained using rad=[0.075 0.15] ; track=sybt1d(rad,false,2) ; 2 is The 1 segment length of track

l2=track{1,2}{3}(1)

leading to l2 = 0.07186585. Any length track{ik,il}{3}(1) corresponding to a segment that crosses the h-axis must be multiplied by 2, as depicted in Fig. 3.17. This tracking can be used to compute the p11 component of an infinite cylinder of radius R and cross section Σ surrounded by a vacuum boundary condition. According to Eq. (3.303), this component is  R 2 dh D1 (A.2) p11 = V1 0 so that p11

2 = πR2





R

dh 0

(h) 1 − 2 [Ki3 (0) − Ki3 (Σ (h))] Σ Σ

and p11 =

1 2R2



R

dh (h)2 = 0

4R 3



if Σ = 0.

if Σ = 0

(A.3)

(A.4)

The following script will perform a numerical integration of p11 in a 1D cylindrical tube of radius rad and macroscopic total cross section sigt: function f=p11_cyl(rad,sigt) % compute the p11 component in 1D cylindrical geometry track=sybt1d(rad,false,5) ; val=0 ; for i=1:5 segment=2*track{1,i}{3}(1) ; if sigt ~= 0 d=segment/sigt-(akin(3,0)-akin(3,sigt*segment))/sigt^2 ; else d=pi*segment^2/4 ; end val=val+track{1,i}{1}*d ; end f=val/(pi*rad^2) ;

336

Appendix A

where akin(n,x) is a script used to compute Kin (x). Similarly, the following script will perform a numerical integration of p11 in a 1D spherical sphere of radius rad and macroscopic total cross section sigt: function f=p11_sphere(rad,sigt) % compute the p11 component in 1D spherical geometry track=sybt1d(rad,true,5) ; val=0 ; for i=1:5 segment=2*track{1,i}{3}(1) ; if sigt ~= 0 d=segment/sigt-(1-exp(-sigt*segment))/sigt^2 ; else d=segment^2/2 ; end val=val+track{1,i}{1}*d ; end f=val/(4*pi*rad^3/3) ;

A.3

The theory behind sybt1d

The tracking strategy consists in drawing K tracks (Matlab variable ngauss) in each subdomain ri−1/2 < h < ri+1/2 . It is important to find the optimal location for these tracks, in order to keep the total number of tracks in the complete domain as low as possible. Such an optimization strategy helps to reduce round-off errors in the collision probability or characteristics calculation. We will concentrate our investigation on the second term of components pii in Eq. (3.303), which can be written  ri+1/2 I= dh D[(h)] (A.5) ri−1/2

 where (h) = 2 ri+1/2 2 − h2 is the length of a track crossing the h-axis, as depicted in Fig. A.2. Choosing K Gauss-Legendre base points between ri−1/2 and ri+1/2 is the optimal strategy if and only if the function D[(h)] is continuous on the integration domain up to order 2K. However, this condition is not satisfied in Eq. (A.5) as the first derivative of D[(h)] is singular on ri+1/2 as shown in dD dD d dD −2h  = = . (A.6) dh d dh d ri+1/2 2 − h2

integration domain l ri-1/2

ri+1/2

Figure A.2: The Flurig scheme.

h

Tracking of 1D and 2D geometries

337

This singularity is purely geometric and is not related to the presence of Bickley or exponential functions that may appear in D[(h)]. The behavior of the singularity was studied in the sixties by Carlvik[32] and Kavenoky[34] in the context of the collision probability method in 1D cylindrical and spherical geometry. The proposed solution is to remove the singularity by performing a change of variable in Eq. (A.5).  The Flurig scheme is a change of variable of the form y = ri+1/2 − h, so that Eq. (A.5) is rewritten as  √ ri+1/2 −ri−1/2

I=2

dy y D[(ri+1/2 − y 2 )].

(A.7)

0

With this transformation, the first derivative of the integrant is  dD dD d dh dD −2h  = = (−2 ri+1/2 − h) 2 2 dy d dh dy d ri+1/2 − h so that lim

h→ri+1/2

  dD dD  = 2 2ri+1/2 . dy d h=ri+1/2

(A.8)

(A.9)

There is no singularity in the integral of Eq. (A.7) and an efficient Gauss-Legendre quadrature can be used to determine its value. However, it is possible to gain one more order of accuracy by using a Gauss-Jacobi quadrature where the factor y is taken into account implicitly, as proposed in article 25.4.33 of Ref. [142]. A second  change of variable is made in order to transform the support for the new variable 0 ≤ y ≤ ri+1/2 − ri−1/2 into a normalized support 0 ≤ u ≤ 1. We define u= 

y ri+1/2 − ri−1/2

(A.10)

so that  I = 2(ri+1/2 − ri−1/2 ) =

2(ri+1/2 − ri−1/2 )

1

du u D[(ri+1/2 − (ri+1/2 − ri−1/2 ) u2 )] 0 K 

ωk D[(ri+1/2 − (ri+1/2 − ri−1/2 ) u2k )]

(A.11)

k=1

where {ωk , uk ; k = 1, K} are the weights and base points of a Gauss-Jacobi quadrature.

A.4

Tracking of 2D square pincell geometries

The tracking of unstructured 2D geometries is performed using specific tracking operators, leading to a tracking file with a format similar to the one described in Sect. A.1. The complexity of this operator increases with the complexity of the geometry, so that general algorithms involve large production softwares. Here, we have chosen to present a Matlab script for generating this file in the particular case of a 2D square pincell geometry. This geometry features one-eighth symmetry with concentric annuli not crossing the external perimeter, as depicted in Fig. 3.19. This simple geometry is sufficient to introduce solution algorithms of the particle transport equation based on the method of collision probabilities or on the method of characteristics. We have implemented a simple Matlab script to generate the tracking information for a 2D square pincell. The Matlab script track=sybt2d(a,rad,nangle,ngauss) stores this information in a Matlab array track instead of using a sequential binary file. Variables nangle and ngauss (≤ 6) are the number of trajectory angles in (0, π/4) and the number of Gauss-Jacobi

338

Appendix A

points in each subdomain, respectively. A partial tracking is first computed on the subdomain depicted in Fig. A.3 and is unfolded to cover the full pincell geometry. Y side 4

a

side 2

side 1

ε∗ π/4 x

side 3

a

X

Figure A.3: Integration domain for a 2D square pincell.

The script is implemented as follows: function track=sybt2d(a,rad,nangle,ngauss) % produce a Gauss-Jacobi tracking in 2D square pincell geometry % function track=sybt2d(a,rad,nangle,ngauss) % (c) 2009 Alain Hebert, Ecole Polytechnique de Montreal nreg=1+size(rad,2) ; radd = [0. rad] ; na2=2*nangle ; if ngauss == 1 alp= .6666666667 ; pwr= .5 ; zx= 0. ; wx= 2. ; elseif ngauss == 2 alp=[ .3550510257,.8449489743 ] ; pwr=[ .1819586183,.3180413817 ] ; zx=[ -.577350259,.577350259 ] ; wx=[ 1.,1. ] ; elseif ngauss == 3 alp=[ .2123405382,.5905331356,.9114120405 ] ; pwr=[ .0698269799,.2292411064,.2009319137 ] ; zx=[ -.774596691,0.,.774596691 ]; wx=[ .555555556,.888888889,.555555556 ] ; elseif ngauss == 4 alp=[ .1397598643,.4164095676,.7231569864,.9428958039 ] ; pwr=[ .0311809710,.1298475476,.2034645680,.1355069134 ] ; zx=[ -.861136317,-.339981049,.339981049,.861136317 ] ; wx=[ .347854853,.652145147,.652145147,.347854853 ] ; elseif ngauss == 5 alp=[ .0985350858,.3045357266,.5620251898,.8019865821,.9601901429 ] ; pwr=[ .0157479145,.0739088701,.1463869871,.1671746381,.0967815902 ] ; zx=[ -.906179845,-.538469315,0.,.538469315,.906179845 ] ; wx=[ .236926883,.478628665,.568888843,.478628665,.236926883 ] ; elseif ngauss == 6 alp=[ .0730543287,.2307661380,.4413284812,.6630153097,.8519214003,.9706835728 ] ; pwr=[ .0087383018,.0439551656,.0986611509,.1407925538,.1355424972,.0723103307 ] ; zx=[ -.932469487,-.661209404,-.238619193,.238619193,.661209404,.932469487 ] ; wx=[ .171324492,.360761583,.467913926,.467913926,.360761583,.171324492 ] ; else error(’invalid number of Gauss-Jacobi points.’) end

Tracking of 1D and 2D geometries if 2.0*radd(nreg) > a error(’a radius is greater than half a side.’) end track_w=zeros(1,9+nreg+4*na2*(2+ngauss*nreg*(5+2*(2*nreg-1)))) ; kstart=9+nreg+8*na2 ; track_w(1:3)=[4, nreg, 4*na2] ; zn1=0. ; ao2=a/2. ; wa=2./real(na2) ; track_w(6:9)=a ; vol=a*a ; for jjj=nreg:-1:1 r2=pi*radd(jjj)^2 ; track_w(9+jjj)=vol-r2 ; vol=r2 ; end %---% track generation %---k=kstart ; for ia=1:na2 za=(2.0*real(ia)-1.)/real(na2)-1. ; phi=0.25*pi*(za+1.) ; zn1=zn1+sin(phi)*wa ; si=sin(phi) ; co=cos(phi) ; ta=si/co ; track_w(9+nreg+ia)=si ; track_w(9+nreg+4*na2+ia)=co ; track_w(9+nreg+na2+ia)=co ; track_w(9+nreg+5*na2+ia)=-si ; if phi π/4}.

(A.24)

The segment lengths Xi (x, ) depicted in Fig. A.4 are obtained using the following two trigonometric formulas:  a a cos j + xk − sin j d = 2 2  !   a a sin j − xk − cos j − R2 − d2 . c = (A.25) 2 2

R a/2

Vi

ε

|d|

x,ϕ)

X i(

0

x

c

ε

a

0

x

ε

a/2

a

Figure A.4: Interception of a trajectory with pincell geometry. A spatial subdomain Ei is depicted in gray in Fig. A.5, corresponding to an angle j . It is possible to use the tracking to obtain a numerical approximation Wi of this volume, as  Δsk Xi (xk , j ); i = 1, I. (A.26) Wi = k∈E

d1

x1

x2

d2

a

Figure A.5: Calculation of subvolume Wi+ (in gray in the figure). Subdomain Ei is bounded by two straight lines set at distances d1 and d2 from the pincell center, as depicted in Fig. A.5. We also define an area Gi (d), with 1 ≤ i ≤ I, as   2 −1 d 2 2 Gi (d) = Ri cos Ri − d Ri − d if 0 ≤ d ≤ Ri ; (A.27) 0 otherwise.

344

Appendix A

The exact value of subvolume Wi is given in term of these areas as W1+ = G2 (d1 ) − G2 (d2 ) Wi+ = Gi+1 (d1 ) − Gi+1 (d2 ) −

i−1 

W+ ; i = 2, I − 1

(A.28)

=1

and

WI+ =

⎧   I−1 % + ⎪ 1 2 2 ⎪ W ⎨ 2 tan j (a − x1 ) − (a − x2 ) −

if x1 > a − a tan j ;

I−1 % + ⎪ ⎪ ⎩ b (x2 − x1 ) − W

if x2 < a − a tan j .

=1

(A.29)

=1

The numerical value Wi of the subvolume evaluated from the tracking is different from its analytical value Wi+ , due to discretization error during the integration process. This error is expected to become smaller as the number of trajectories increases, i.e., as Matlab variables nangle and ngauss increase. However, increasing the size of the tracking has undesirable effects: • the CPU time required to compute the collision probabilities or to solve the characteristics equations increases strongly with the size of the tracking. Moreover, large domains can lead to tracking sizes exceeding the limits of the computer. • as the number of tracks increases, the collision probability components (or the solution of the characteristics equations) are obtained as the summation of increments that become smaller and smaller. Consequently, numerical instabilities are likely to produce oscillations in the transport calculation. Two remedies exist to increase the accuracy of the integration process using small tracking files. The first remedy is the Flurig scheme and is already incorporated into Matlab script sybt2d. This approach is very efficient but breaks down in complex 2D geometries due to its inherent difficulty in isolating each subdomain Ei . A second remedy consists in normalizing the segment lengths Xi (xk , j ) in such a way that Eq. (A.26) leads to exact volumes, whatever the size of the tracking. It is important to perform segment normalization one angle j at a time. Our Matlab script sybt2d performs an improved normalization that preserves the exact volumes Wi+ for each angle j and for each subdomain Ei . This normalization is written + ˜ i (xk , j ) = Wi Xi (xk , j ); k ∈ Ei . X Wi

(A.30)

It is also possible to normalize the angular integral values. The idea here is to multiply the angular summations by the factor e21 chosen in such a way that ⎡ ⎤  π/2 J  π 2⎣ ⎦ sin j = d sin = 1. (A.31) e1 2J j=1 0 An angular normalization factor e1 is written in position track(5) of the Matlab tracking (Fortran variable FNORM), defined as e1 = 

1 J π % 2J j=1 sin j

.

(A.32)

Appendix B

Special functions with Matlab B.1

Function taben

The script f=taben(n,x) finds the exponential function of order n ≥ 1 at x ≥ 0. function f=taben(n,x) % Exponential function of order n >= 1 at x >= 0 % function f=taben(n,x) % (c) 2005 Alain Hebert, Ecole Polytechnique de Montreal a=[ -.5772156649, .99999193, -.24991055, .05519968, -.00976004, .00107857 ] ; b=[ 8.5733287401, 18.0590169730, 8.634760825, .2677737343 ] ; c=[ 9.5733223454, 25.6329561486, 21.0996530827, 3.9584969228 ] ; if n < 1 error(’n must be > 0’) elseif x < -1.0e-10 error(’x must be >= 0. x=%.5g.’,x) elseif x 0’) elseif x < -1.0e-10 error(’x must be >= 0. x=%.5g.’,x) end a=[10.584648, 6.545470, 1.976457, 0.333496, 0.035407, 0.002568, 0.000135, ... 0.000005, 10.762666, 5.623335, 1.435437, 0.212504, 0.020365, 0.001360, ... 0.000067, 0.000003, 0.0004364, -0.0003873, 0.0002740, -0.0001581, 0.0000763, ... -0.0000315, 0.0000113, -0.0000036, 0.0000010, -0.0000003, 0.0000001] ; b=[1.4534664,-0.2436620, 0.0258465, -0.0029653, 0.0005322, -0.0001499, ... 0.0000560,-0.0000249, 0.0000125, -0.0000068, 0.0000040, -0.0000025, ... 0.0000017,-0.0000012, 0.0000009, -0.0000008, 0.0000007, 0.3039967, ... -0.2136079, 0.0961280,-0.0324165, 0.0091054, -0.0023228, 0.0005813, ... -0.0001516, 0.0000426,-0.0000129, 0.0000042, -0.0000014, 0.0000005, ... -0.0000002, 0.0000001, 0.0031373, -0.0028564, 0.0021670, -0.0013874, ... 0.0007615,-0.0003642, 0.0001541, -0.0000585, 0.0000202, -0.0000064, ... 0.0000019,-0.0000005, 0.0000001] ; c=[0.4227843, 0.0534107, 0.08333333] ; d=[0.7853961, -0.9990226, 0.7266088, 0.7852024, -0.9912340, 0.6466375, ... 0.7845986, -0.9791293, 0.5856605, 0.7834577, -0.9638914, 0.5346648, ... 0.7817094, -0.9463843, 0.4907827, 0.7793031, -0.9271152, 0.4521752, ... 0.7762107, -0.9064822, 0.4177388, 0.7724519, -0.8849865, 0.3869945, ... 0.7679903, -0.8626685, 0.3590753, 0.7628988, -0.8400133, 0.3338676, ... 0.7540982, -0.8054172, 0.2998569, 0.7401279, -0.7587821, 0.2609154, ... 0.7239594, -0.7125290, 0.2278226, 0.7058777, -0.6672761, 0.1994999, ... 0.6861762, -0.6234536, 0.1751248] ; e=[0.7247294, -0.7538355, 0.3203223, -5.337485E-2, 0.6663720, -0.6279752, ... 0.2295280, -3.146833E-2, 0.5956163, -0.5094124, 0.1631667, -1.906198E-2, ... 0.5191031, -0.4046007, 0.1152418, -1.174752E-2, 0.4425954, -0.3159648, ... 8.097913E-2, -7.328415E-3, 0.3703178, -0.2434341, 5.669960E-2,-4.617254E-3, ... 0.1684022, -7.158569E-2, 7.923547E-3, 0.1278307, -5.016344E-2, 5.095111E-3, ... 9.611422E-2,-3.501524E-2, 3.286040E-3, 7.170491E-2,-2.437465E-2, 2.126242E-3, ... 4.616317E-2,-1.425519E-2, 1.123687E-3, 2.475115E-2,-6.810124E-3, 4.762937E-4, ... 1.302864E-2,-3.232035E-3, 2.031843E-4, 6.749972E-3,-1.524126E-3, 8.701440E-5, ... 3.454768E-3,-7.157367E-4, 3.742673E-5, 1.749779E-3,-3.349194E-4, 1.615898E-5, ... 7.522133E-4,-1.314173E-4, 5.777582E-6] ; inda=[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 33, 36, 36, 39, 39, 42, 42, 45, 45] ; indb=[4, 8,12, 16, 20, 24, 27, 30, 33, 36, 39, 39, 42, 42, 45, 45, 48, 48, 51, ... 51, 54, 54, 57, 57, 57] ; if n==1 if x imin i=i-1 ; a2=a1 ; a1=a0 ; a0=u*a1-a2+a(i) ; end f1=0.5*(a0-a2) ; i=16 ; imin=9 ; a0=a(i) ; a1=0.0 ; a2=0.0 ; while i > imin i=i-1 ; a2=a1 ; a1=a0 ; a0=u*a1-a2+a(i) ; end kin=0.5*(a0-a2) ; f=pi/2-x*(f1-kin*log(0.5*x)) ; elseif x < 15.0 u=0.44444444*x-4.6666667 ; i=27 ; imin=17 ; a0=a(i) ; a1=0.0 ; a2=0.0 ; while i > imin i=i-1 ; a2=a1 ; a1=a0 ; a0=u*a1-a2+a(i) ; end f=0.5*(a0-a2) ; else f=0 ; end elseif n==2 if x imin i=i-1 ; b2=b1 ; b1=b0 ; b0=u*b1-b2+b(i) ; end f=0.5*(b0-b2) ; elseif n==3 if x i + 1.

(C.4)

The second step of the Gauss elimination method is the backward substitution. The solution of linear system (C.2) is obtained by substitution, starting with the last equation. We write φI

=

gI

φi

=

gi −

I 

hi,j φj ; i = I − 1, I − 2, . . . , 1.

(C.5)

j=i+1

A native implementation of the general Gauss elimination method is available in Matlab, using a matrix left division. If A is a matrix and s is the source column vector, then the solution of the linear system is simply obtained as f = A \ s ;

We now present the Matlab script f=aslv3(a,s), implementing the recursion (C.4), for solving a linear system using Gauss elimination in the particular case where matrix A is symmetric, positive-definite and tri-diagonal. Such a system is obtained from the mesh-corner or mesh-centered finite-difference discretization of the 1D diffusion equation.

Numerical methods

351

function f=aslv3(a,s) % solution of a system of linear equations for a symmetric, positive % definite and tri-diagonal matrix. % function f=aslv3(a,s) % a : upper diagonal matrix coefficients. a(1,i) and a(2,i) contain % respectively the diagonal (i,i) and non-diagonal (i,i+1) terms. % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal n=size(a,2) ; f=zeros(n,1) ; pmx=a(1,1) ; if pmx == 0.0, error(’zero pivot(1).’), end f(1)=s(1)/pmx ; for i=2:n gar=a(2,i-1) ; a(2,i-1)=a(2,i-1)/pmx ; pmx=a(1,i)-gar*a(2,i-1) ; if pmx == 0.0, error(’zero pivot(2).’), end f(i)=(s(i)-gar*f(i-1))/pmx ; end for i=n-1:-1:1 f(i)=f(i)-a(2,i)*f(i+1) ; end

C.1.2

Cholesky factorization

In some situations, numerical analysis algorithms require the resolution of many linear systems similar to Eq. (C.1), all with the same coefficient matrix A, but with different source terms S. We now present the Cholesky factorization method that is designed to perform the greatest part of arithmetical operations from the knowledge of A, before the source term S is known. We will limit our presentation to the case where A is symmetric and positive-definite. The Cholesky factorization method proceeds in two steps. The first step consists in factorizing matrix A as a product of three matrices: A = L D L

(C.6)

where D = diag{di ; i = 1, I} is a diagonal matrix and L is a lower triangular matrix written as 1 ⎜ 21 ⎜  L=⎜ ⎜ 31 ⎝ ...

0 1 32

0 0 1

... ... ... .. .

⎞ 0 0⎟ ⎟ 0⎟. .. ⎟ .⎠

I1

I2

I3

...

1



(C.7)

The components di and i,j are computed with the following algorithm: d1

=

i,1

=

di

=

a11

(C.8)

ai,1 ; i = 2, I d1 i−1  ai,i − 2i,k dk ; i = 2, I

(C.9) (C.10)

k=1

i,j

=

  j−1  1 ai,j − i,k dk j,k ; i = 2, I and j = 2, i − 1. dj k=1

(C.11)

352

Appendix C

This algorithm involves no square root operations, making it a better alternative than the A = LL factorization presented in some textbooks. We note that matrix L is characterized by the same external profile as matrix A, so that if

{ai,j = 0; j = 1, ki }

{i,j = 0; j = 1, ki }

then

(C.12)

where ki is an integer taken in interval 1 ≤ ki < i and equal to the number of zero components on the left of the first non-zero component on the i-th row. The property of preserving the external profile is closely related to the introduction of the compressed diagonal storage mode for matrices A and L. This storage technique is useful to save resources in computer storage and computational resources, as many unnecessary multiplications with zero matrix components are avoided. Instead of storing matrix A in a I × I 2D array, we can store the components, located inside the external profile, in a 1D row array. The components of A, located inside the external profile, are stored in the row vector A = {ak ; k = 1, uI } as aui −i+j = ai,j ; i = 1, I and j = ki + 1, i.

(C.13)

A second integer row array of dimension I is required to keep track of the matrix component positions. This array u = {ui ; i = 1, I} is defined as u1

=

1

ui

=

ui−1 + i − ki ; i = 2, I.

(C.14)

In the following example, a matrix A is defined as ⎛

3 ⎜2 ⎜ A = ⎜0 ⎝ 0 0

2 4 1 1 2

0 1 5 0 0

0 1 0 4 0

⎞ 0 2⎟ ⎟ 0⎟. ⎠ 0 6

(C.15)

This matrix is symmetric and has three zero components, located outside its external profile, in its low-diagonal section. It can be written in compressed diagonal storage mode as A = ( 3

2

4

1

5

1

0

4

2

0

0

6)

(C.16)

in association with the index vector u required to reconstruct A. This vector is written u = (1

3

5

8

12 ) .

(C.17)

The Cholesky factorization can be performed effectively for a matrix in compressed diagonal storage mode. The components i,j can be computed in such a way as to replace components ai,j one-by-one. The Matlab script ldlt=alldlf(asm,mu1), presented here, exploits this idea. Note that this algorithm is generally implemented in a low-level programming language such as C or Fortran, where the factorization is performed in-place in a unique array, without using the line ldlt=asm. function ldlt=alldlf(asm,mu1) % L-D-L(t) factorization of a symmetric positive definite matrix in % compressed diagonal storage mode. % function ldlt=alldlf(asm,mu1) % input parameters: % asm : coefficient matrix in compressed diagonal storage mode (row vector).

Numerical methods

353

% a(i,j)=asm(mu1(i)-i+j) if j.le.i and j.gt.i+mu1(i-1)-mu1(i) % =a(j,i) if i.lt.j % =0.0 else % dimension asm(mu1(n)-mu1(1)+1) where n is the order of the % coefficient matrix. % mu1 : position of each diagonal element in vector asm (row vector). % dimension mu1(n) % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal n=size(mu1,2) ; ldlt=asm ; ldlt(mu1(1))=1./ldlt(mu1(1)) ; for k=2:n k1=mu1(k)-k ; km=mu1(k-1)+1-k1 ; for i=km+1:k-1 r=ldlt(k1+i) ; ldlt(k1+i)=0. ; i1=mu1(i)-i ; imin=max(mu1(i-1)+1-i1,km) ; ldlt(k1+i)=r-sum(ldlt(k1+imin:k1+i).*ldlt(i1+imin:i1+i)) ; end s=0. ; for i=km:k-1 r=ldlt(k1+i) ; ldlt(k1+i)=r*ldlt(mu1(i)) ; s=s+r*ldlt(k1+i) ; end ldlt(mu1(k))=ldlt(mu1(k))-s ; ldlt(mu1(k))=1./ldlt(mu1(k)) ; end

The second step of the Cholesky factorization method is the resolution step, used to compute the unknown vector Φ from the knowledge of the source vector S. The computer resources required for this resolution step are much smaller than those required to factorize A. Having obtained the Cholesky factors, the original linear system (C.1) can now be written as

We define an auxiliary vector as

L D L Φ = S.

(C.18)

h = D L Φ

(C.19)

and we first solve a lower-triangular matrix system, L h = S,

(C.20)

using forward substitution. A simple recursion, written as h1

=

S1

hi

=

Si −

i−1 

i,j hj ; i = 2, I

(C.21)

j=1

is required to obtain h. The unknown vector Φ is finally obtained using backward substitution in the upper-triangular linear system (C.19). This recursion is written φI

=

hI dI

φi

=

I  hi − j,i φj ; i = I − 1, I − 2, . . . , 1. di j=i+1

(C.22)

354

Appendix C

The overall resolution step is implemented in the Matlab script f=alldls(ldlt,mu1,s) as function f=alldls(ldlt,mu1,s) % solution of a symmetric linear system where the coefficient matrix % have been factorized by a preceding call to alldlf. % function f=alldls(ldlt,mu1,s) % where ldlt and mu1 are row vectors and f and s are column vectors. % (c) 2006 Alain Hebert, Ecole Polytechnique de Montreal n=size(s,1) ; f=zeros(n,1) ; if n == 1 f(1)=s(1)*ldlt(mu1(1)) ; return end f(1)=s(1) ; k1=mu1(1)+1 ; for i=2:n k2=mu1(i) ; kj=i-k2+k1 ; f(i)=s(i)-sum(f(kj:i-1).*ldlt(k1:k2-1)’) ; k1=k2+1 ; end f(1:n)=f(1:n).*ldlt(mu1(1:n))’ ; k2=mu1(n) ; for i=n:-1:2 k1=mu1(i-1)+1 ; kj=i-k2+k1 ; f(kj:i-1)=f(kj:i-1)-f(i)*ldlt(k1:k2-1)’ ; k2=k1-1 ; end

The resolution step, as implemented in alldls, must be performed for each different value of the source vector S, although the factorization step, as implemented in alldlf, is performed only once, for a given coefficient matrix A. The factorization step requires a number of arithmetical operations proportional to I 3 , and the resolution step requires a number of arithmetical operations proportional to I 2 . This approach is therefore indicated for situations where many linear systems must be solved with the same coefficient matrix A, but with different source vectors S. The Crout factorization is a generalization of the Cholesky factorization that could be used in cases where matrix A is non-symmetric. It is written A = LU where



11 ⎜ 21 ⎜  L=⎜ ⎜ 31 ⎝ ...

0 22 32

0 0 33

... ... ... .. .

0 0 0 .. .

I1

I2

I3

...

II



(C.23) ⎛

1 ⎟ ⎜0 ⎟ ⎜ ⎟ and U = ⎜ 0 ⎟ ⎜. ⎠ ⎝ .. 0

u12 1 0

u13 u23 1

... ... ... .. .

0

0

...

⎞ u1I u2I ⎟ ⎟ u3I ⎟ . .. ⎟ . ⎠

(C.24)

1

The solution of a linear system after Crout factorization is similar to the approach already presented in this Subsection.

C.1.3

Iterative approach

The Cholesky factorization method allows us to get rid of the zero components located outside the external profile of A, but has no effect on those located inside this profile. This limited

Numerical methods

355

capability becomes a problem for the resolution of matrix systems originating from the discretization of 2D and 3D domains, as the number of internal zero components is high in these cases. The transformation of internal zero components of A into non-zero components in L is identified as factorization fill-in and is a major issue in numerical analysis. The iterative method is one numerical analysis technique permitting us to avoid fill-in in the resolution of a linear system. The iterative approach consists of introducing a preconditioning matrix M sufficiently close to A−1 so that the number of iterations of a fixed-point method remains acceptable. The multiplication of the left and right sides of Eq. (C.1) by M leads to M A Φ = MS.

(C.25)

A fixed-point iterative strategy is set up based on Eq. (C.25). An asymptotic series of approached solutions, denoted {Φ(j) ; j ≥ 0}, is set up using Φ(0) given Φ(j+1) = Φ(j) + M (S − AΦ(j) ) if j ≥ 0

(C.26)

where Φ(0) is an initial estimate of the solution that can be set to the zero vector if no a priori information is available. The convergence analysis of the fixed-point (C.26) requires the introduction of a residual matrix R, defined as R = I − MA (C.27) where I is the identity matrix. The fixed-point algorithm (C.26) generates the following asymptotic series: Φ(1)

=

MS + (I − MA) Φ(0) = (I − R) A−1 S + R Φ(0)

(2)

=

(2 I − M A) M S + (I − MA)2 Φ(0) = (I − R2 ) A−1 S + R2 Φ(0)

Φ(3)

= .. .

[3 I −(3 I − M A) M A] M S + (I − MA)3 Φ(0) = (I − R3 ) A−1 S + R3 Φ(0)

Φ(j)

=

(I − Rj ) A−1 S + Rj Φ(0) .

Φ

(C.28)

We note that the asymptotic series converges to the exact solution A−1 S of the linear system if and only if (C.29) lim Rj = O j→∞

where O is the zero matrix whose components are all set to zero. This condition is satisfied if a norm  ·  of matrix R exists such that  R  < 1.

(C.30)

Equation (C.30) is the condition that must satisfy the preconditioning matrix M to guarantee the convergence of the fixed-point iterations. Many choices are available and are documented in numerical analysis textbooks. We are presenting three legacy preconditioning techniques that have proven useful for solving linear systems originating from the discretization of transport or diffusion equations. These three techniques all satisfy the condition (C.30) in the case where matrix A is symmetric and diagonally dominant. They are based on a matrix splitting of A defined as (C.31) A = U + L + L

356

Appendix C

where U is a diagonal matrix ⎛ a11 0 0 ⎜ 0 a22 0 ⎜ 0 0 a33 U=⎜ ⎜ . ⎝ .. 0

0

0

and L is a lower triangular matrix. ⎞ ⎛ 0 0 ... 0 ... 0 ⎟ ⎜ a21 0 ⎟ ⎜ ... 0 ⎟ a32 a L=⎜ ⎟ ⎜ 31 .. ⎠ .. .. ⎝ . . . . . . aII aI1 aI2

They are written as ⎞ 0 ... 0 0 ... 0⎟ ⎟ 0 ... 0⎟. .⎟ .. . .. ⎠ aI3 . . . 0

(C.32)

The three preconditioning techniques are: 1. The Jacobi method consists in assuming that

so that

A U

(C.33)

M = U−1 .

(C.34)

2. The Gauss-Seidel method consists in assuming that

so that

A U+L

(C.35)

M = (U + L)−1 .

(C.36)

3. The successive over-relaxation (SSOR) method consists in assuming that

so that

A (U + L) U−1 (U + L )

(C.37)

M = (U + L )−1 U (U + L)−1 .

(C.38)

These three iterative methods are efficient as no inversion of matrices (U + L) and (U + L ) is required. Any linear system of the form (U + L) x = S ou (U + L ) x = S can be efficiently solved using forward or backward substitutions. A closely related preconditioning technique is the alternating direction implicit (ADI) method. This approach is only available for solving linear systems for which matrix A can be split according to a specific formula.[143] In the case of a Cartesian tri-dimensional domain, the ADI split is written (C.39) A = U + Px X P x + P y Y P y + Pz Z P z where

U= X, Y, Z = Px , P y , P z =

matrix containing the diagonal elements of A symetrical matrices containing the nondiagonal elements of A permutation matrices that ensure a minimum bandwidth for matrices X, Y and Z. The corresponding preconditioning matrix can be defined as       ˜ −1 P U Py Y ˜ −1 P U Px X ˜ −1 P (C.40) M = Pz Z z y x

where and

˜ = X + P U Px , X x

˜ = Y + P U Py Y y

˜ = Z + P U Pz . Z z

(C.41) (C.42)

Numerical methods

357

The Matlab script free() implements the basic iteration of Eq. (C.26) for solving a linear system. The script parameter atv is a user-defined function returning Φ(j) +M (S −AΦ(j) ) as a function of Φ(j) and S. The script parameter b is the source vector MS. The other parameters are defined in the following script: function [x, error, iter] = free(x, b, atv, errtol, maxit, varargin) % free-iteration linear equation solver % function [x, error, total_iters] = free(x0, b, atv, errtol, maxit, varargin) % input parameters: % x initial iterate % b right-hand side % atv character name of a matrix-vector product routine returning x+(b-Ax) % when x is input. The format for atv is "function x = atv(x,b,p1,p2,...)" % where p1 and p2 are optional parameters % errtol relative residual reduction factor % maxit maximum number of iterations % varargin optional parameters (p1,p2,...) for atv % output parameters: % x solution of the linear system % error vector of residual norms for the history of the iteration % iter number of iterations % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal errtol=errtol*norm(b); rho=Inf; error=[ ]; iter=0; while((rho > errtol) && (iter < maxit)) iter=iter+1; r=feval(atv,x,b,varargin{:})-x; rho=norm(r); error=[error;rho]; x=x+r; end

The following Matlab script is an example of iterative solution of a linear system A*x=b with a coefficient matrix A selected among the ’wilk’ collection in Matlab. We also selected inv(M1) as preconditioning matrix, using an arbitrary choice for M1. The corresponding error histogram is represented in Fig. C.1. Free-iteration convergence is compared to two accelerated algorithms that are also presented in this Section. The corresponding Matlab functions are A=gallery(’wilk’,21); M1=diag([10:-1:1 0 1:10]); M1(10:12,10:12)=A(10:12,10:12); b=sum(A,2); x0=zeros(21,1); [out,error,total_iters]=free(x0, inv(M1)*b, ’atv’, 1e-10, 100, inv(M1)*A);

where function y=atv(x,b,A) % compute x+(b-Ax) for an iterative algorithm. y=x+(b-A*x);

As depicted in Fig. C.1, a free-iteration convergence may be slow in many practical cases. We are introducing two acceleration techniques based on the minimization of a residue of the solution. The first technique, known as the Livolant acceleration method, consists in introducing a dynamic acceleration factor μ(j) in Eq. (C.26), Φ(j+1) = Φ(j) + μ(j) M (S − AΦ(j) ),

(C.43)

358

Appendix C

and in adjusting it in such a way as to minimize the L2 norm of residue R(j+1) at the next iteration. A consistent definition of the residue is written as

L2 norm of the residual

R(j) = M (S − AΦ(j) ).

10

10

(C.44)

2

0

−2

free

10

−4

10

−6

Livolant

10

GMRES(10) −8

10

−10

10

0

5

10

15

20

25

30

35

40

iteration index

Figure C.1: Convergence histogram for three iterative algorithms.

The value of the residue at the next iteration will be given as   R(j+1) = M S − AΦ(j+1)  ! = M S − A Φ(j) + μ(j) M (S − AΦ(j) ) = R(j) − μ(j) M AR(j) .

(C.45)

The L2 norm of this residue will be minimum if D d C (j+1) R , R(j+1) = 0 (j) dμ so that

C μ(j) = C

R(j) , M A R(j)

(C.46)

D

M A R(j) , M A R(j)

D.

(C.47)

The acceleration parameter can be recomputed dynamically as a function of the actual residue. We will now present a convenient technique to help compute μ(j) in practical situations. Let’s consider the value of Φ(j) at iteration (j) and let’s perform two free (i.e., preconditioned and non-accelerated) iterations. We obtain three successive free iterates as Φ0 = Φ(j) Φ1 = Φ0 + M (S − A Φ0 ) Φ2 = Φ1 + M (S − A Φ1 )

(C.48)

Numerical methods

359

so that the error vectors e0 and e1 can be defined as e0 = Φ1 − Φ0 = M (S − A Φ0 ) = R(j) e1 = Φ2 − Φ1 = M (S − A Φ1 )

(C.49)

M A R(j) = M A (Φ1 − Φ0 ) = − (Φ2 − Φ1 − MS) + (Φ1 − Φ0 − MS) = −(e1 − e0 ).

(C.50)

and

Substituting Eqs. (C.49) and (C.50) into Eq. (C.47), we obtain a simple expression for μ(j) , written as e0 , e1 − e0  . (C.51) μ(j) = − e1 − e0 , e1 − e0  The (j + 1)-th accelerated iterate is therefore written Φ(j+1) = Φ(j) + μ(j) R(j) = μ(j) Φ1 + (1 − μ(j) ) Φ0 .

(C.52)

˜ 1 and Φ ˜ 2 , that could be used ˜ 0, Φ At this point, we need three new successive free iterates, Φ to evaluate the next acceleration factor. We now set ˜ 0 = Φ(j+1) Φ   ˜1 = Φ ˜0 + M S − A Φ ˜ 0 = μ(j) Φ2 + (1 − μ(j) ) Φ1 Φ   ˜1 + M S − A Φ ˜1 ˜2 = Φ Φ

(C.53)

and we proceed as before. In order to stabilize the iterative process, we suggest alternating cycles of three free and three accelerated iterations. Moreover, we must carefully detect any convergence instability where μ(j) ≤ 0, especially near convergence where the denominator of Eq. (C.51) approaches zero. In case of convergence instability, we recommend setting μ(j) = 1. The Matlab script implementing the Livolant acceleration method follows: function [x, error, iter] = livolant(x, b, atv, errtol, maxit, varargin) % Livolant-accelerated linear equation solver % function [x, error, total_iters] = livolant(x0, b, atv, errtol, maxit, varargin) % input parameters: % x initial iterate % b right-hand side % atv character name of a matrix-vector product routine returning x+(b-Ax) % when x is input. The format for atv is "function x = atv(x,b,p1,p2,...)" % where p1 and p2 are optional parameters % errtol relative residual reduction factor % maxit maximum number of iterations % varargin optional parameters (p1,p2,...) for atv % output parameters: % x solution of the linear system % error vector of residual norms for the history of the iteration % iter number of iterations % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal icl1=3; icl2=3; n=length(b);

360

Appendix C

errtol=errtol*norm(b); rho=Inf; error=[ ]; old2=zeros(n); iter=0; while((rho > errtol) && (iter < maxit)) iter=iter+1; old1=old2; old2=x; r=feval(atv,x,b,varargin{:})-x; rho=norm(r); error=[error;rho]; x=x+r; if mod(iter-1,icl1+icl2) >= icl1 r1=old2-old1; r2=x-old2; dmu=-sum(r1.*(r2-r1))/sum((r2-r1).*(r2-r1)); if dmu > 0 x=old2+dmu.*r2; old2=old1+dmu.*r1; end end end

The GMRES (Generalized Minimum RESidual) algorithm was proposed in Ref. [144] as a Krylov subspace method for nonsymmetric systems. The GMRES algorithm is a very powerful and stable technique to speed up iterations in solving large linear systems. The vector basis for the Krylov space is constructed and must be stored as the iteration progresses. This means that in order to perform k GMRES iterations, one must store k vectors of length N , leading to prohibitive computer resource requirements. One way to avoid this problem is to restart the GMRES algorithm every m (Matlab variable nstart) iterations, leading to the GMRES(m) algorithm. The GMRES(m) algorithm is implemented in the Matlab script gmres m() as[64] function [x, error, iter] = gmres_m(x, b, atv, errtol, nstart, maxit, varargin) % GMRES(m) linear equation solver % based on a Matlab script by C. T. Kelley, July 10, 1994 % function [x, error, iter] = gmres_m(x, b, atv, errtol, nstart, maxit, varargin) % input parameters: % x initial iterate % b right-hand side % atv character name of a matrix-vector product routine returning x+(b-Ax) % when x is input. The format for atv is "function x = atv(x,b,p1,p2,...)" % where p1 and p2 are optional parameters % errtol relative residual reduction factor % nstart restarts the method every nstart iterations % maxit maximum number of iterations % varargin optional parameters (p1,p2,...) for atv % output parameters: % x solution of the linear system % error vector of residual norms for the history of the iteration % iter number of iterations % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal n=length(b); errtol=errtol*norm(b); rho=Inf; error=[ ]; % % global GMRES(m) iteration iter=0; while((rho > errtol) && (iter < maxit)) r=feval(atv,x,b,varargin{:})-x ; rho=norm(r); error=[error;rho];

Numerical methods % %

test for termination on entry if(rho < errtol), return, end

% h=zeros(nstart+1); v=zeros(n,nstart+1); c=zeros(nstart+1,1); s=zeros(nstart+1,1); g=rho*eye(nstart+1,1); v(:,1)=r/rho; % %

% %

% %

% %

% %

% %

GMRES(1) iteration k=0; while((rho > errtol) && (k < nstart) && (iter < maxit)) k=k+1; iter=iter+1; gar=feval(atv,v(:,k),zeros(n,1),varargin{:}) ; v(:,k+1)=v(:,k)-gar(:) ; Modified Gram-Schmidt for j=1:k h(j,k)=v(:,j)’*v(:,k+1); v(:,k+1)=v(:,k+1)-h(j,k)*v(:,j); end h(k+1,k)=norm(v(:,k+1)); Reorthogonalize for j=1:k hr=v(:,j)’*v(:,k+1); h(j,k)=h(j,k)+hr; v(:,k+1)=v(:,k+1)-hr*v(:,j); end h(k+1,k)=norm(v(:,k+1)); watch out for happy breakdown if(h(k+1,k) ~= 0) v(:,k+1)=v(:,k+1)/h(k+1,k); end Form and store the information for the new Givens rotation if k > 1 for i=1:k-1 w1=c(i)*h(i,k)-s(i)*h(i+1,k); w2=s(i)*h(i,k)+c(i)*h(i+1,k); h(i:i+1,k)=[w1,w2]; end end nu=norm(h(k:k+1,k)); if nu~=0 c(k)=h(k,k)/nu; s(k)=-h(k+1,k)/nu; h(k,k)=c(k)*h(k,k)-s(k)*h(k+1,k); h(k+1,k)=0; w1=c(k)*g(k)-s(k)*g(k+1); w2=s(k)*g(k)+c(k)*g(k+1); g(k:k+1)=[w1,w2]; end Update the residual norm rho=abs(g(k+1)); error=[error;rho];

361

362

Appendix C end

% % %

At this point either k > nstart or rho < errtol. It’s time to compute x and cycle. x=x+v(1:n,1:k)*(h(1:k,1:k)\g(1:k)); end

C.2

Solution of an eigenvalue problem

A consistent discretization of the transport or neutron diffusion equation leads to an eigenvalue matrix system of the form   1 A− B v  = 0;  = 1, L (C.54) λ where A and B are non-symmetric matrices resulting from the discretization of the transport or neutron diffusion equation, λ is the -th eigenvalue and v  is the corresponding eigenvector. The right-hand side 0 is the zero-vector (whose components are zero). The non-symmetry of matrices A and B is due to the discretization process that is generally performed for G > 1 energy groups. The order L of these matrices is equal to the product of the number of energy groups times the number of flux unknowns per group. Equation (C.54) has L eigensolutions or harmonics, each of them corresponding to root λ of the characteristic equation, written as   1 B = 0;  = 1, L. (C.55) det A − λ If the reactor geometry has symmetries, some eigenvalues may be degenerated (i.e., λk = λ if k = ). We are looking for the fundamental solution, corresponding to the first harmonics of Eq. (C.54). Keff = λ1 is the effective multiplication factor and Φ = v 1 is the discretized particle flux. Only the fundamental solution corresponds to a positive particle flux defined over the domain. A fundamental solution is never degenerated. The fundamental problem is therefore written   1 B Φ = 0. (C.56) A− Keff

C.2.1

The inverse power method

The basic algorithm for finding the fundamental solution of Eq. (C.56) is the inverse power method, an iterative strategy written as Φ(0) given Φ(k+1) =

1 (k)

Keff

A−1 B Φ(k) if k ≥ 0

(C.57) (k)

where Φ(0) is a non-zero initial estimate of the particle flux solution and Keff is an estimate of the effective multiplication factor at iteration k. (k)

Different definitions of Keff can be used with success. However, we are presenting the formula used in the finite-element code TRIVAC.[143] We take the internal product of each term in Eq. (C.56) with vector BΦ. We obtain < AΦ, BΦ > −

1 < BΦ, BΦ >= 0 Keff

(C.58)

Numerical methods

363

where we used the notation x · y ≡< x, y >. Equation (C.58) leads to the following definition (k) of Keff : (k)

Keff =

< BΦ(k) , BΦ(k) > < AΦ(k) , BΦ(k) >

.

(C.59)

The product A−1 B is the iterative matrix of the inverse power method. Its spectrum determines the convergence characteristics of iteration (C.57). The harmonics that are elements of this spectrum are the solution to λ v  − A−1 B v  = 0;  = 1, L.

(C.60)

The required fundamental solution corresponds to  = 1, so that Keff = λ1 and Φ = v 1 . The spectrum is ordered as Keff = λ1 > |λ2 | ≥ |λ3 | ≥ . . . ≥ |λL |.

(C.61)

The inverse power method generates an asymptotic series of components denoted Φ(k) . The eigenvectors {v  ;  = 1, L} of matrix A−1 B are linearly independent, so that the estimate Φ(k) can be expressed as a linear combination of the form Φ(k) =

L 

(k)

c v  .

(C.62)

=1 (k)

Now consider a quasi-converged estimate of the fundamental solution, so that Keff λ1 . The next estimate (k + 1) can be obtained by substituting Eq. (C.62) into the iteration (C.57). We write L 1 −1  (k) Φ(k+1) = A B c v  . (C.63) λ1 =1

Substituting Eq. (C.60) into Eq. (C.63), we find L 1  (k) c  λ v  . λ1

Φ(k+1) =

(C.64)

=1

After m iterations, we obtain Φ(k+m) =

L 



=1

with

 lim

m→∞

λ λ1

(k)

c

λ λ1

m v

(C.65)

m = 0 if  ≥ 2

(C.66)

since λ1 > |λ | ∀ > 1, as suggested by Eq. (C.61). We may conclude that the inverse power method converges to the fundamental solution v 1 . The convergence characteristics of the asymptotic series are the convergence order p and the asymptotic convergence constant C∞ defined from the relation Φ(k+2) − Φ(k+1)  C∞ = lim (C.67) p . k→∞ Φ(k+1) − Φ(k) 

364

Appendix C

Comparing Eqs. (C.62) and (C.64), we write (k+1)

Φ

−Φ

(k)



 λ = − 1 v λ1 =1     L (k)   c λ λ2 (k) = c2 − 1 v2 + − 1 v . (k) λ1 λ1 c L 

(k) c

(C.68)

2

=3

Performing one more iteration, we find Φ

(k+2)

−Φ

(k+1)



 λ = − 1 v λ1 =1       L (k)  c  λ λ λ2 (k) λ2 = c2 − 1 v2 + − 1 v . (k) λ1 λ1 c λ1 λ1 L 

(k) λ c λ1

=3

(C.69)

2

We take the norm of Eqs. (C.68) and (C.69) at the limit where k tends to infinity.1 We write      λ2 (k)  λ2 (k) (k+1) (k) lim Φ − 1 v 2  = |c2 |  − 1  v 2  (C.70) − Φ  = c2 k→∞ λ1 λ1 and (k) λ2

lim Φ(k+2) − Φ(k+1)  = c2

k→∞



λ1

 λ2 (k) |λ2 | − 1 v 2  = |c2 | λ1 λ1

   λ2    v 2  − 1  λ1 

(C.71)

where we used the following property: (k)

lim

c

k→∞

(k)

c2

= 0 if  ≥ 3.

(C.72)

The inverse power method converges linearly (i.e., p = 1) toward the fundamental solution v 1 with an asymptotic convergence constant C∞ equal to C∞ = lim

k→∞

Φ(k+2) − Φ(k+1)  Φ

(k+1)

−Φ

(k)



=

|λ2 | . λ1

(C.73)

For a linearly converging asymptotic series, the asymptotic convergence constant is the convergence rate of this series and is equal to the dominance ratio |λ2 |/λ1 of the iterative matrix A−1 B. Any iterative process with p = 1 converges if its asymptotic convergence constant (or convergence rate) is smaller than one. The practical implementation of the inverse power method takes advantage of any particular characteristics of matrices A and B in order to reduce computational costs. If these matrices are full, it will be advantageous to compute the iterative matrix A−1 B once at the beginning of the algorithm. The Matlab script f=aleig(a,b,eps) uses this idea. If matrix A has a profiled shape around its diagonal, a factorization of A may be a better alternative. 1 The

norm of vector x is symbolized as  x . Any norm of vector x satisfies the three following conditions:

1.  x  > 0 if and only if x = 0 2.  k x  = |k|  x  for any complex number k 3.  x + y  ≤  x  +  y 

Numerical methods

365

The Matlab script [iter,eval,evect]=aleig(a,b,eps) finds the fundamental eigenvalue and corresponding eigenvector of Eq. (C.56) using the inverse power method. The Matlab variables a and b are the input matrices and eps is the convergence parameter of the inverse power method. The script returns a list containing • the number of iterations • the fundamental eigenvalue μ = 1/Keff • the fundamental eigenvector Φ. function [iter,eval,evect]=aleig(a,b,eps) % find the fondamental eigenvalue and corresponding eigenvector of % equation (a-eval*b)*evect=0 using the inverse power method. % function [iter,eval,evect]=aleig(a,b,eps) % (c) 2005 Alain Hebert, Ecole Polytechnique de Montreal try ai=inv(a) ; catch error(’singular matrix’) end % perform power iterations. ai=ai*b ; iter=0 ; eval=1. ; n=size(a,2) ; evect=ones(n,1) ; while true iter=iter+1 ; if iter > 500, error(’unable to converge(1).’), end gar=eval*ai*evect ; s1=sum((a*evect).*(eval*b*evect)) ; s2=sum((eval*b*evect).*(eval*b*evect)) ; zz=abs(1.0d0-s1/s2) ; eval=eval*s1/s2 ; err1=max(abs(gar)) ; err2=max(abs(gar-evect)) ; evect=gar*eval ; if zz test error(’unable to converge(2)’) end end

A few remarks can be made to highlight the implementation of this script. • Matrix A is first inverted using function inv(a) before being multiplied by matrix b. This approach is similar to the Fortran or C implementation of this algorithm where matrix A is inverted in place. We could have used ai = a \ b in the Matlab script as an alternative approach. • The estimate of Keff at iteration k is based on Eq. (C.59) and is written ' & A Φ(k) , BΦ(k) 1 (k) μ = (k) = & '. B Φ(k) , BΦ(k) Keff • The iterative process is assumed to be converged when      (k)    μ − μ(k−1)  ≤ μ(k) 

(C.74)

(C.75)

366

Appendix C and max

1≤i≤L

     (k)  (k)  (k−1)  φi − φi  ≤ max φi  1≤i≤L

(C.76)

where is the stopping criterion of the iterative process The first condition (C.75) is not sufficient to stop iterations as Keff may converge to the computer epsilon before the eigenvector convergence. In spite of its simplicity, the script aleig is generally inefficient in real-life situations. Its most important weakness are: • Matrices A and B are stored as full matrices in spite of the fact that they may contain many zero components. This storage is causing an excess usage of memory and many unnecessary multiplications by zero components. • Inversion of matrix A generates a large number of non-zero components not initially present in this matrix. This is the fill-in phenomenon. • Convergence of the inverse power method may become too slow to succeed in cases where the dominance ratio is close to one. This phenomenon generally occurs with the modeling of a large power reactor, such as the pressurized water reactors (PWRs) used for electricity production. In this case, it is possible to meet the convergence criteria of Eqs. (C.75) and (C.76) to the computer epsilon without having effectively converged. This is the false convergence phenomenon. Corrective techniques exist to alleviate the effects of each of these weaknesses, and will be the subject of the remaining section. The first corrective technique consists in replacing the inversion of matrix A by its factorization. Two factorization techniques are available: • The Cholesky factorization is used in cases where matrix A is symmetric. It is described in Sect. C.1.2. • The Crout factorization is used when matrix A is non-symmetric. However, such factorizations are only effective in so far as matrix A is first partitioned into group-by-group blocks, each block corresponding to specific primary and secondary energy groups. This partitioning technique will be the subject of Sect. C.2.4. The discretization of large 2D and 3D domains generates matrices with many zero components inside their external profile. Consequently, fill-in will occur during factorization, making these approaches nonfeasible. In this case, it is possible to introduce the preconditioned power method of Sect. C.2.2 and to completely avoid the fill-in phenomena. Finally, the convergence acceleration techniques of Sect. C.2.5 are available in cases where the dominance ratio is close to one.

C.2.2

The preconditioned power method

The preconditioned power method is a kind of power method permitting us to avoid inversion or factorization of matrix A. We start from the basic recursion of the inverse power method, written as 1 Φ(k+1) = (k) A−1 B Φ(k) . (C.77) Keff The calculation of x(k+1) = A−1 B Φ(k) is equivalent to the resolution of a linear system written as Ax(k+1) = b(k) where b(k) = B Φ(k) . Such a solution can be performed by a direct approach (either using the Gauss elimination of Sect. C.1.1 or a factorization approach), at the cost of component fill-in that may become excessive in situations related to the discretization over 2D or 3D domains. This is suggesting an alternative approach based on the iterative

Numerical methods

367

method of Sect. C.1.3. Two iteration levels are required. The outer or power iterative level is controlled by index k and involves the computation of successive estimates of the effective multiplication factor. The inner level is related to the solution of a linear system and is controlled by index j. The calculation of Φ(k+1) involves the iterative resolution of a linear system Ax(k+1) = b(k) using an initial estimate written x(k+1,0) and defined as (k)

x(k+1,0) = Keff Φ(k) .

(C.78)

After performing J inner iterations, Eq. (C.77) is replaced by Φ(k+1) =

1 (k)

x(k+1,J) .

(C.79)

Keff

where the estimate x(k+1,J) is obtained in terms of x(k+1,0) with the help of Eq. (C.28). We write x(k+1,J)

=

(I − RJ ) A−1 b(k) + RJ x(k+1,0)

=

(I − RJ ) A−1 B Φ(k) + RJ Keff Φ(k) (k)

(C.80)

where the residual matrix is defined as R = I − MA, with M representing a preconditioning matrix, close to A−1 , and selected according to the criteria of Sect. C.1.3. Substituting Eq. (C.80) into Eq. (C.79), we obtain Φ(k+1)

1

=

(k)

Keff =

Φ

(k)

(I − RJ ) A−1 B Φ(k) + RJ Φ(k)  −M

(J)



(k)



1 (k)

Keff

 BΦ

(k)

(C.81)

where M(J) is the preconditioning matrix representing J inner iterations. Its generating definition is (C.82) M(J) = (I − RJ ) A−1 and its first three values are M(1) M(2)

=

M

=

(2 I − M A) M

M

=

[3 I −(3 I − M A) M A] M .

(3)

(C.83)

The residual matrices associated with these three preconditioning matrices are R, R2 and R3 , respectively. We observe that each inner iteration reduces the error by one order of magnitude. Equation (C.81) is the recursive relation of the preconditioned power method. At the limit where R∞ = O, the preconditioning matrix becomes identical to A−1 and the preconditioned power method reduces to the inverse power method of Sect. C.2.1. In the general case where the preconditioning matrix is different from A−1 , the preconditioned power method converges linearly (i.e., p = 1) at a rate slower than the convergence rate of the inverse power method. We can show that the asymptotic convergence constant in this case is[143]   Φ(k+2) − Φ(k+1)  |λ2 |  λ2  ≤  RJ  C∞ = lim + 1 − (C.84)  k→∞ Φ(k+1) − Φ(k)  λ1 λ1  for an iterative process with J inner iterations per power iteration.

368

Appendix C

The preconditioned power method converges linearly, so that C∞ < 1 is a necessary condition for convergence. According to Eq. (C.84), this condition is met if the norm of the residual matrix is smaller than one. In other situations, divergence may occur. The practical definition of the recursion for the preconditioned power method is summarized as Φ(0) given Φ

(k+1)





(k)

−M

(J)



(k)



1 (k)

Keff

 BΦ

(k)

if k ≥ 0.

(C.85)

Two choices are left to the user of this method. First, one must select the type of preconditioning matrix. Available choices are the same as those already presented in the context of the iterative solution of a linear system in Sect. C.1.3. They are the Jacobi, Gauss-Seidel, SSOR or ADI preconditioning matrices. Secondly, one must select the number of inner iterations J to be performed in each power iteration. Values J = 1 are J = 2 are the most usual ones. We suggest selecting the smallest value of J that guarantees a convergence of the power method in fewer than 75 iterations. In code TRIVAC, the value of J is automatically increased by one unity when we observe convergence difficulties of the power method.

C.2.3

The Hotelling deflation

The harmonics of the eigenvalue problem are written A v − and A v k∗ −

1 B v  = 0;  ≥ 1 λ

(C.86)

1 ∗ B v k = 0; k ≥ 1 λk

(C.87)

where λ1 ≡ Keff is the fundamental eigenvalue. Theorem The eigenvectors are mutually orthogonal according to v k∗ · B v  = 0 if λk = λ . Proof: We take the internal product of Eq. (C.86) with the solution v ∗k (r) of the adjoint Eq. (C.87). We obtain an equality relation corresponding to each harmonic, written as v ∗k · A v  −

1 (v ∗ · B v  ) = 0 λ k

(C.88)

1 ∗ B v k · v  = 0. λ

(C.89)

which can be transformed into A v ∗k · v  −

Substitution of Eq. (C.87) into Eq. (C.89) leads to   1 1 ∗ 1 ∗ 1 ∗ − B vk · v − B vk · v = B vk · v = 0 λk λ λk λ so that

B v ∗k · v  = v ∗k · B v  = 0 if λk = λ .

(C.90)

(C.91)

2 The Hotelling deflation is a decontamination operation of the power method so as to converge on non-fundamental harmonics of the eigenvalue problem.[145] Knowledge of these harmonics is

Numerical methods

369

sometimes useful as basis functions with the modal synthesis method, a fast solution technique of the transport or neutron diffusion equation. We shall first introduce the Hotelling deflation technique in the context of the inverse power method before generalizing our presentation to the preconditioning power method. The basic algorithm consists in computing one harmonic at a time, while decontaminating the current inverse matrix A−1 from the previously calculated harmonics, including the fundamental solution. As a matter of example, the fundamental direct and adjoint eigensolutions are first obtained with the application of the inverse power method to the following equations:

and

λ1 v 1 − A−1 B v 1 = 0

(C.92)

−1 ∗ λ1 v 1∗ − A B v1 = 0

(C.93)

The next harmonic, with index  = 2, is computed with an iterative algorithm similar to the inverse power method, using a decontaminated version of matrix A−1 . This iterative algorithm is written (0)

v2

given

(k+1) v2

=



1

A

(k) λ2

−1

v 1 ⊗ v 1∗ − λ1 ∗ v 1 · Bv 1

 (k)

B v2

if k ≥ 0.

(C.94)

(k)

As before with Eq. (C.62), it is possible to write v 2 as a linear combination of the harmonics of Eq. (C.92), so that L  (k) (k) c v  . (C.95) v2 = =1 (k)

Let us now consider a quasi-converged estimate of the solution, so that λ2 = λ2 . The next estimate, with index (k + 1), can be obtained by substituting Eq. (C.95) into the recursive algorithm (C.94). We obtain (k+1) v2

1 = λ2

 A

−1

v 1 ⊗ v 1∗ − λ1 ∗ v 1 · Bv 1

 B

L 

(k)

c v  .

(C.96)

=1

Collecting together terms with index  = 1 and using the identity (x ⊗ y) z = x (y · z), we find (k+1)

v2

=

(k) c1 −1 1 A B v 1 − λ1 v 1 + λ2 λ2



A−1 − λ1

v 1 ⊗ v 1∗ v 1∗ · Bv 1

 B

L 

(k)

c v  .

(C.97)

=2

Equation (C.97) can be simplified using Eq. (C.92) and the bi-orthogonality Eq. (C.91) between eigenvectors, so that 1 −1  (k) A B c v  . λ2 L

(k+1)

v2

=

(C.98)

=2

(k+1)

Substituting Eq. (C.60) into Eq. (C.98), we find a decontaminated expression of v 2 written L 1  (k) (k+1) = c  λ v  . (C.99) v2 λ2 =2

370

Appendix C

After m iterations, the previous equation would be rewritten as Φ

(k+m)

=

L 

 (k) c

=2



with lim

m→∞

λ λ2

λ λ2

m v

(C.100)

m if λ2 > |λ | ∀  ≥ 3.

=0

(C.101)

We may conclude that the inverse power method converges toward the index  = 2 harmonic if it is not degenerate. If it is, the inverse power method converges toward a linear combination of all harmonics sharing the same eigenvalue λ2 . The Hotelling deflation method can be generalized to the preconditioned power method. In this case, the iterative algorithm is written Φ(0) given (k+1) v2

=

(k) v2

 −M

(J)

(k) Av 2



1 (k) λ2

 B

(k) v2



λ1 v 1 ⊗ v 1∗ (k) B v2 (k) v ∗ · Bv 1 λ 1

if k ≥ 0.

2

(C.102) Both algorithms (C.94) and (C.102) converge toward the index  = 2 harmonic. Remaining harmonics of index  > 2 can be obtained in a similar way by decontaminating the flux iterate with all preceding harmonics of index  < . This strategy generally remains valid to obtain the first dozen harmonics and their associated adjoints. Elements of this partial set, corresponding to the largest λ values, are used as basis functions in the nodal synthesis method.

C.2.4

The multigroup partitioning

The matrix A resulting from a consistent discretization of the transport or neutron diffusion equation is not symmetric, except for one-speed problems. However, A generally exhibits a block structure similar to the example depicted in Fig. C.2, where the diagonal blocks are symmetric. The complete matrix system is an eigenvalue problem of the form   1 B Φ=0 (C.103) A− Keff and can be written in a block structure, each block representing specific values of the primary and secondary energy group indices. A11 ±A

21 A22 32 A33

±A

42 ± A43 A44 ± A45

±A

54 A55

±A

Φ1

B11 B12 B13 B14 B15

Φ1

0

Φ2

B21 B22 B23 B24 B25

Φ2

0

1 Φ3 ± Keff Φ4

Φ3 Φ4

0

Φ5

Φ5

0

=

0

Figure C.2: A multigroup partitioning example with G = 5. Assuming that the diagonal blocks are symmetric, they can be factorized using the Cholesky method (L − D − L ), as explained in Sect. C.1.2. Equation (C.103) can be rewritten in its

Numerical methods

371

multigroup form as Ag,g Φg =

G 

Ag,h Φh +

G 1  Bg,h Φh Keff

(C.104)

h=1

h=1 h=g

where G is the number of energy groups. In the particular case where the up-scattering blocks vanish, i.e., if Ag,h = O for all group indices h > g, the eigenvalue system (C.104) can be evaluated in a recursive way, using G  1 A−1 B1,h Φh Keff 1,1 h=1 # g−1 $ G  1  −1 Φg = Ag,g Ag,h Φh + Bg,h Φh Keff

Φ1 =

h=1

if g = 2, G.

(C.105)

h=1

This approach is the equivalent of using the following definition ⎛ A−1 O O 11 −1 −1 −1 ⎜ A A A A O 21 22 11 22 ⎜ −1 −1 −1 −1 −1 A−1 = ⎜ A−1 ⎝ 33 A31 + A32 A22 A21 A11 A33 A32 A22 A33 .. .. .. . . .

for the inverse of A: ⎞ ... O ... O ⎟ ⎟ . (C.106) ... O ⎟ ⎠ .. . A−1 G,G

If a preconditioning power method is used, we introduce diagonal preconditioning blocks written {Mg,g ; g = 1, G} so as to approximate the inverse blocks {A−1 g,g ; g = 1, G}. A global preconditioning matrix consistent with the definition of A−1 of Eq. (C.106) is therefore written ⎞ ⎛ (J) M11 O O ... O (J) (J) (J) ⎜ M22 O ... O ⎟ ⎟ ⎜  M22 A21 M11  (J) ⎟ ⎜ (J) (J) (J) (J) (J) (J) M = ⎜M A31 + A32 M22 A21 M11 M33 A32 M22 M33 . . . O ⎟ (C.107) 33 ⎠ ⎝ .. .. .. .. (J) . M . . . G,G

where J is the number of inner iterations per outer iteration. In cases where the up-scattering block contributions are small, it is possible to use Eq. (C.107) as preconditioning matrix, even though this matrix is neglecting the up-scattering phenomena. In this case, the preconditioning power method is written Φ(0) g

given



(k) (J) ⎣ Φ(k+1) = Φ(k) g g − Mg,g Ag,g Φg −

g−1 

(k+1)

Ag,h Φh

h=1



G 

(k)

Ag,h Φh −

h=g+1

G 

1

(k) Keff h=1

⎤ (k) Bg,h Φh ⎦

(C.108) if k ≥ 0 and g = 1, G. A similar algorithm can be set up to obtain the adjoint solution. In this case, the iterations start with the matrix subsystem of group G and proceed downward toward group 1, so that Φ∗(0) g

given

Φ∗(k+1) g

=

Φ∗(k) g −

 −

M(J) g,g

1

G 

(k) Keff h=1

Ag,g Φ∗(k) − g ∗(k)

B h,g Φh

if k ≥ 0 and g = G, G − 1, G − 2, . . . , 1.



g−1  h=1

∗(k)

A h,g Φh



G 

∗(k+1)

A h,g Φh

h=g+1

(C.109)

372

Appendix C

C.2.5

Convergence acceleration

The convergence of the inverse or preconditioning power method becomes very slow in cases where the asymptotic convergence constant C∞ is close to one. We observe that the discretization of the transport or neutron diffusion equation over a large geometric domain, such as those corresponding to a large power reactor, leads to an asymptotic convergence constant greater than 0.95 and to convergence difficulties. A free-iteration convergence of the power method is not feasible in these cases. Many acceleration techniques are available to reduce the value of the asymptotic convergence constant, provided that this constant is initially smaller than one. Three well-known approaches are • In the Wielandt method, Eq. (C.56) is replaced by 

 (A − μe B) −

  1 − μe B Φ = 0 Keff

(C.110)

matrix where μe is an approximation of the requested eigenvalue. The iterative  is set  −1 1 equal to (A − μe B) B and the eigenvalue of the iterative process is Keff − μe . This method is efficient at reducing the dominance ratio of the iterative matrix. However, numerical difficulties appear when μe is too close to 1/Keff as matrix (A − μe B) becomes quasi-singular in this case. Moreover, a linear system using this matrix on the left side cannot be solved effectively with the multigroup partitioning method of Sect. C.2.4. Its use is therefore limited to few-energy cases. It is the favorite iterative method for solving the matrix system originating from the analytic nodal method presented in Sect. 5.2.5. • The Chebyshev acceleration method is based on a rewriting of the inverse power method of the form Φ(0) given Φ(1) = Φ(0) + α(0) g (0) / !0 if k ≥ 1 Φ(k+1) = Φ(k) + α(k) g (k) + β (k) Φ(k) − Φ(k−1)

(C.111)

where g (k) = −Φ(k) +

1 (k) Keff

A−1 B Φ(k) .

(C.112)

Constants α(k) and β (k) are the acceleration parameters computed in such a way as to reduce the asymptotic convergence constant. Successive power iteration cycles, of about six iterations each, are performed using an optimal sequence of acceleration parameters. This sequence is computed assuming the knowledge of the dominance ratio of the iterative matrix. A free iteration can be performed by setting α(k) = 1 and β (k) = 0. This method is very efficient provided the dominance ratio is known accurately. Any overestimation of the dominance ratio has the effect of destabilizing the iterative process. • The variational acceleration method consists in computing the acceleration parameters in such a way as to minimize a norm of the residual of the numerical solution at the next iteration. This approach will now be presented in more detail.

Numerical methods

373

The variational acceleration method is somewhat similar to the Chebyshev acceleration method. It is based on a rewriting of the preconditioned power method of the form Φ(0) given Φ(1) = Φ(0) + α(0) g (0) / !0 if k ≥ 1 Φ(k+1) = Φ(k) + α(k) g (k) + β (k) Φ(k) − Φ(k−1) 

where

g (k) = − M(J) AΦ(k) −

1 (k)

Keff

(C.113)

 B Φ(k) .

(C.114)

Constants α(k) and β (k) are the acceleration parameters computed in such a way as to minimize a norm of the residual of the numerical solution at the next iteration. Knowledge of the dominance ratio or of any spectral property of the iterative matrix is not required. The choice of the norm used gives some flexibility in the implementation of the variational acceleration method. We will limit ourselves to a variant known as the symmetric variational acceleration technique (SVAT) permitting the acceleration of convergence in cases where matrices A and B are non-symmetric, without requiring an evaluation of the adjoint solution.[143] The residual R(k) at iteration k is defined as R(k) = AΦ(k) −

1 (k)

Keff

B Φ(k)

(C.115)

(k)

where the estimate of the effective multiplication factor Keff is given by Eq. (C.59). We write D C AΦ(k) , BΦ(k) D B Φ(k) . (C.116) R(k) = AΦ(k) − C BΦ(k) , BΦ(k) We introduce the L2 norm of this residual, defined as √  x 2 = x · x so that  R(k) 2

=

=

9⎡ C D ⎤ ⎡ : (k) (k) : AΦ , BΦ :⎣ D B Φ(k) ⎦ · ⎣AΦ(k) − ; AΦ(k) − C (k) (k) BΦ , BΦ

(C.117) C

D ⎤ AΦ(k) , BΦ(k) C D B Φ(k) ⎦ (k) (k) BΦ , BΦ

9 ⎧C : D ⎡C D ⎤2 ⎫ :C (k) (k) (k) (k) ⎪ ⎪ ⎨ ⎬ D AΦ , AΦ , BΦ AΦ : : BΦ(k) , BΦ(k) ⎣ ⎦ C D− C D . ; ⎪ ⎪ ⎩ BΦ(k) , BΦ(k) ⎭ BΦ(k) , BΦ(k)

(C.118)

We now select values of the acceleration parameters α(k) and β (k) in such a way as to minimize the L2 norm of the residual at iteration k + 1. The two parameters are the solution of non-linear relations obtained from

and

∂  R(k+1) 2 = 0 ∂α(k)

(C.119)

∂  R(k+1) 2 = 0 ∂β (k)

(C.120)

374

Appendix C

so that C DC D C D2  ∂ (k+1) (k+1) (k+1) (k+1) (k+1) (k+1) BΦ − AΦ AΦ =0 , AΦ , BΦ , BΦ ∂α(k)

(C.121)

C DC D C D2  ∂ (k+1) (k+1) (k+1) (k+1) (k+1) (k+1) BΦ − AΦ AΦ = 0. , AΦ , BΦ , BΦ ∂β (k)

(C.122)

and

Equations (C.121) and (C.122) define the non-linear system in α(k) and β (k) . The solution α and β (k) is obtained by solving Eqs. (C.121) and (C.122) using a Newton-Raphson iterative method. It is not possible to prove that a solution exists and that a solution is unique. However, the practical use of these relations for solving a large variety of problems over many years has always been successful and has always led to the determination of consistent acceleration parameters with α(k) > 1. Two or three iterations are generally sufficient to converge, starting from the initial estimate α(k) = 1 and β (k) = 0. A change of variable greatly simplifies the implementation of the Newton-Raphson algorithm. We define (C.123) h(k) = Φ(k) − Φ(k−1) and γ (k) = α(k) β (k) . (k)

Using these definitions, Eq. (C.113) can be rewritten as Φ(k+1) = Φ(k) + α(k) g (k) + γ (k) h(k)

(C.124)

Substituting Eq. (C.124) into Eqs. (C.121) and (C.122), we obtain a non-linear system in α(k) and γ (k) , written as X (k+1) X (k+1)

∂X (k+1) ∂Y (k+1) + Y (k+1) (k) ∂α ∂α(k) (k+1) (k+1) ∂Y (k+1) ∂X + Y ∂γ (k) ∂γ (k)

where

=

2Z (k+1)

=

2Z (k+1)

∂Z (k+1) ∂α(k) ∂Z (k+1) ∂γ (k)

(C.125)

C

X (k+1)

=

Y (k+1)

=

Z (k+1)

=

D AΦ(k+1) , AΦ(k+1) D C BΦ(k+1) , BΦ(k+1) C D AΦ(k+1) , BΦ(k+1) .

(C.126)

The practical evaluation of the bilinear products (C.126) may be more resource intensive than the iterative solution of Eqs. (C.125). As a matter of example, the evaluation of X (k+1) involved the calculation of six bilinear products: D C D C X (k+1) = AΦ(k) , AΦ(k) + 2α(k) AΦ(k) , Ag (k) C D !2 C D Ag (k) , Ag (k) + 2γ (k) AΦ(k) , Ah(k) + α(k) C D !2 C D Ah(k) , Ah(k) . (C.127) + 2α(k) γ (k) Ag (k) , Ah(k) + γ (k) Similarly, evaluations of Y (k+1) and Z (k+1) involve the evaluation of six and nine bilinear products, respectively.

Numerical methods

375

It was observed that the variational acceleration strategy based on Eqs. (C.125) is stable, even when all the power iterations are accelerated. A variational acceleration strategy using a unique acceleration parameter α(k) is unstable in this case. Using two acceleration parameters appears to be a minimum. If all the power iterations are accelerated, the SVAT method becomes very similar to the conjugate gradient method applied to the eigenvalue problem. Using a unique acceleration parameter is similar to a steepest descent approach. However, there is no need to accelerate every power iteration. In its default behavior, the computer code TRIVAC uses cycles of six iterations, three free followed by three accelerated. This strategy represents a practical choice for reducing the computer resources and maintaining a good convergence stability.

C.3

Solution of a fixed source eigenvalue problem

A consistent discretization of the transport or neutron diffusion equation leads to the eigenvalue matrix system of the form of Eq. (C.56): (A − μ1 B) Φ = 0

(C.128)

where A and B are non-symmetric matrices resulting from the discretization of the transport or neutron diffusion equation, μ1 = 1/Keff is the fundamental eigenvalue, Φ is the discretized particle flux and 0 is the zero-vector (whose components are zero). The adjoint problem is defined after transposition of the matrices as (C.129) A − μ1 B Φ∗ = 0 and the corresponding direct fixed source eigenvalue equation is (A − μ1 B) Γ = S

(C.130)



where the fixed source satisfies S · Φ = 0. If Γ is a solution of Eq. (C.130), then any vector of the form Γ = Γ + α Φ

(C.131)

is also a solution for any value of constant α. A particular solution can be selected using the following normalization condition: (C.132) Γ · B Φ∗ = 0.

C.3.1

The inverse power method

The basic algorithm for finding the fundamental solution of Eq. (C.130) is the inverse power method, an iterative strategy written as Γ(0) given

  Γ(k+1) = A−1 S + μ1 B Γ(k) if k ≥ 0

(C.133)

where Γ(0) is an initial estimate of the fixed source eigenvalue solution. However, the above iterative strategy may not converge without imposing a normalization condition similar to Eq. (C.132). Such a condition can be achieved with a decontamination procedure based on the Hotelling deflation of Sect. C.2.3. In this context, Eq. (C.133) is replaced by Γ(0) given Γ

(k+1)

−1

=A

 S + μ1 A

−1

Φ ⊗ Φ∗ − ∗ Φ · BΦ

 B Γ(k) if k ≥ 0.

(C.134)

376

Appendix C

The effectiveness of this decontamination procedure can be proven using a spectral approach. The eigenvectors of Eq. (C.129) form a complete basis, so that the k-th iterate of Eq. (C.134) can be expanded as L  (k) c v  with v 1 ≡ Φ. (C.135) Γ(k) = =1

Substitution of Eq. (C.135) into Eq. (C.134) and using the identity (x ⊗ y) z = x (y · z) leads to      L Φ ⊗ Φ∗ Φ ⊗ Φ∗ (k) (k) B c1 Φ + μ1 A−1 − ∗ B c v  Γ(k+1) = A−1 S + μ1 A−1 − ∗ Φ · BΦ Φ · BΦ =2

(k) = A−1 S + μ1 A−1 B Φ − Φ c1 + μ1 A−1 B

L 

(k)

c v 

=2

Φ Φ∗ · BΦ



L 

c (Φ∗ · Bv  ) . (k)

(C.136)

=2

Equation (C.136) can be simplified using Eq. (C.129) and the bi-orthogonality Eq. (C.91) between eigenvectors, so that Γ(k+1) = A−1 S +

L  μ1 =2

μ

(k)

c v  .

(C.137)

The second term on the right-hand side of Eq. (C.137) contains no  = 1 component and is therefore orthogonal to B Φ∗ . The first term on the right-hand side is also orthogonal, as −1 ∗ ! 1 B Φ = (S · Φ∗ ) = 0 A−1 S · B Φ∗ = S · A μ1

(C.138)

Γ(k+1) · B Φ∗ = 0.

(C.139)



so that

The effectiveness of the decontamination procedure in Eq. (C.134) is proven. In theory, the decontamination is only required for the first iteration. However, it is generally applied to all iterations in order to get rid of numerical instabilities produced by roundoff errors. After one iteration, Eq. (C.135) is rewritten as Γ(k) =

L 

(k)

c v  .

(C.140)

=2

The convergence of the inverse power method can be explained using a similar spectral approach. The fixed source can also be expanded in terms of eigenvectors of Eq. (C.129) as A−1 S =

L 

s v 

(C.141)

 μ1 (k) c v  . μ

(C.142)

=2

so that Γ(k+1) =

L   =2

s +

Numerical methods

377

Equation (C.142) is applied k times, starting from an initial estimate Γ(0) written in terms (0) (0) of coefficients c . Note that a zero array leading to c = 0 can be used, as proposed in our Matlab script. In the general case, we obtain    k k−1 L    μ 1 n μ1 (0) (k) c v = + s Γ μ μ n=0 =2    k L k  μ1 1 − (μ1 /μ ) (0) v = + s (C.143) c μ 1 − μ1 /μ =2

where we introduced the geometric series of the second term on the right-hand side. As k increases, ratios (μ1 /μ )k vanish so that Γ = lim Γ(k) = k→∞

L  =2

s v . 1 − μ1 /μ

(C.144)

Equation (C.144) is the solution of the fixed source eigenvalue equation because its substitution on the left-hand side of Eq. (C.130) leads to its right-hand side: L  I − μ1 A−1 B Γ = I − μ1 A−1 B



=2

=

L  1 − μ1 /μ =2

1 − μ1 /μ

s v 1 − μ1 /μ

s v  = A−1 S.

(C.145)

The Matlab script [iter,eval,delta]=alfse(a,b,evect,adect,sour,eps) finds the solution of the fixed source eigenvalue problem defined in Eq. (C.130) using the inverse power method. The Matlab variables a and b are the input matrices and eps is the convergence parameter of the inverse power method. Arrays evect and adect are the direct and adjoint solutions of the corresponding eigenvalue problem. Array sour is the fixed source. It must be orthogonal to adect. The script returns a list containing • the number of iterations • the fundamental eigenvalue μ1 = 1/Keff of the corresponding eigenvalue problem • the solution of the fixed source eigenvalue problem Γ. function [iter,eval,delta]=alfse(a,b,evect,adect,sour,eps) % find the solution of a fixed source eigenvalue problem defined as % (a-eval*b)*delta=sour using the inverse power method. The associated % eigenvalue problem is % (a-eval*b)*evect=0 % (a’-eval*b’)*adect=0 % function [iter,eval,delta]=alfse(a,b,evect,adect,sour,eps) % (c) 2007 Alain Hebert, Ecole Polytechnique de Montreal check=adect’*sour ; if abs(check) > eps error(’the fixed source is not orthogonal to the adjoint eigenvector’) end znum=adect’*a*evect ; zden=adect’*b*evect ; try a=inv(a) ; catch

378

Appendix C

error(’singular matrix’) end % perform power iterations. iter=0 ; eval=znum/zden ; sour=a*sour ; n=size(a,2) ; delta=zeros(n,1) ; while true iter=iter+1 ; if iter > 300, error(’unable to converge.’), end s1=adect’*b*delta ; gar=sour-(s1/zden)*evect+eval*a*b*delta ; err1=max(abs(gar)) ; err2=max(abs(gar-delta)) ; delta=gar ; if err2