0% found this document useful (0 votes)
23 views58 pages

CMSR Seaborg Desing

Uploaded by

Luis Gomez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views58 pages

CMSR Seaborg Desing

Uploaded by

Luis Gomez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Investigation on Operation of the Compact

Molten Salt Reactor by Modelling the


Primary Circuit in GeN-FOAM

JELLE GERM OVING

KTH Nuclear Engineering

Master’s Degree Project


Stockholm, Sweden February 22, 2023

TRITA-SCI-GRU 2022:215
Author
Jelle Germ Oving < [email protected] >
Nuclear Energy Engineering
KTH Royal Institute of Technology

Place for Project


Seaborg Aps, Copenhagen, Denmark
KTH Royal Institute of Technology, Stockholm, Sweden

Examiner
Professor Henryk Anglart
Stockholm, Sweden
KTH Royal Institute of Technology

KTH Supervisor
Vasily Arzhanov
Stockholm, Sweden
KTH Royal Institute of Technology

Seaborg Supervisors
Kaspar Hewitt Klenø, Mario Ponce Tovar
Copenhagen, Denmark
Seaborg

TRITA Number
TRITA-SCI-GRU 2022:215
”Happy is the man who can recognize in the work of
Today a connected portion of the work of life and an
embodiment of the work of Eternity.
The foundations of his confidence are unchangeable, for
he has been made a partaker of Infinity.”

JAMES CLERK MAXWELL


msr Abstract

In recent years there has been a revision of the molten salt nuclear reactor concept for production of power.
Moving of fissile material throughout the primary circuit for these types of reactors creates the necessity of
novel physics solvers to study movement of delayed neutron precursors, plant operation, accident scenario’s;
crucial for design. GeN-Foam is an open source extension of the C++ OpenFoam library tailored for simulating
next generation nuclear reactors, including movement of delayed neutron precursors. Using this numerical tool,
an investigation is made into simple physical transport problems related to delayed neutron precursors. Goals
of the thesis include verification of GeN-Foam using simple models, asserting mesh-independence for the 3D
core model and calculation of the effective delayed neutron fraction in geometries representing the Compact
Molten Salt Reactor developed by Seaborg in Denmark. Estimation of the effective delayed neutron precursor
fraction by numerical and analytical approaches are given for a simple pipe with laminar flow containing a
critical core region, a simplified geometry of the CMSR core area, and a full 3D model of the primary circuit of
the CMSR. Results show good agreement between numerical and analytical results for the simplified models,
while for the 3D model there was a difference for calculating the delayed neutron fraction, possibly due to
the difficult implementation of mass-flow in GeN-Foam and the lack of mesh refining capabilities of the used
meshing software, Salome. Nevertheless results show large agreement between the numerical and analytical
results, showing GeN-Foam to be a viable tool for the study on molten salt reactors.

Keywords: molten salt reactor, GeN-Foam, delayed neutrons, OpenFOAM, multi-physics


CONTENTS CONTENTS

Contents
1 INTRODUCTION 6

2 THEORY 8
2.1 Momentum, Pressure & Turbulence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Navier-Stokes Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Pressure Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Turbulence Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Energy & Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Neutronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Delayed Neutron Precursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Accidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Coupling & Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.1 Multi-physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.2 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.3 Numerical Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 PISO & SIMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Meshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.1 Inflation Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.2 Mesh Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 Sources of Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 METHODS 20
3.1 Geometry & Meshing in Salome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Settings in GeN-Foam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Parameters and Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Post-Processing in Paraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Streamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7 Used Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 RESULTS & DISCUSSION 26


4.1 The Infinite Pipe Reactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1.1 Analytical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1.2 Numerical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.3 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 The Axi-symmetric Core with Double Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1 Analytical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Numerical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 CMSR: Encountered Difficulties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.1 Negative Flux and Precursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.2 Non-uniformity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 Hexagonal Mesh Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.1 Steady State Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.2 Mesh-Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.3 Delayed Neutron Precursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5.4 Streamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 Tetrahedral Mesh Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.1 Steady State Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.2 Mesh-Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.3 Streamlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6.4 Decay of Precursors in the Upper Plenum and Heat-exchanger . . . . . . . . . . . . . 40
4.7 Comparison of the Results for βeff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.7.1 Total Amount of Precursors in the Primary Circuit . . . . . . . . . . . . . . . . . . . 42
4.8 Analytical Approach for Calculating Temperature Distribution . . . . . . . . . . . . . . . . . 43
4.9 A Little Bit on Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.10 Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4
CONTENTS CONTENTS

4.11 Excluded Phenomena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


4.12 Further Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 CONCLUSION 47

Acronyms 48

References 49

Appendix A 51

Appendix B 54

Appendix C 56

Appendix D 57

5
1 INTRODUCTION

1 INTRODUCTION
msrMore and more people are growing aware of the necessity for carbon-free energy production, as the latest
IPCC report puts nails in the coffin of the last climate skeptics [1]. Within twenty to thirty years a major
step-back in carbon-dioxide is needed to prevent giant environmental changes to our home planet. Nuclear
energy can substitute a large portion of the energy that is nowadays being produced by coal, for it yields a lot
of energy without emitting any pollutants in the atmosphere, while load factor and input to the electricity grid
is similar. Also material demand per kwh are the lowest compared to other ”green” energy sources [2]. Major
drawbacks for investing in nuclear energy are the capital costs related to the elaborate safety features, while
risk of unforeseen costs during construction cause a high interest rate. This need not be that way. Inherent
physical safety features of a molten salt reactor (MSR) allow great reduction in safety backup systems and
thus plant size/cost.

Conventional reactors operate by having the fissionable material in the form of rods, often uranium-oxide, that
are in a critical arrangement causing continuous fission. This fission generates heat that conducts through
the rod into circulating water which is heated up and goes through a heat exchanger or steam-turbine,
thermalizing. In a MSR the fissionable material is dissolved in a molten salt that itself is being pumped
through a moderated core area. The fissionable material is thus moving instead of stagnant.

Liquid salts have a high thermal expansion coefficient, leading to a high negative temperature feedback and a
possibility for natural circulation of the heat source inside reactors. The liquid form of the fuel also prevents
radiation damage in the core area toward the fuel, and the salt may be drained and reconfigured in case of
accidents. Excellent safety results were obtained for the MSRE at the Oak Ridge National Laboratory, which
were not further developed due to success of the light water reactor and abundant uranium not necessitating
other reactor types and fuels. The swelling and embrittlement of a graphite moderator in the fuel are downsides
of the MSRE concept specifically, and improvements are conceptualized by a variety of parties. In recent years
interest in the MSR has risen; companies like Seaborg, Moltex, Terra-power and others pursue their own
concepts utilizing different salts.

The compact molten salt reactor (CMSR) is a thermal spectrum nuclear reactor designed by Seaborg, using
a salt for the fuel (FUNaK) as well for moderation (sodium hydroxide), getting rid of the graphite core. The
moderator salt circumvents the issue of graphite embrittlement but introduces issues concerning cladding
corrosion chemistry at high temperature and radiation, wherein lies the company’s core intellectual property.
The moderator salt dynamics will not be investigated in this study. The fuel salt is liquid and is pumped
through the primary circuit. It enters the core vessel via the inner lower plenum, goes through the core,
passes through the upper plenum, re-enters the core and leaves through the outer lower plenum towards the
pump and heat exchanger, to repeat. The double pass allows for a more homogeneous temperature field
inside the core which is good for corrosion and chemistry, although the circulation of fuel causes decay of
delayed neutron precursors (DNPs) outside the active core, lowering core stability. Calculating the effect from
transport of DNPs is crucial for save plant operation, as they offer a window of time in which reactivity can
be adjusted using the control rods.

Fluid dynamics, neutronics and temperature get hugely entangled when the fissionable component of a reactor
flows around a circuit. Present day computing power allow the prediction of such dynamics to a far greater
extent. Several codes have been developed to model the multi-physical dynamics (MOOSE, DALTON, Kraken,
GeN-Foam, SIMMER, ...). GeN-Foam is developed on top of the open-source C++ OpenFOAM library. This
library has a multitude of alterable iterative PDE solvers and boundary condition settings, allowing extension
to solve the equations for neutronics. GeN-Foam was opted since it is capable of solving for multiple physics,
is open-source, receives great attention in the community, is being actively bench-marked and is quick. In
GeN-Foam there is also the option to solve for thermo-mechanical physics due to heat, that is not included
in the study.

The GeN-Foam code will be used to study the CMSR, as an investigation for both the code and the CMSR.
The code is not actively being developed by a team, so bugs may arise during the project. Goals of the present
study include the following:
• Verification of GeN-Foam using simplified models that allow analytical solutions.

6
1 INTRODUCTION

• Check for mesh-independence and convergence for the model, so the results obtained can be said to
relate more to the physical model than to the numerical schemes involved.
• Find the reactivity contribution from DNP’s during steady state, with emphasis on the upper plenum.

• Investigate dynamics for things like changing the pumping speed and ideally accident scenarios.
Having introduced the structure of the thesis, a theoretical background regarding the physics involved (fluid,
energy, neutronics) is given, where-after the used programs are introduced, the methods for producing the
results are given, the results and discussion about the results are presented, with a conclusion at the end. The
text is written for people with a bachelor in physics with some background in nuclear engineering.

7
2 THEORY

2 THEORY
msrNuclear reactor physics include the modelling of the coolant/fuel flow, heat transfer between media,
neutronics and thermomechanics. For the neutronics of a MSR, additional fields for the DNPs are introduced.
This is different from a conventional nuclear reactor, where the fuel is in solid form and does not move during
operation. Because the fissile material is in liquid form and moving through the primary circuit, neutronics and
fluid dynamics of the fuel salt become strongly coupled, for the fuel is directly heated by fission, and advection
causes flushing of DNPs. Furthermore, where for a conventional reactor the heat is removed through the
coolant via conduction through the fuel to the coolant, here it is exported out the core through advection
and removed by the heat-exchanger via conduction between the fuel salt and a secondary salt. Arguably the
neutronics and subsequently heat do not affect fluid dynamics a lot, with the exception of natural convection.

GeN-Foam works as an discretizing algebraic solver. This means there will be a system of equations of the
sort Ax = b ,where A arises from discretizing the differential equation of the physics at hand, x is the
desired solution vector for all the nodes in the mesh and b represents pre-set values at the nodes in the form
of boundary conditions or source terms. The matrix A will be composed by the software, but the user of
OpenFOAM/GeN-Foam has to specify which schemes are used for different operators. This will be explained
later. Then a user-defined solver will iteratively compute new values for x that might or might not converge
to the actual value. This can always be tested by calculating the residual: r = Ax − b. GeN-Foam also allows
the solving of eigenvalue problems using a power method to solve for the multiplication factor.

The involved physics will be introduced, together with the most important numerical tools utilized by Open-
FOAM, and finally some discussion on the errors that might occur during simulations.

2.1 Momentum, Pressure & Turbulence


2.1.1 Navier-Stokes Equations
msrDifferential equations form the basis of most analytical and numerical analysis and arise mostly from
conservation laws. Famous ones are the Navier-Stokes equations (NSE), describing fluid motion. The NSE
for a porous medium, in GeN-Foam, are given in the form:

∂(γρ) ∂(γρui )
+ =0
∂t ∂xi

∂(γρui ) ∂(γρui uj ) ∂ 2 ui ∂γ ∂(γp)


+ = µT − p̂ − + γgi + γFss,i
∂t ∂xj ∂xj ∂xj ∂xi ∂xi
where index/Einstein notation has been used, meaning i goes from one to three and highlights the direction
and j is summed over since it occurs twice. For more information on Einstein notation, please consult [3] or
any graduate textbook on mechanics. The parameter γ is the porosity of the structure i.e. Vγ /V (constant
in time), ρ density of the fluid, ui the velocity vector at the considered location in direction i, t time, xi
the position coordinate in direction i, p pressure, gi gravitational force and µT the turbulent viscosity[4].
One may note the non-linearity of the equations due to the expression containing µT , making analytical and
numerical solutions hard to obtain. In practise, there exists many approaches for attaining a solution for ui
and p, tailored for different fluid conditions. The term Fss,i [kg/m2/s2] represents drag force of immersed
structure in the porous medium. In GeN-Foam this is calculated as

Fss,i = κ(uD,i )uD,i

with uD,i the Darcy velocity and κ a friction factor obtained from experiments. From[4] this term can be
expressed as
fD ρuD
κ(uD ) =
2Dh γ 2
with fD the Darcy friction coefficient (unit-less) estimated with empirical data and Dh the hydraulic diameter.
These expressions allow pressure losses by structure to be included without direct simulation, which would be
extremely expensive.

8
2.1 Momentum, Pressure & Turbulence 2 THEORY

2.1.2 Pressure Relations


msrThe drag model for the core was selected as:

fD = AfD ReBfD .

with AfD = 4 and BfD = 0.25. Then the drag force will follow as from the section above. the symbol
Re means Reynolds number, a measure for turbulence: Re = ρUµL with U a representative velocity, L a
characteristic length scale and µ the dynamic viscosity for the fluid. Reynolds arises when non-dimensionalising
the NSE and is a measure for the inertial forces of a body over the viscous forces[5]. It characterises flow and
in general the difficulty of computation goes up with increasing Reynolds number. In OpenFOAM a baffle

can be introduced to give a pressure drop at porous boundaries:

∇pi = (DµU + 0.5Iρ|U |2 )Lni

with ∇ the gradient 1 ,D a locally specified Darcy coefficient, µ laminar viscosity, I inertial coefficient, L
porous media length in the direction perpendicular to the baffle, that is called ni here[6]. This should be
specified at points like the inlet/outlet of a porous zone, where a pressure drop due to contraction/expansion
of the porous medium occurs. Furthermore one may want to calculate pressure drop in the pipes analytically
to compare the data. To calculate pressure drops in the pipes there are multiple empirical correlations one
can use. The Colebrook formula is very popular:
1 k 1.255
p = −4log10 ( + p ) (1)
Cf 3.7Dh Re Cf

with k wall roughness, Dh hydraulic diameter, Re Reynold’s number and Cf the Fanning friction coefficient.
One can note the right hand side of equation 1 should be positive and this condition is met when the flow is
sufficiently turbulent and the wall roughness is not on the same order as the hydraulic diameter. By solving
for Cf The pressure drop follows as:
4Cf HG2
−∆pfric = .
2Dh ρ
with H the length of the tube, G the mass flow and Dh the hydraulic diameter[7]. These pressure drops
can be added together to get the total pressure drop over the regime. Something is needed to emulate the

pump in order to circulate the fluid. In GeN-Foam, a momentum source can be introduced, where a forced
momentum is applied to the fluid within a specified region.

2.1.3 Turbulence Modelling


msrTurbulence is a complicated phenomenon where eddies are created that effectively cause additional mixing
of the fluid momentum, and may cause fluctuations in the flow due to bifurcation (von-Karman vortices are an
example). There is no exact definition of eddies, a term introduced by Kolmogorov around 1945 to describe
the elusive reoccurring patterns in turbulent flow. Direct numerical calculation of the NSE can resolve these
eddies, but is extremely expensive due to the large difference in length scales involved, requiring a fine mesh
and small time-steps. Therefore other more efficient methods were developed.

An efficient approach is to consider the fluid flow as having an average part and a fluctuating ”random” part.
Then Reynolds decomposition can be applied on the velocity terms to obtain the averaged velocity ui = hui i
and fluctuating part ûi [3]. This way of treating Navier-Stokes is called the RANS method, allowing us to
introduce assumptions about the fluctuating/turbulent part. The main assumption regarding turbulence is the
treatment of momentum mixing/diffusion. Like normal Newtonian viscosity depends on the mean molecular
speed C̄ and mean free molecular path λ, there is made an estimation for the turbulent viscosity by some
form of dimensionless analysis. One drawback is that where the molecular diffusion characteristic timescale
C̄/λ is many orders of magnitude smaller than for straining motions, (∂x U )−1 , the characteristic timescale
for the turbulent diffusion, k/ (definition below), can be on the same order, causing coupling between the
flow and the turbulent diffusion. There are other more theoretical drawbacks about the turbulent viscosity
1 In the text, a gradient is notated as ∇s and applies to some scalar s, while the divergence is notated as ∇.v and applies to

some vector v

9
2.2 Energy & Temperature 2 THEORY

assumptions, but the hard predictability of turbulence makes that one must forgive these faults, as there is
currently no better model available that fits within the computation time window, except maybe LES (Large
Eddies Simulation). This method is however still quite more expensive than RANS, since it requires around
80% of the eddy energy to be modelled, requiring mesh elements on the order of millimeters. Also LES is
not available in GeN-Foam. Therefore RANS is opted. In the RANS k −  method the turbulent kinematic
viscosity is defined as:
k2
νt = Ck (2)

where Ck = 0.09, k is the turbulent kinetic energy and  the rate of dissipation of k, which both need to be
solved for. The transport equations for k and  can be found in any textbook on turbulence ([3]) and will not
be discussed further. Initial k and  can be estimated as:
3/2
2 3/4 k
k= (Uref T )2 ,  = Ck .
3 0.07L
with T temperature, Uref a reference fluid velocity and L the characteristic largest length-scale. For the fluid
dynamics there are thus differential equations for velocity, the pressure field, turbulent kinetic energy and
dissipation thereof that are all coupled together. The most popular coupling schemes are discussed below. In
OpenFOAM k and  are solved first, leading to a value for µT in Eq. 2.

Noteworthy for the case of a MSR is the effect of turbulent mixing on the salt chemical and precipitation
properties. The Kolmogorov length η is associated with the smallest length scale of turbulence, which scales
with the characteristic length as:
Dt 3/4
∝ Ret .
η
The range of length scales scales thus increases with Reynolds’s number and one can see that for large Re
it spams many orders of magnitude. Smallest velocity and timescales are respectively (ν)1/4 and (ν/)1/2
which might be an (dis)advantage for chemists. Below the Kolmogorov length scale, flow is deemed laminar
and mixing is greatly reduced[5].

Wakes can cause re-circulation zones that accumulate delayed neutron precursors and cause hot-spots in the
reactor. There should be high consideration of these when designing the flow field, but because the current
model is mainly focused on overall physics, drag fields and baffles may be applied to rid low pressure zones
and vortexes.

An useful concept in fluid dynamics are streamlines. Streamlines are lines that are tangent to the flow velocity.
If an arc element ds = [dx, dy, dz] is tangent to the velocity vector u, this leads to the condition:

dx dy dz
= =
u v w
with [u, v, w] = u the components of the velocity vector[8]. When calculating streamlines, a ”seed” is
provided, which is the starting point of the streamline. This seed, alike a leaf in the river, will follow a path
that is analogouos to the streamline.

Lastly, most turbulent models assume incompressible flow (constant density), meaning ∂ρ ∂t is assumed zero.
However for some scenario’s like natural convection, thermal expansion of a fluid causes a significant change
in density that in turn leads to convection. To maintain the techniques and algorithms developed for incom-
pressible flow, often the Boussinesq approximation is made, where the change in density is only included in
terms containing the gravitational force gi .

2.2 Energy & Temperature


msrGeN-Foam uses the following equation for the internal energy:

∂(γρe) ∂ ∂ ∂T
+ (ui γ(ρe + p)) = (γkt ) + γFss,i ui + Qss (3)
∂t ∂xi ∂xi ∂xi

10
2.3 Neutronics 2 THEORY

with e the internal energy, k heat conductivity, T temperature and Qss heat from sources. Again index i runs
over the directions. The heat from sources at interfaces, representing heat-exchangers, cooling fins, and so
forth, is calculated as:
Qss = Av heff (Text − T ).
with Av surface area of the structure, heff the heat transfer coefficient and Text the temperature of the external
structure. The heat transfer coefficient heff can be obtained from several correlations. The one used in the
model was set to a constant value for simplicity, although for the transients a Nusselt Reynolds correlation
was used. This is further discussed in the methods section. It is noteworthy, as for any nuclear case, there are
multiple timescales involved while solving the energy equation. This can be more easily seen by simplifying
Eq. 3 to include only effects from temperature under in-compressible and constant physical properties:

∂T ∂T ∂2T
ρCp + ρCp ui = k 2 + Qss . (4)
∂t ∂xi ∂ xi
where advection operates on a timescale equal to the distance of the core divided by flow, so orders of
seconds; the diffusion of heat scales with k and the divergence of temperature, heavily depending on the
materialIn GeN-Foam the heat capacity from surrounding structure can be included in the calculation of
temperature by specifying density, heat capacity and volume fraction f of that structure. The heat capacity
then becomes f Cp ρVc with Vc the volume of the cell zone. This can be used to include effects from heating
of the moderating salt, supporting structure, et cetera.

2.3 Neutronics
msrNuclear reactors create heat by splitting fissile atoms, not with an axe, but by neutron absorption. These
fissile atoms, like 235 U or 239 Pu absorb the neutron, enter an excited state, split, and thereby release a lot of
energy, and some additional neutrons that will further split more fissile atoms, creating the well known chain
reaction. Sustaining the chain reaction is an intricate balance between neutrons getting lost and neutrons
causing fission. Ideally, every fission event leads to exactly one other fission event, so the fission rate is
constant. Because this is such an important principle, reactor physicists often refer to reactivity, a unit of
measure for how many fissions are caused by other fissions, or more precisely, the distance from criticality.
Positive reactivity means, on average, that every fission leads to more than one fission, while negative reactivity
means one fission leads to less than one fission. Reactivity of zero means the reaction is balanced and the
power is stable. This is called a critical reactor. Good neutronics models, describing the bulk behaviour of
neutrons, are thus needed to estimate reactivity and ensure a well designed, balanced reactor. One method
of calculation is to treat the neutrons in the core as a diffusing gas and bin them by energy. This assumption
is possible for thermal reactors where the mean free path of the neutrons is small. Nevertheless the diffusion
approximation has its shortcomings under certain conditions. The energy of the neutrons is non-trivial and
has a large effect on the probability of fission, requiring the need for a multi-energy group method. For easy
reference, a slow, low energy neutron spectra is called soft and fast high energy neutron spectra are called
hard. Nuclear reactors operate on an entire spectrum of neutron energies, from fast to slow, but in the case
of a thermal reactor, most neutrons will have slowed down (thermalized) before being absorbed. Further
explanation can be found in most textbooks on nuclear reactor physics.

2.3.1 Delayed Neutron Precursors


Neutrons do not only arise from fission, but can also originate from fission products left overs from the
fission event. These often unstable fission products may release neutrons after some decay time, adding to
the reactivity. A list of the fission products that release neutrons after decay are given in Figure 1. They
are grouped by their halflife for more straightforward calculation. These fission products are referred to as
delayed neutron precursors (DNPs). The DNPs have a small contribution to reactivity but are nevertheless
very important, as will be later described. For diffusion theory, the neutron kinetics are then solved via the
traditional multi-group diffusion equations[10]:

1 ∂φi X (1 − βeff )χi X X


= ∇.Di ∇φi + νΣf,j φj − Σr,i φi + λk Ck χd,i + Σj→i φj (5)
vi ∂t j
keff
k j6=i

where index/Einstein notation has been omitted for convenience and instead normal operator notation is used.
vi is the speed of the neutrons for energy group i, φi is the flux for energy group i and Σf,i the corresponding
fission cross section. Di is the diffusion coefficient, βeff is the effective delayed neutron fraction (explained

11
2.3 Neutronics 2 THEORY

Figure 1: A way to group the delayed neutron precursors in 8 groups that have similar half-life’s[9].

later), χ is the neutron yield from fission at energy i, keff is an artificial term introduced to balance the
equation, Σr,i is the macroscopic neutron removal cross section, Ck is the concentration of DNP group k,
χd,i is the DNP yield of neutrons in energy group i and finally Σj→i is the cross section for neutron of energy
j to scatter and end up with energy i. The distribution of precursors is also to be solved for, which in case
of a MSR is more involved than for a conventional reactor due to the moving fuel[11]:
∂Ck βeff,k X
+ ∇.(uCk ) = ∇.(Dm ∇Ck ) + νΣf,j φj − λk Ck
∂t keff j=1

with u the velocity of the DNPs, Dm the diffusion coefficient of the DNP and ν the number of neutrons
released per fission. There are both a diffusion and advection term present to account for the liquid properties,
that would not be present in the case of solid stagnant fuel.

The prompt neutron reproduction time (time it takes for one fission to cause another fission) is on the order
or 10−5 seconds, making it virtually impossible to control the chain reaction with control rods, as they move
only on the order of seconds. The delayed neutrons originate from unstable fission products that decay shortly
after their creation, account for about 0.65% of all neutrons from fission (this fraction is called β) and make
the reactor operational, since they decay on the order of seconds. This is the reason reactors always operate
below prompt criticality, defined as the point where the reactor would be critical without DNPs. DNPs can
be further classified in 6 or 8 groups, according to their half-life (see Figure 1). One might prefer the 8 group
system because the groups are classed by nuclides, instead of plain curve fitting in case of the 6 group[9].
Because the energy spectrum of prompt and delayed neutrons are different, the amount of neutrons causing
fission are also different for the two sources of neutrons. In thermal reactors the effective delayed neutron
fraction βeff , of neutrons causing fission, is slightly higher than β because the energy spectrum of DNPs is
softer and thus there is less chance of resonance absorption before thermalizing. For fast reactors, βeff is lower
than β because the probability of fission goes up with neutron energy.

As most solutions in a fluid, the DNPs will diffuse away according to Fick’s law. The term Dm representing the

12
2.4 Accidents 2 THEORY

diffusion rate of DNPs depends on each separate nuclide mass, making it hard to formulate a representative
number. Therefore in GeN-Foam it is calculated from the Schmidt number:
µ
Sc = , (6)
ρDm
where for large Schmidt number the diffusivity is small while for small Schmidt number the diffusivity is large.
For most simulations, the Schmidt number is chosen very high, nullifying diffusivity.

Neutrons in the core have a certain ”importance” related to sustaining the chain reaction. Far from the centre,
neutrons easily escape the core and thus are less important than neutrons in the middle of the core. Likewise,
neutrons originating from DNPs will have different contributions to the reactivity depending on where the
DNP decays. Thus it would be useful to have an expression for the reactivity of the total amount of DNPs
from their distribution in the core(βeff ). The effective delayed neutron fractions can be calculated using the
following relationship, with number of neutron energy groups E and number of DNP groups B[12]:
PE
λ C (r’) g=1 φ∗g (r’)χd,g d3 r’
R
Ω i i
βeff,i = R PE PB 3
R PE PE 3
(7)
∗ ∗
Ω g=1 φg (r’)χd,g k=1 λk Ck (r’)d r’ + Ω g=1 φg (r’)χp,g m=1 φm (r’)(νΣf )m (r’)d r’

with Ω the volume domain, λ the half life of precursor i, r the spatial coordinate and φ∗ the adjoint neutron
flux, in the project approximated with the normal diffusion neutron flux solved from Equation 5, a first order
approximation. The adjoint flux at a certain location can be thought of in the following way: imagine a large
number of neutrons N are released at that certain coordinate, in a critical system. The number of neutrons
left after many generations in the entire system, divided by N , is representative of the adjoint flux. The
concept is rather advanced and for further reading please consult some advanced reactor physics book. For
our discussion it suffices to say that this adjoint flux is a good measure of the ”importance” of neutrons at
a certain location. χd is the delayed emission spectrum and χp the prompt emission spectrum. Equation 7
gives the fraction of neutrons from precursor i weighted with the importance associated with the position.

In a molten salt reactor the DNPs move through the primary circuit. Thus, when flow speed increases, the
amount of DNPs leaving the core increases. This is referred to as flushing and has a large impact on reactor
operation, as higher pump speed means more flushing and thus lower reactivity, while lower pump speeds lead
to less flushing and increase reactivity.

2.4 Accidents
msrOne can never guarantee faultless operation of any device, let alone a nuclear reactor. There are a couple
of accident scenarios that are especially important when investigating the integrity of the mechanical structure
and containment of the radio-nuclides, due to their likelihood and consequences. One is the unprotected loss
of flow (ULOF) where pump power is postulated to decrease exponentially over a given time-frame without
insertion of control rods. This could happen during power outage, failure of equipment or some other way.
The circulation of coolant through the active core is stopped and will lead to an increase in temperature
due to remaining fission activity and decay heat. Whether the temperature stays below design limits is to
be proven. Another important accident is a reactivity insertion. This can happen due to malfunction of the
control rods, cooling of the reactor or unforeseen operation dynamics.

During transients the cooling capabilities may be lost, so for a crude linear estimation of how the temperature
can rise the volume, density and heat capacity for the salt (from Tables 3 and 5) can be substituted in Eq.
4 to obtain, for one second of heating by the thermal power output (250MW), a temperature increase of
1.8 [degC]. This can be compared with a conventional PWR (17*17 fuel assembly, 500 [kg] per assembly,
236 [J/kg/K] heat capacity), where in the case of a dry-out the core would rise by 7.3 [degC]. The greater
thermal inertia of the system, due to the large mass and heat capacity, should thus dampen transient effects
on temperature.

There are several feedback mechanisms in a reactor that influence the reactivity. The foremost reactivity
feedback is the Doppler feedback; heating of fuel causes the probability of parasitic neutron capture to go up
with increasing temperature, especially for 238 U, which takes away neutrons from the chain reaction. This
has the effect of lowering reactivity. Another negative feedback is the expansion of the fuel due increasing
temperature, lowering the macroscopic fission cross section. Other effects include the flushing of precursors,

13
2.5 Coupling & Computation 2 THEORY

structure expansion, moderator expansion and control rod insertion. These effects may offset any positive
reactivity in the system, although the real question is whether they can prevent design temperatures to be
reached. One thing to note is that decay heat from fission products is independent of the reactivity, and so
often reactors are designed to mitigate the decay heat as well.

It will be interesting to see if, during an ULOF (unexpected loss of flow), the power will go up initially or go
immediately down, due to the opposite contributions to reactivity by temperature and precursor flushing. The
effect of flow speed will be anyway quite substantial for reactivity due to the flushing effect and the impact
on heat convection.

2.5 Coupling & Computation

Figure 2: The coupling scheme for GeN-Foam. Regarding the neutronic solver, precursor fields are solved for
before the flux equations.

2.5.1 Multi-physics
msrThe physics introduced above are all coupled. When the temperature changes, the neutron cross sections
of the nuclides change and thus the power will change. This will in turn affect temperature and flow, et
cetera. This raises the question about how to solve the fields together, as one field will influence the other
i.e. the system is non-linear. There are two main methods for approaching this problem.

The first one is segregation, where one of the physics field is solved and used for solving the next physics field.
This method is easy to implement as one can use existing solvers for the separate fields, and couple them
together with relatively low effort. The down-side of segregation is that when one physics field is solved, it
influences the other physics fields, that will need to be solved again, influencing the first field and so on. To
resolve this issue, outer iterations are applied where for a single time-step the fields are solved iteratively and
fed into one another until the solution converges (Picard iteration). Despite its simplicity, a lot of iterations

14
2.5 Coupling & Computation 2 THEORY

are often needed to converge the non-linear coupling schemes. Furthermore it can be prone to numerical
oscillations[13]. The latter issue can be mitigated by under-relaxation, but the former problem, especially in
the case of transients, can prove to be expensive. The segregated coupling-scheme for GeN-Foam can be
found in Figure 2.

The other approach to multi-physics is the reformulation of the problem into one large differential equation,
solving all the fields in a single solution scheme, referred to as a monolithic system. One of the most popular is
the Jacobian-free Newton Krylov method. Given a good initial guess and a good pre-conditioner, this method
may converge rapidly to the actual solution. There are however subtleties[14]. More down-sides are the large
involvement when integrating the approach and the property that the matrix of the monolithic system will be
greater than the combined size of the sub systems. Whether the figure of merit improves is debatable, as the
number of equations to be solved is larger, but there is no need for Picard iteration.

2.5.2 Discretization
msrSolving differential equations is hard. Instead, for most complicated calculation endeavours the equations
are discretized such that the differential problem turns into an algebraic problem. Every operator (Gradient,
Laplacian, Divergence) is discretized with a specified method and every physics field is then solved using a
specified iterative solver and tolerance/relative tolerance. The available methods are extensive and will not
be further discussed, except for a couple of notes on numerical analysis.

In numerical analysis the operators are approximated by some algebraic approximation. In the case of time
derivative, the simplest decomposition is the Euler decomposition, where the derivative is expanded in a Taylor
series:
dy(ti ) y(ti+1 ) − y(ti ) ∆t d2 y(ζ)
= −
dt ∆t 2 d2 t
with ti = a + i∆t and ζ somewhere between ti and ti+1 . In the Euler method the last term/error term is
dropped, and the accuracy of the solution is thus bounded by the second derivative of y with respect to t
over the domain ti to ti+1 [15]. When the leading term of the Taylor expansion is dominating the truncation
error, the region is asymptotic, which is desirable due to the large reliance on Taylor expansion for many
numerical derivations. Currently explicit Euler is the only option for the time derivative OpenFOAM has to
offer for transient calculations. Other second order schemes exist, like the implicit Euler method or the Runge-
Kutta method that are unconditionally stable under certain conditions, but they have not been implemented.
Because of the non-linear nature of the physics at hand and the general under-estimation of gradients by the
explicit Euler method, applying these other methods may well help achieving better results.

The spatial derivative has components in all considered directions and there are multiple ways to decompose
this term. The most popular in CFD is the Gauss Gradient scheme, where an integral is performed over the
differential equation at hand, whereafter Gauss’s theorem is applied to find out the integrated gradient:
Z Z X
∇.φdV = n.φdA = sf .φ
V A f

with V the volume of the cell, A the enclosing area of the cell, sf the normal vector of one of the flat faces
and φf the value at the face. φ is an arbitrary vector. The value of φ at the face needs to be extrapolated
from the value of φ at the cell centre. This can be done with the forward method, the linear method or the
vanLeer method, among others. Only in the case that φf,computed = φf,analytical the Gauss method is second
order[16] and this happens only if the mesh is perfectly right-angled. A way to make it second order under all
meshes is instead use the Least-Squares method, being more involved. An explanation can be found at[17]
or on the website fluidmechanics101.com. For divergence and the Laplacian, the Gauss scheme is again most
popular. Noteworthy is that for the Laplacian, one also needs the gradient of φ at the boundary.

It is non-trivial to find the flux at a cell boundary for a unstructured mesh. A flux limiter function Ψ can be
assigned to extrapolate a value at cell faces (in a one dimensional case):

φf = φP + 0.5Ψ(φE − φP )

with φf , φP and φE the flux at the face between point P and E, the flux at point P and the flux at a
downstream neighboring point E respectively. Ψ = 1 leads to central difference method, Ψ to zero gives

15
2.6 PISO & SIMPLE 2 THEORY

upwind scheme. From page 167 from Versteeg[18], the vanLeer corrector is defined as (r + |r|)/(1 + r) with
φP − φW
r= .
φR − φP
This corrector shows less artificial diffusion in the solution field than the upwind corrector, but is more
expensive and harder to converge. The upwind scheme should be used with caution, as viable results are only
attained if the flow is aligned with the grid-lines. The general order of accuracy for the Gauss scheme is 1,
but there has been work to show a deficiency in OpenFoam causing the order of accuracy for the Gauss linear
solver to be zero[19], advising to use the least squares method instead.

2.5.3 Numerical Schemes


msrOpenFoam has several solution schemes for solving the algebraic set of equations derived from the dis-
cretization as discussed before. The solvers can be classified as multi-grid solvers and conjugate gradient
solvers. Multigrid methods employ multiple coarses levels of the grid, solving for one grid and extrapolating
the results to another grid. This reduced the low frequency components of the residual error[15], while still
being quite quick, as coarser meshes take less time to solve. Finer frequency components of the error can
be reduced with relaxation methods. for complex geometries however, multigrid methods may prove hard to
apply.

Conjugate gradient method is, to put it shortly, an approach where the problem Ax = b is converted to
finding a minimum for a related function. The iterating solution is then updated as:
X
xn+1 = xn + αi pi
i

where the vectors pi are conjugate with respect to the matrix A and xn stands for the nth iteration for
the solution vector x. Interestingly if exact arithmetic were employed, the conjugate gradient method would
converge exactly when the number of iterations is equal to the size of the matrix[20]. The number of
iterations would however be too large, so the method is considered iterative. The rate of convergence toward
the solution depends on the eigenvalue of the martix A, specifically on the ratio between the second largest
and the largest. A larger matrix leads to a larger condition number and lower convergence. Extending the
method to non-symmetric matrices yields the biconjugate gradient methods. Pioneering algoritms for fluid
dynamics were CGS by Sonneveld (1989), CGSTAB by van den Vorst and Sonneveld (1990), whose algorithms
are described in[20].

Furthermore there are smoothers that reduce mesh-dependency and pre-conditioners that allow for better
numerical properties (they lower the conditioning number). Apart from computation time, these conditioners
should not affect the results. Lastly one can apply under/over relaxation of the iterative solution, where the
iterated solution is updated with the previous solution, xn+1 = (1 − a)xn+1 + axn , with a some relaxation
parameter. Under-relaxation may increase numerical stability, while also slowing down convergence. It is
somewhat an art to apply under-relaxation while for transients they are not very popular, as one wants the
solution to converge as quick as possible.

Computational fluid dynamics are notoriously hard computational exercises, much harder than structural
analysis, because there are more terms in the Navier-Stokes equation and they are non-linear. furthermore,
truncation error is introduced by discretizing the Navier-Stokes equation, that require a small ∆x for reliable
results. This however greatly increases not only the amount of elements in the system, but also requires a
smaller time-step because the Courant number, Co = ui ∆t/∆xi , with ∆xi the mesh element length in the
direction of flow, is preferred to be below one for accurate and stable solutions. The Courant number is a
measure for the fraction of a mesh element that a particle would flow during a time-step, and thus one should
keep an eye on expected flow direction when deriving a mesh, as small element length in the direction of
flow lead to high Courant numbers. In OpenFoam however, the solvers have become good enough to allow
stable solution even for Co > 1, although the effects of a high Courant number may impair quality, make
finer meshes redundant and neglect small scale effects during transients (taken from forum discussions).

2.6 PISO & SIMPLE


msrThe Navier-Stokes equation (NSE) have yet to be solved analytically in three dimensions (a hard way
to make a million dollars) so engineers rely on iterative numerical schemes to approximate the solution to

16
2.7 Meshing 2 THEORY

arbitrary precision. Among the many methods, PISO and SIMPLE are very popular because of their ease of
implantation, and stability. Both PISO and SIMPLE start by solving a momentum predictor based on the
RANS equation with incompressible flow. The equations are discretized with similar methods as described
above and can be rewritten in the form
MU = −∇p (8)
with U the velocity field over all directions and positions, ∇p the discretized pressure gradient and M an
associated matrix derived from the partial differential equations and discretization schemes. Now a matrix H
is computed by subtracting over the diagonal components of the solution field, A = Diag(M):

H = AU − MU. (9)

H and A can be used to write U:


U = A−1 H − A−1 ∇p. (10)
This equation can be substituted into the incompressible mass conservation equation ∇.U = 0:

∇.(A−1 ∇p) = ∇.(A−1 H) (11)

to obtain a equation for unknown pressure such that mass conservation is satisfied, instead of it just being a
condition. So with an initial guess for p it is possible to calculate
1. U by Eq. 8

2. H with Eq. 9
3. solve for a new pressure field with Eq. 11
4. correct the velocity field such that it satisfies the continuity equation[21]
While the SIMPLE loop starts again by calculating a new pressure field from the new velocity (that satisfies
continuity), the PISO algorithm skips a new direct calculation for the pressure, for it will be calculated and
thus updated through Eq. 10, making the iterative process faster. Table 1 shows the iterative calculations for
these algorithms. GeN-Foam uses both iterative schemes, a technique referred to as PIMPLE. One can set the
number of iterations (or tolerance) for both PISO and SIMPLE loops. In general SIMPLE loops are deemed
better for steady state in combination with some under relaxation, while PISO loops, given their swiftness,
are better for transient analysis.

Table 1: The solving procedure for PISO and SIMPLE[21]

PISO SIMPLE
H = AU − MU MU = −∇p
∇.(A−1 ∇p) = ∇.(A−1 H) H = AU − MU
U = A−1 H − A−1 ∇p ∇.(A−1 ∇p) = ∇.(A−1 H)
U = A−1 H − A−1 ∇p

Since Eq. 11 contains a Laplacian, non-orthogonal meshes need corrector iterations to correct for extrapolation
error in the Gaussian schemes used by OpenFOAM. For these correctors, Eq. 11 is solved x times in succession,
where the non-orthogonal corrector is updated between 1 to 3 times; more will slow down the simulation too
much. The exact error from non-orthogonality is hard to estimate.

2.7 Meshing
2.7.1 Inflation Layers
msrThe mesh is crucial for modelling, especially for computational fluid dynamics. Quality parameters include
aspect ratio (ratio of edge lengths), non-orthogonality (how far the surface normal is pointing from next mesh
element centre point), volume ratio (relative sizes of mesh elements) and skewness (ratio of ideal volume to
mesh element volume). In simple terms, one wants a mesh that is perfectly equilateral, for it creates a more
diagonally dominant matrix A, that in turn leads to quicker convergence and stability.

17
2.7 Meshing 2 THEORY

U/Umax

1.0

0.8

0.6
Higher Reynold's

0.4

0.2

r/R
0.2 0.4 0.6 0.8 1.0

Figure 3: Characteristic flow profile of normalized velocity through a pipe. For higher Reynolds number, the
steepness near the wall increases.

For turbulent flow with no-slip boundary conditions, it is strongly preferred to have inflation layers near the
wall that are able to capture the steep turbulent gradient, for by empirical observation, the velocity in a pipe
under turbulent flow follows the following profile:

U ∝ (1 − r/R)1/n (12)

where r is the distance from the centre of the pipe, R is the pipe radius and n increases with Reynold’s num-
ber. An impression is given in Figure 3, where-from one can observe the steep gradient near the wall. Mesh
refinement should be such that finer elements are applied at locations of high gradients, so the overall q
gradient
per element is more or less equal. In the ideal case, there is a layer close to the wall at a distance ν τρw [3],
q
with τw the wall shear stress, since then there is a node at τρw y/ν = y + = 1, where the gradient in velocity is
most rapidly increasing. Because this requires a substantial amount of mesh elements, another approach is to
use wall-functions for the boundary conditions. These wall functions have been empirically obtained. For elab-
oration one can consult the Fluid Mechanics 101 website or the document by Chalmers university on the use of
wall-functions in OpenFoam ([22])

2.7.2 Mesh Convergence


msrAn important part in any CFD project
is the study of mesh-independence. Since
the mesh is not more than an artificial
tool for calculation, one does not want
results to change with different meshes,
as it implies the mesh affects the results. Perfect Mesh Element Skewed
Vesteeg ([18], page 294) gives a method
for calculating the order of a certain nu-
merical scheme. It starts by defining the
error EU for a target quantity U :

EU = Uexact − U ≈ Chp

with C a constant, h a representative


High Aspect Ratio Non-orthogonal
step-size for the mesh and p the order of
accuracy of the numerical scheme. For
two meshes with refinement ratio r =
h2 /h1 and solutions U2 and U1 the fol- Figure 4: The various undesired shapes a mesh can take that will
lowing estimation for the error in the re- impair accuracy and calculation speed.
sults may be given, provided we are in the

18
2.8 Sources of Error 2 THEORY

asymptotic region:
U2 − U1
EU,1 =
1 − rp
U2 − U1
EU,2 = rp ( )
1 − rp
with EU,1 the error in the coarser grid and EU,2 the error in the finer grid. It was noted by Roache (1997)
that this estimation of the error is however not bounded and some safety margin needs to be included (a
safety factor of 3 was considered conservative). One can approximate the order p by having three meshes
with the same ratio r = h2 /h1 = h3 /h2 leading to the following expression:

U3 − U2
p̂ = ln( )/ln(r).
U2 − U1
In flawed codes the observed order p̂ will always be lower than the formal order of accuracy p. Furthermore
this method estimates the numerical error and says nothing about reflection of the physics and mathematical
models involved. That can only be tested by benchmarks.

2.8 Sources of Error


msrVersteeg ([18]) identifies the following as sources of error: numerical, coding and human errors while he
makes a distinction with uncertainty in the input and uncertainty in the physical model. The sources of error
will now be discussed together with methods to quantify them, mostly taken from Versteeg.

For any computational scheme involving irrational numbers there will be round-off errors. Because computers
can only store a certain amount of digits, information will get lost when operations are made and numbers
are rounded. A method for investigating the sensitivity of a particular model on round-off errors is to perform
the exact same calculation, but with single and double precision i.e. having the stored variables contain 7
or 16 digits. If a big difference is present, some propagation of error is present. Good code practice should
however minimize the influence of round-off errors by normalization, gauge values and expression formatting.

When iterative solvers are used there will always be a tolerance for stopping the iteration. This tolerance
value should be well chosen for the problem at hand; how accurate and quick one wants the results. Increas-
ing/decreasing the tolerance for all variables and running the simulation again will show sensitivity on the
tolerance.

There is always error in discretization, as discussed. One in theory wants the time and space steps to be as
small as possible to minimize the errors, but this will cause huge computation time. Refinement of the mesh
at points of high gradients and adjustable time steps are good compromises for having a good figure of merit
(total time to get results with desired error margins). Mesh-independence studies as discussed, together with
Courant-number-independent studies are needed to check the sensitivity. One may also play around with the
solver schemes, although from personal experience they mostly influence computation time to convergence
and stability, and not so much the final result (after convergence).

Uncertainty in material properties, domain and boundary conditions require in the nuclear field a conservative
approach, where more developed stages may come with more accurate data on these parameters. Also
empirical data is often used for calculation of the heat transfer and pressure drop, which will be extrapolated
beyond the range of the initial data. Magnitude of the invoked error is very case-specific.

Finally, it were Oberkampf and Trucano (2002) that stated that meaningful validation of the numerical results
can only be made if there is good quantitative estimates of the numerical error, the uncertainty in input and
uncertainty in the experiments used for comparison.

19
3 METHODS

3 METHODS
msrThe setup for the model will now be described. In general, most time went into tweaking the GeN-Foam
setup and trying to rid the simulation of artificial artefacts and convergence issues, while making the hexagonal
mesh and small adjustments to the mesh also took considerable time. Post-processing was performed with
Python, Paraview or Mathematica.
The following steps were taken to prepare a model for the CMSR: a simplified geometry was made in Salome;
using Salome’s meshing utility, the geometry was converted into a hexagonal mesh; the mesh was exported and
converted to a format that was usable for GeN-Foam; appropriate BC’s and model parameters were applied,
after which a steady state simulation was ran. If the steady state yielded a reasonable outcome, transients
were modelled. This section will elaborate on that process and introduce the physical constants used.

3.1 Geometry & Meshing in Salome

Figure 8: Because there


were 9 faces at the core
Figure 6: Using rota- inlet and only one face at
Figure 5: From the de-
tions and translations the the piping exit, a geome-
sign parameters vertices
solids were assembled to try needed to be created
were created, getting at-
create the major compo- that went from 1 to 9
tached to each other by Figure 7: The compo- faces. After some brew-
nents of the geometry.
lines. These lines, when nents are put together in ing it was deemed impos-
forming a closed loop, a partition, creating the sible to make such a ge-
can form a face. A closed whole geometry. ometry and it was settled
shell of faces can form a
on minor fins that allow a
solid.
couple of free faces, en-
abling the connection for
a hexagonal mesh.

msrThe general procedure of creating a geometry in Salome is not complicated and summarized in Figures
5, 6 and 7. Difficulties were encountered while composing the mesh, where one might need to adjust the
tolerance of certain objects to make, for example, a closed shell. These adjustments in tolerance should not
have a big impact on results.

After the geometry was build, groups were created to classify the different boundaries in the geometries. The
general groups of faces were: internal, inner wall of the core, intermediate wall of the core, outer wall of the
core, upper plenum, lower plenum, piping and the heat-exchanger. Further on in the study the upper and
lower plenum walls were included with the piping, as it made little difference to the results. The classification
of walls allowed OpenFOAM to immediately relate the mesh faces to the desired boundary condition. One
major downside of Salome was the need to specify every internal face as the mesh conversion in OpenFOAM
would otherwise lead to errors.

Next the geometry was meshed. In Salome, the easiest way to create a hexagonal mesh is to have solids with
6 faces. The algorithm then allows a user defined number of cells along each edge, defining the refinement
of the mesh. Because it is a geometrical challenge to create the core out of hexagonal blocks, a minor
compromise was made at the lower plenum, to allow an assembly of the whole core. This is shown in Figure

20
3.2 Settings in GeN-Foam 3 METHODS

Figure 10: Tetrahedral mesh of the entire primary


Figure 9: Hexagonal mesh of the reactor vessel
circuit

8. Salome allows making a mixed hexa-tetra mesh, but this type of mesh was unable to be converted to
a usable OpenFOAM polymesh. The whole exercise would have been significantly easier if this would be
possible. The author of the thesis, in hindsight, advises against the use of Salome as mesh software, as the
refinement possibilities for complex geometries are limited.

A tetrahedral mesh was also created, with the idea that one can compare the hexagonal and tetrahedral
mesh results for a rigorous mesh-independence study. It showed to be hard for a novice user of Salome to
create a tetrahedral mesh without having many elements in one spot and few in another. The tendency of
Salome is to refine the mesh along solid edges, even when those edges are arbitrary. Eventually a somewhat
”balanced” mesh was made, but one can note from Figure 10 that the elements in the pipe have only one
to two nodes that are not touching the wall; something not preferred due to the discussed steep gradient
present in turbulence flows; it may cause erroneous result. A fair suggestion is to use a different meshing tool
or acquire an advanced Salome user, for Salome does allow for more complex mesh refinement, but only with
function objects and rather abstract formulations that are ill described in the manual. Other software that
allow mesh conversion to OpenFOAM are Fluent, STAR CCM by Siemens, .geo files and GMSH.

3.2 Settings in GeN-Foam


msrGeN-Foam is an extension of OpenFOAM that utilizes the large library of numerical tools present in Open-
FOAM to calculate the equations discussed in the theory. The user defined settings includes the boundary
conditions of all physics included, the properties of the fluid(s), the properties of the nuclear core, schemes
and solvers for the numerical solution, convergence criteria and settings regarding logging, time-steps, maxi-
mum Courant number, et cetera. Most commercial solvers have good default settings for the aforementioned
parameters, while for OpenFoam one needs adequate experience with CFD and numerical analysis to configure
the simulation properly. Furthermore the choice of solution schemes and solvers depend on the type of mesh
one uses, the physics involved and the desired accuracy. GeN-Foam operates similar to OpenFOAM, but with
additional physics. There are 3 physics folders present: fluidRegion, neutroRegion and thermoMechanicalRe-
gion. They can all have individual BCs, properties, mesh, solvers and schemes, allowing great flexibility in the
implementation of the problem at hand.

3.3 Boundary Conditions


The used boundary conditions for flow were chosen for turbulence without inflation layers, so for the parameters
k,  and νt , wall-functions as referenced in the theory were used. The boundary conditions are summarized
in Table 2. The following options for boundary conditions were used:
• zeroGradient: The value is set to be equal to the surrounding elements, or a mean thereof.

21
3.4 Parameters and Geometry 3 METHODS

Table 2: General boundary conditions for the model. Some BCs differ from the standard.

Fluid Region BCs


T zeroGradient
p rgh fixedFluxPressure, $internalField
p calculated, $internalField
U fixedValue, uniform (0 0 0)
alphat, epsilon, k, nut OpenFoam wall functions
Neutron Region BCs
defaultFlux albedoSP3
defaultFlux2 fixedValue, uniform 0
defaultPrec zeroGradient
U zeroGradient

• fixedValue: The value is fixed and pre-set.


• fixedFluxPressure: Similar to zeroGradient, but adjusted to keep the velocity BC consistent with buoy-
ancy and surface tension[23] [24] [25]. The simulation failed to converge with the more simple zero-
Gradient BC.

• calculated: The BC will be calculated from other fields


• albedoSP3: Reflective BC with an albedo multiplier to emulate leakage from the wall.
• cyclicAMI: 2 boundaries are linked to each other and a mapping is performed to obtain the same
value over the domain at both boundaries. AMI stands for arbitrary mesh interface, meaning the two
boundaries do not have to be identical in shape.
Because there is a wall separating the inner core and outer core, a special boundary condition had to applied
to the inner wall of the core to allow neutron diffusion from the inner core to the outer core and vice versa
(there were no mesh elements in-between the inner and outer core). The cyclicAMI boundary condition in
OpenFoam proved useful for this. It does affect the shape of the flux field, since from the neutronics point of
view, the wall is simply skipped, instead of included into the physics.

3.4 Parameters and Geometry

Table 3: Physical properties used in the model. Due to export control the numbers have been rounded up.

name value
Dynamic Viscosity [mPa/s] 0.2
Density [kg/m3] (at 900 [K]) 5000
Heat Expansion [-] 3e-04
Heat Capacity [J/kg/K] 1000
Thermal Conductivity [W/m/k] 1
Thermal Expansion Coeff. [m3/K] 1000
Thermal Power [MW] 300
Fission Energy [MeV] 200
ν [-] 3
Λ [s] 2e-05
Height Core [m] 3
Radius Inner Core [m] 1
Inner Rad. Outer Core [m] 1
Radius Outer Core [m] 2
Mass Flow [kg/s] ≈ 3000

msrPhysical properties are shown in Table 3. The nuclear data was obtained from a Serpent calculation
[10], with a core that had slightly different geometries than the one described here. Thus, improvement can
be made by updating these neutronic properties to the used core geometry. There was however no time to

22
3.4 Parameters and Geometry 3 METHODS

achieve this. Two energy groups were used to approximate the neutron moderation for the neutronics. Lastly
it must be noted that GeN-Foam is still under development and requires in most cases updates/adjustments
to address bugs found during studies, as was observed from multiple papers. It seems that GeN-Foam is a
good computational platform that vendors can use to expand their own projects, developing the code further.
Settings for the solvers regarding fluid computation are shown in Appendix A. For the delayed neutrons there
were six precursor groups, with their decay constant and fission yield shown in Table 4.

Table 4: The used group constants for the delayed neutron precursor groups. Throughout the report, 6 groups
were used.

Group i [-] 1 2 3 4 5 6
Decay Constant λ [1/s] 2e-02 4e-02 2e-01 4e-01 9e-01 3
Fission Yield βi [-] 3e-04 2e-03 2e-03 3e-03 2e-03 5e-04

Table 5: Geometrical properties of the hexahedral model for comparison with the 1D model. The upper
plenum takes a little part of the upper non active core.

Name Length [m] Radius [m] Volume [m3]


Pipe 1 11 1 2
Pipe 2 5 1 1
Heat Exchanger 5 1 12
Inner Core 3 1 4
Outer Core 3 1→2 4
Hx transition 4 1→1 2*3
Upper Plen. 5
Total Volume 40

Table 5 shows geometrical values for the tetrahedral whole core. The volume in the upper plenum includes a
part of the non-active core region, 0.9 [m3] to be precise. This volume is however without the porous medium,
so the actual volume is a bit less.
Table 6: Coupling settings for the different physics. nNeutroCorrectors corresponds to coupling iterations
from Figure 2.

Physics Residual
prgh 1e-4
U,T,k, ,h 1e-8
prec* 1e-6 (relTol 1e-3)
flux* 1e-6 (relTol 1e-3)
Coupling Iterations
PISO loops 1
SIMPLE loops 50
nNonOrthogonal 1
nOuterCorrectors 8
nNeutroCorrectors 50 (max), residual 1e-6

Table 6 shows the generally used convergence and iteration settings. These values were seen as a good
compromise between speed and accuracy.

Post-processing was mostly done with Mathematica. The data would be converted into a .csv file with the
paraFoam tool included in the OpenFoam download. The .csv file would have the coordinate of a point
in the mesh with its corresponding physical values. From there it is relatively easy to process the data in
any preferred software. The integrals and derivatives for the analytical calculation were also performed in
Mathematica, where the standard relative residual is on the order of 10−6 .

It was found that results can be obtained in OpenFoam without a lot of post-processing by using porous
baffles and function objects. Here an internal face is created in the geometry with type patch so the flow can

23
3.5 Post-Processing in Paraview 3 METHODS

go through unperturbed, where physical values can be obtained during time steps, like average temperature,
maximum flow rate and so on. One then does not have to filter the data later on, and for the more experienced
user it is possible to create their own function tools, where quantities like the weighted precursor flux can
be calculated; an equivalent to the mass flow, but where density is (approximately) uniform, the precursor
distribution can vary over the cross sectional surface of a pipe, so a weighting factor is needed:
Z
φi,tot = φi (x, y)n.u(x, y)dxdy. (13)
A

with n a vector normal to the area and u(x, y) the velocity profile over the area. This function object was
not created, but is proposed as an idea for later development

3.5 Post-Processing in Paraview


msrWith OpenFOAM comes the analyzing software ParaFoam where results can be easily visualized and
process. A variety of filters can be applied to the raw data, yielding layers of subsequent data structures that
can then be analyzed or exported in well-structured .csv files for other processing software. For large meshes
(>150k elements) it can however take a long time to extract the data and parallelization is adviced. Due to
a lack of online documentation parallel processing was not applied to the study.

3.6 Streamlines
Using either Mathematica or Paraview, streamlines can be formed. In Mathematica the velocity vectors at
gridpoints are converted to a continuous field, where seed points were introduced that then, using Mathemat-
ica’s NDSolve function, would follow a path until they escaped the domain. In ParaFoam there is an utility
that produces streamlines through the fourth order Runge-Kutta method. Streamlines have the property that
tracers at the seed of the streamline will follow that streamline, neglecting (turbulent) diffusion. Numerical
truncuation might induce further diffusion. Nevertheless streamlines are a good tool for analyzing precursor
transport through the geometry, as one can analyse integral time of the streamline, velocity, residence time
and concentration of precursors at the integral time.

3.7 Used Shapes

Figure 11: The first CMSR model made from the Figure 12: The final geometry used for calculation
parameters of the baseline design. of βeff

msrDue to the novelty of simulating a MSR 3D model in GeN-Foam, a variety of models were made to
simulate the steady state and transient physics. These are described in Figures 11, 13 and 12. Most settings
in GeN-Foam were kept constant for all models, except settings in the fluid solver.

Figure 11 had a large and sharp expansion at the inlet of the heat exchanger, causing pile-up of precursors at
that location, and strange results for the temperature and flow, likely due to a wake. It was tried to get rid

24
3.7 Used Shapes 3 METHODS

Figure 13: The geometry with simplified primary circuit.

of the wake at the inlet of the heat-exchanger by imposing high drag force in directions perpendicular to the
flow, but without result.

Figure 13 was made to simplify the primary circuit while still conforming to the expected out of core time.
Because the heat-exchanger was quite wide, the pipe needed to made quite long. This approach got rid of
the vortices in the heat-exchanger, but still calculated negative precursor 1 result and a heterogeneous flow
for the precursors in the piping, as will be discussed in the results section.

The final geometry that was settled on for further calculation is shown in Figure 12. Most corners were
smoothend, leading to a more physical flow field and precursors field, although the smoothing required the
use of a tetrahedral mesh instead of a hexagonal mesh, lowering convergence speed and stability, that will be
further discussed in the results. Also some re-circulation zones persisted.

25
4 RESULTS & DISCUSSION

4 RESULTS & DISCUSSION


msrVerification of the GeN-Foam for a one dimensional fuel salt channel has been done by Jiadong Bao[26],
while further in-depth verification of the separate physics was done by Mario Ponce Tovar[10]. Lorenzi et al
performed benchmarks from multiple institutions for coupling the multiple physics involved in the MSR[27].
Oliviera and Mikityuk executed a method of manufactured solutions to test GeN-Foam that showed agreement
between numerics and analytics up to 99.99%[28]. Fiorina et al tested the neutronic solving capabilities of
GeN-Foam by comparing Serpent output for a PWR and a sodium fast reactor, showing good agreement
in the flux shape, although the used mesh size was around 16 million cells and an adjusted discontinuity
factor was used to correct the diffusion approximation[11]. Further bench-marking was done by J. Shi and M.
Fratoni in California by comparing results with experimental results from the MSRE[29]. All articles showed
good performance for GeN-Foam.

It can see that basic benchmarking is not necessary with the given references due to the good results, so
slightly more complicated cases can be considered. First an semi-infinite pipe case is investigated, then a
part of the CMSR (the inner core, upper plenum and outer core) is modelled utilizing the axial symmetric
geometry. Finally the CMSR case is calculated and compared with derived analytical solutions.

4.1 The Infinite Pipe Reactor

msrA hypothetical reactor can be considered that consists of a molten


salt fuel being pumped through a infinite cylinder, without any structure.
Let there be a domain where fission can occur, and let fission not occur
outside that domain, meaning Σf 6= 0 for −H/2 < z < H/2, Σf = 0
else. Fission will occur in the ”core” region, creating DNPs that will be
transported along with the flow. Figure 14 shows the setup.

4.1.1 Analytical Approach Dtot(r,z)

To make things simple, let us neglect gravity and energy equations meaning
the density and temperature are homogeneous throughout the domain. Let
us further assume laminar flow. For laminar flow, the flow profile in a pipe
x
can be derived to be z

1 dP 2
v(r) = (r − R2 ) = Cv (r2 − R2 ) (14)
4µ dx r CORE

from NSE with some simplifications[30]. The pressure drop is considered ϕ(r,z) β dz
linear and constant, thus the constant Cv = 4µ dx can be introduced.
1 dP

Let us approximate the flux for the circulating fuel to be the same as the
flux if the fuel would be stagnant; a fair assumption, as precursors con-
tribute about 0.65% of the fission and the rest originates from prompt
fission, which highly overlap in both cases due to the high, non moving Figure 14: Schematic of the hy-
fission cross section in the core area. In this case the distribution of pre- pothesized case. Magneta color
cursor production will be β times the flux for a stagnant fuel, that for a indicates the region where fission
cylinder can be calculated as, under assumption of diffusion: is possible.

φ(r, z) = Acos(πz/Ĥ)J0 (2.405r/R̂) = AR(r)Z(z) (15)

with A being 3.63P/V /Σf /Ef , R̂ and Ĥ extrapolated radius and height
respectively and J0 Bessel’s function of the first kind, zero order.

There is also the transport of DNPs to consider. One can imagine, to grasp the concept, a large number of
unstable nuclides are created at a location z0 and is transported by flow in the direction of flow with velocity
v. They will decay along the flow according to the decay law exp(−λt). Since it takes time t = (z − z0 )/v
to reach location z, it is fairly easy to show, for constant flow in one direction under steady state, that the

26
4.1 The Infinite Pipe Reactor 4 RESULTS & DISCUSSION

precursor at a point z downstream to its source z0 is:


z − z0
D(z, r) = D0 (z0 , r)exp(−λ ) (16)
v
with D0 (z0 , r) the precursor concentration at z0 and v the flow speed of the medium.

Precursors will be created at a location (r, z) in the reactor according to the flux at that location:

D0 (r, z) = βAR(r)Z(z). (17)

But this is only one point in the reactor. To consider the whole core, one needs to integrate over the length of
the core. The variable r is somewhat trivial since no diffusivity/mixing is assumed, making flux and precursors
independently related to r and z. For one infinitesimal length dz and area along the radial direction dA in
the core the source downstream will be
 
x−z
D(r, x) = βAR(r)Z(z)exp −λ dzdA (18)
v(r)
where v(r) is given by Eq. 14. To obtain the total precursor location at a position x without one needs to
integrate over the entire length of the core:
Z H/2
x−z
Z
D1tot (r, x) = βA R(r)dA Z(z 0 )exp(−λ 2 − R2 )
)dz 0 (19)
−H/2 C v (r

This integral was computed using Mathematica (see Appendix C). This equation of course only holds if
x > H/2. For the case from −H/2 < x < H/2 one can write:
Z x
x−z
Z
D2tot (r, x) = βA R(r)dA Z(z 0 )exp(−λ )dz 0 . (20)
−H/2 Cv (r2 − R2 )

For the specified flow profile through the cylindrical pipe reactor, the precursor solution thus becomes, with
the given assumptions: 
D1 (r, x), if x > H/2
 tot

D (r, x) = D2tot (r, x), if − H/2 < x < H/2


tot

if x < −H/2.

0,

4.1.2 Numerical Approach


msrThis method may be compared with the GeN-Foam case where thermal effects and diffusion of precursors
is neglected. There is however made use of the two group diffusion equation, as there was trouble solving in
GeN-Foam with only one group.

Figure 15: A part of the mesh for the geometry. Cells were refined and almost equilateral at the core, while
there were long cells at the inlet and outlet of the pipe. No inflation layers were used.

Describing the setup:


• an axial symmetric geometry was utilized with wedge boundary conditions.
• For the numerical results, a pipe 100 meters long with radius of 0.75 meter Figure 16: The cross sec-
having the core spamming from distance 76 to 77 meters from the inlet tion of the pipe looks like
was the chosen configuration. The long pipe was chosen to guarantee a pizza slice due to the RZ
steady flow at the inlet of the core, which was achieved. geometry. The angle was 5
degreeC.
• The boundary at the wall for velocity was no-slip. For the pressure it was
zeroGradient. Inlet velocity was 0.5 [m/s]

27
4.1 The Infinite Pipe Reactor 4 RESULTS & DISCUSSION

• The boundary condition at the edge of the core for flux was set to fixed-
Value 0, to conform with the analytical result. unfortunately this meant
precursors did not propagate through the boundary at the core outlet and no data was obtained for the
domain after the core.
• The magnitude of both flux and velocity for the analytical and numerical
model were equalized for easy comparison.
• The mesh had 2200 cells, most concentrated at the core.
• Relative error was calculated by taking the numerical value and subtracting
the analytical value at a certain coordinate, where-after the result was
divided by the maximum value of the numerical results to get a relative
measure.

4.1.3 Comparison

0.20

0.3
0.15 ● Numerical
— Analytical
Relative Error [%]

● Numerical 0.2
0.10

Relative Error [%]


Flux [a.u.]

— Analytical

Flux [a.u.]
0.05 0.1

0.00 0.0

-0.05
-0.1
-0.10
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 -0.2

Radius [m] 76.0 76.2 76.4 76.6 76.8 77.0

Distance [m]

Figure 17: The radial flux profile at the centre of


Figure 18: A comparison for the axial component
the core fits neatly with Eq. 32. difference between
of the flux at the center line of the pipe.
the results is displayed in red.

msrThe velocity was almost completely overlapping for the numerical and analytical results, showing that the
solvers in OpenFOAM agree with the derivation for laminar flow. The only difference was at the wall, where
the numerical result for flow was not zero. This is strange, as the boundary condition was set to have no
velocity there. As there is no gravity and the pressure BC was zeroGradient, there is no clear explanation for
this.

Both flux in the radial and axial component show very little deviation from the analytical model. There
was a previous setup where there was no fixed value for the flux at the inlet and outlet of the core, which
caused a large discrepancy in the axial flux as the boundary conditions between numerics and analytics differed
significantly. This was adjusted for, and now the flux is very similar.

2.0
2.0

● Numerical 1.5
1.5
Relative Error [%]

Relative Error [%]

Relative Error [%]


Precursor 1 [a.u.]

Precursor 3 [a.u.]

Precursor 6 [a.u.]

1.5
● Numerical ● Numerical — Analytical 1.0
— Analytical — Analytical
1.0 0.5
1.0
0.0

0.5 0.5 -0.5

-1.0
0.0 0.0 -1.5
76.0 76.2 76.4 76.6 76.8 77.0 76.0 76.2 76.4 76.6 76.8 77.0 76.0 76.2 76.4 76.6 76.8 77.0

Distance [m] Distance [m] Distance [m]

Figure 19: Comparison for pre- Figure 20: Comparison for pre- Figure 21: Comparison for pre-
cursor 1 concentration over the cursor 1 concentration over the cursor 6 concentration over the
core area for the pipe case. core area for the pipe case. core area for the pipe case.

The precursors show little deviation from the theoretical derivation. All deviation is expected to arise from

28
4.1 The Infinite Pipe Reactor 4 RESULTS & DISCUSSION

discretization of the mesh. As expected the GeN-Foam solver seems to be working properly. Another case
study with a turbulent larger pipe was conducted, but not shown due to loss of the data and poor quality in
the mesh. The data might be requested from the writer.

29
4.2 The Axi-symmetric Core with Double Pass 4 RESULTS & DISCUSSION

4.2 The Axi-symmetric Core with Double Pass


msrIf the molten salt would pass through the core once, it would have to acquire
the designed temperature gradient over the core length. The temperature gra-
dient through the center would in that case be larger than if the fuel would be
allowed to re-enter from an inner core to an outer core, where the temperature
gradient would come in two parts. This allows the temperature field to be more
homogeneous; good for chemistry control and thermal stresses. Therefore the
CMSR is currently designed with a so called double pass, where the fuel enters
through the center, flows through the upper plenum and re-enters through the
outer core area.

To simplify the study of the double pass, a symmetry that is axi-symmetric can
be build, reducing the computation time greatly. Disregarding everything except
the core and upper plenum in the main geometry allows this symmetry. Figure
22 shows the geometry of the setup. Re-entry of the precursors is not considered
for this study. To evaluate the results, an analytical model is needed. In Seaborg
an 1D model was developed that will be used for comparison.

4.2.1 Analytical Approach


msrLet us introduce the analytical model from Seaborg. Firstly, Equation 7 may
be more generally written as: Figure 22: The geome-
try as viewed from the XZ
Z
plane, displaying the flux
βeff,i = Di (r’)Ii (r’)dV’ (21)

field. The salt moves from
the bottom left up into the
with D(r’) the probability of having a neutron decaying from a precursor at upper plenum toward the
position r’,(defined as a fraction of the total neutron generation). I(r’) is the outer right, where it leaves
neutron importance at spacial point r0 [31]. The definition of importance is at the bottom.
closely related to the adjoint flux.

The equation for DNP transport can written as, with the assumption of an one
dimensional core with flux shape like the cylindrical reactor, and steady state:

dD0,i βi λi D0,i (z)


= χ(z)N0 − , (22)
dz λU0 U0

Kin 2Lc sin( Lc ), if 0 < z < Lc
π πz

π(z−Lc −Lup
χ(z) = Kout 2Lc sin(
π
Lc ), if Lc + Lup < z < 2Lc + Lup
otherwise

0,

with Lc and Lup the length of the core and upper plenum respectively, z the height from the start of the
core and χ(z)Rthe flux at position z. If we approximate the importance with normalized flux, it follows that
I(z) = χ(z)/ ltot χ(z 0 )dz 0 . Kin and Kout represent the fraction of the radial flux for the inner core and outer
core and can be calculated as follows:
R Ra
2πr0 J0 (2.405r0 /R)dr0
Kin = R0R ≈ 0.7722 (23)
2πr 0 J (2.405r 0 /R)dr 0
0 0

RR
2πr0 J0 (2.405r0 /R)dr0
Kout = RRRb ≈ 0.1987 (24)
0
2πr0 J0 (2.405r0 /R)dr0
with R extrapolated radius approximated as the outer radius of the core. J0 is the Bessel’s function of the
first kind, order 0. Using Eq. 22 with the introduced functions an analytical function for D0,i (z) was obtained
that is included in appendix D. A correction factor for the effective delayed neutron fraction can be written:
R
βeff,c Dc (r’)Ic (r’)dV’
cfcirc = = Ω
R (25)
βeff,s D
Ω s
(r’)Is (r’)dV’

30
4.3 Numerical Approach 4 RESULTS & DISCUSSION

with subscript c and s stand for circulating or stagnant fuel. The stagnant case can be determined as:
R H/2 0
0
Z
−H/2
(Kin2 + Kout
2
)cos2 ( πz
H )dz
Ds (r’)Is (r’)dV’ => R H/2 0
(26)

−H/2
(Kin + Kout )cos( πzH )dz
0

while for the circulating case:


R H/2 0
Z Kin D0,i (z 0 + H/2)cos( πz
−H/2
πz
H ) + Kout D0,i (z + H/2 + lup + lc )cos( H )dz
0
Dc (r’)Ic (r’)dV’ => R ltot

0
D0,i (z 0 )dz 0
(27)
With the integral in the denominator for normalizing the delayed neutron distribution. So, calculating Equa-
tions 26 and 27 the correction factor can be calculated. βeff,c can then be calculated as cfcirc βeff,s .

4.3 Numerical Approach


msrFor this model, gravity was enabled but the energy equations were neglected to keep comparison with
analytics simple. Table 7 shows the geometrical parameters. The boundary conditions were as described in
the methods section, with the front and back XZ plane having wedge boundary conditions. The mesh allowed
with 10 000 cells a run-time around 12 minutes with pressure residual around e-4. The fission cross-section
outside the core was set to zero.

Table 7: The geometries for the RZ core. The arrow indicates the domain spanned by the region (inner radius
to outer radius or bottom to top).

Region Height [m] Radius [m]


Inner Core 2→4 1
Outer Core 2→4 1→2
Upp. Plenum 4→5 2

4.3.1 Comparison

Precursor 3 [a.u.] Precursor 6 [a.u.]


1.0 1.0

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

Distance [m] Distance [m]


1 2 3 4 5 6 1 2 3 4 5 6

Figure 23: Precursor 3 (τ1/2 = 5.73s) over the Figure 24: Precursor 6 (τ1/2 = 0.24s) over the
described region. described region.

msrThere is now a numerical and analytical model to compare. As in the previous section, the results for the
cases have been multiplied with a scaling factor to better compare results. This can be done as the diffusion
equation is linear; it is analogous to changing the power. For the length of the upper plenum in the analytical
model, the average residence time for the salt in the upper plenum in GeN-Foam was taken and multiplied
with the flow velocity used in the model.

In the results there is a slight discrepancy in the inner core, while there is a large discrepancy in the outer core.
Thus there is disagreement between the models about what happens in the upper plenum. Alternatively, the
numerical model predicts a longer residence time than the analytical model. There is a shift in the peaks for
the precursors. This might be due to GeN-Foam calculating the actual, shifted flux field taking into account
the effect of precursors through Picard iteration, while the analytical model assumes a stagnant flux.

31
4.3 Numerical Approach 4 RESULTS & DISCUSSION

Figure 25: Comparison of precursors at the inner core with red points representing absolute error.

Figure 26: Comparison of precursors at the outer core with red points representing absolute error.
Flow speed 0 [m/s] Flow speed 0.5 [m/s]
Flow speed 1.0 [m/s]
250 250

Total βeff [pcm]: Total βeff [pcm]: 250


200 Numerical 679 200 Numerical 337 Total βeff [pcm]:
Reactivity [pcm]

Reactivity [pcm]

Analytical 679 Analytical 323 200 Numerical 254


Reactivity [pcm]

Analytical 260
150 150
150
100 100
100
50 50
50
0 0
An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu.
0
Prec. 1 Prec. 2 Prec. 3 Prec. 4 Prec. 5 Prec. 6 Prec. 1 Prec. 2 Prec. 3 Prec. 4 Prec. 5 Prec. 6 An. Nu. An. Nu. An. Nu. An. Nu. An. Nu. An. Nu.
Prec. 1 Prec. 2 Prec. 3 Prec. 4 Prec. 5 Prec. 6

Figure 27: Case with no flow. Figure 28: Normal flow in the
Figure 29: βeff 1 [m/s] flow. An-
Both methods yield the expected core. Analytical flow speed was
alytical flow speed was adjusted
result for absent flow. adjusted

Let us study βeff for the axis symmetric core. From the collage of Figures 25 and
26 one can notice that errors in the upper plenum range from maximum 3 to
7 percent, while for the outer core there is error up to 50% for the longer lived
precursors. Why this value is so high is unknown, as the length of the upper
plenum for the analytical model was made to fit the average residence time for
the numerical model. However it was observed that the longer lived precursors
tended to pile up in the corner of the upper plenum due to sharp edges and
little vortices present there (Figure 30). It might be that in the model a large
number of precursors never actually makes it out of the upper plenum while for
the analytical case all go through. This would explain the discrepancy.
Figure 30: Precursor pile-
Here it should be noted that the actual velocity might differ from that depicted up in the upper plenum.
in Figures 27, 28 and 29 due to the porosity in the structure. However the
analytical case was calculated subsequently to the numerical case and used the
average velocity for the numerical case, so there should be no difference in flow
speed. From Figures 27, 28 and 29 one can see that the numerical approach predicts a higher βeff than the
analytical approach for a flow speed of 0.5 [m/s] while for 1.0 [m/s] the calculated βeff is slightly higher for
the analytical approach. Contribution from longer lived precursors are calculated higher for the analytical case
while contribution from shorter lived precursors are calculated higher for the numerical case. As discussed, the
former can be explained by the pile-up of precursors in the upper plenum in the numerical model and the latter

32
4.3 Numerical Approach 4 RESULTS & DISCUSSION

1.0

0.8

Flux [a.u.]
0.6

0.4

0.2

0.0
2.0 2.5 3.0 3.5 4.0
Z coordinate [m]

Figure 31: The Axial flux at r=0 for the axis-symmetric core. The numerical flux field differs significantly
from the analytical case, which is a simple cosine function centered at the origin.

can be explained by the shift in flux causing the flux and precursors to be more overlapping in the numerical
model, which in turn weights the precursors as more important according to Eq. 7. This is a somewhat
strange deduction for the importance of precursors, as we would expect the importance from a neutron to
come from its relation to the fissile, moderating and absorbing material in the core and independent of the
neutron field. The reason the normal flux is a good analogy for the adjoint flux is that it gives an indirect
measure for the fission probability of a neutron at that location. However if the flux field moves, does it mean
that the adjoint flux field moves as well? Moderator material is kept in the active core region and there the
probability for fission is highest, so the adjoint flux should not shift with increasing flow speed, as least not
so much. In other words, from the description of adjoint flux in the theory, if one were to release a lot of
neutrons slightly above the core, the number of neutrons left after many iterations in a critical system should
be independent of the flow speed. If this is correct, it makes the assumption to use stagnant flux, that does
not adjust for moving precursors, to represent adjoint flux, not an assumption, but the correct method.

Figure 31 shows the discrepancy for the flux between analytical and numerical model. It may be due to the
movement of the precursors, which is not expected to have such a large effect on the flux since precursors
account only for about 0.65 % of neutrons. A more plausible reason for the discrepancy is that the zero flux
BC imposed at the core boundary imposed in the analytical case, was absent for the numerical case due to
difficulty in implementation. This means the diffusion equation for the neutronics solves for a regime outside
the core. As discussed for the laminar pipe case, it seems not possible to have both an imposed zero flux BC
for the flux and still allow passing of DNPs through the patch area, at least not with the knowledge about
BCs in GeN-Foam available to the writer. This is partly because in GeN-Foam the precursors and flux are
in the same physics folder. Since every physics folder uses its own mesh and boundary conditions, it is often
possible to do numerical acrobatics by having different definitions for the boundaries in the fluid folder and the
neutronics folder (Let’s say a wall in the fluid region can be a cyclic patch in the neutronics region). However
as mentioned, the precursors and flux are in the same physics folder and such tricks are thus not possible.
Maybe it is an idea to have the precursors moved to the fluid folder.

33
4.4 CMSR: Encountered Difficulties 4 RESULTS & DISCUSSION

4.4 CMSR: Encountered Difficulties


msrNow the geometry of the CMSR will be considered. While setting up the model a couple of problems were
encountered. While most of the physics fields were solved appropriately, a lot of the initial meshes showed
strange distributions for the precursors. This was resolved with smoothing of the corners, but still issues
with the longer lived precursor fields persisted throughout the study. There were vortices even at relatively
smooth corners where one would not expect re-circulation zones; something that seems to occur in CFD quite
often. In general the physics looked good except for the precursor concentrations. Another problem was a
convergence issue at the beginning of the thesis. This rather trivial error was caused by having the minimum
pressure set too high.

4.4.1 Negative Flux and Precursors

Figure 32: A cross section for the steady state solution in the primary circuit piping for the hexagonal case.
From left to right there is depicted the velocity magnitude, longest lived precursor and second longest lived
precursor. Note the non-uniform distribution for both precursors and the negative solution of the longest lived
precursor, that is apparent from the color inversion.

msrAfter an initial model was made for the core, it was noticed that under certain conditions the flux field
was having negative values at certain positions. Specifically in the heat exchanger there was a positive flux,
while the flux in the core was negative. Changing nuclear cross-sections and boundary conditions did not
change this result. A possibility for this strange behaviour is that the solver started with a positive flux in the
heat-exchanger and changing the flux in the core to be negative to still give the designated power output.
The problem did curiously enough not occur for the tetrahedral case, signalling some fault in the hexagonal
mesh.

The solution field for the longest lived precursor was negative over the entire domain, for multiple geometries
with hexagonal mesh. Theoretically this is a solution to the equation, but in reality it is not possible. Even with
very high positive initial conditions for the precursor the field went negative. Changing the cyclicAMI boundary
condition, changing the primary circuit geometry and changing to several different numerical schemes did not
work (in fact, the precursor fields did not convergence for any other solution scheme than the PBiCGStab
solver). Changing the Schmidt number had no effects. Performing up to 20 outer iterations for the flux
did not work. The results are nonetheless presented for completeness, but there are clearly some fault in
the model. The hexagonal mesh showed some cells with a low determinant value (low volume to surface
ratio) and although this is often not an issue for CFD, it might have caused the anomalies in this very
complicated physics case. The output of ”checkMesh -allTopology -allGeometry” is included in appendix B.
Another possible explanation is the sharp edges at the outlet of the vessel, causing some very steep gradient
in the velocity field. However, there were no anomalies in the flow field, in the sense of high gradients or
discontinuities. Lastly the non-convex surface at the inlet of the vessel (see Methods, Figure 8) might cause
some problem for the solvers, although not a clear reason can be given why this would happen. It must again
be noted that GeN-Foam is a code that still requires development and thus there exists the possibility of
bugs/numerical instabilities, specifically bugs when solving the precursor concentration fields.

34
4.4 CMSR: Encountered Difficulties 4 RESULTS & DISCUSSION

4.4.2 Non-uniformity
msrAnother anomaly was that, again for the hexagonal mesh, the precursor solution through the primary
piping was highly non-uniform, sticking to the upper part of the pipe over the entire out of core region,
causing a seemingly nonphysical distribution of precursors at the inlet of the core, as can be seen in Figure
32 from the stark contrast in colors (specifically, one may note that one cell at the top of the pipe has a
color way brighter than the rest of the cells). A reason for this might be that the precursor field would only
converge with a Gauss upwind scheme for the divergence term in the precursor equations. This leads to high
stability for convergence, but can create non-physical results.

Figure 33: Making the corners of the upper plenum circular was no an option because, invariably of mesh
refinement, some very skewed elements were created at the upper part of the corner.

The hexagonal mesh took significant time to make because the specific meshing utility Salome only allowed
hexagonal meshing under specific conditions. The corners of the model needed to stay sharp because otherwise
some of the mesh cells would get too skewed (see Figure 33), killing the simulation. So with rounded corners
not a current option, the sharp corners led to vortices and stagnant regions, especially in the upper plenum,
that were not resolvable with baffles or flow conditions. Specifically little vortices would form above the wall
that separated the outer core and inner core, and at the corner of the upper plenum. Nevertheless the stability
of the solution was excellent meaning the solution would converge under most conditions and solvers, while
the figure of merit was also good due to the alignment of mesh cells with flow, creating a lower Courant
number. the symmetry of the meshing meant that in general a good solution field was achieved with little
influence from the mesh itself. Other studies have found that for the two-dimensional case, this skewness
should not really matter[32]. Still other studies have found a good approach to modelling highly turbulent
flow in a complex 3D domain[33].

35
4.5 Hexagonal Mesh Model 4 RESULTS & DISCUSSION

4.5 Hexagonal Mesh Model


msrHere the results are presented from running multi-physics simulations using the geometry from Figure 13.

4.5.1 Steady State Solutions

Figure 34: Temperature Field Figure 35: Flux Field hexagonal Figure 36: Flow Field hexagonal
hexagonal mesh mesh mesh

Figures 34, 35, 36 show the temperature field, flux field and velocity (magnitude) field respectively, under
steady state. While progressing the mesh quality, it was noted that large expansions and sharp curves can
create large nonphysical velocities and should thus be avoided, or very finely meshed. In CFD calculations
it is desirable to avoid sharp corners due to the high imposed curvature. This again highlights the need for
a better mesh software that allows rounded corners while having hexagonal mesh elements and preferably
refinement at the walls.

4.5.2 Mesh-Independence
A mesh-independence study was conducted, showing mesh independence around 200 000 cells. It must be
noted that for the simulations containing 300 000 cells and more, the Courant number was increased as to
keep computation time within the order of a day (I did not want to melt my laptop). A subsequent Courant-
Independence study showed that influence from changing the Courant number was minimal, likely due to the
low average non-orthogonality of this system. The results are shown in Figures 37 and 38.
-3781
0.9635
-3800
Multiplication Factor k

Multiplication Factor k

0.96356
-3782
0.9630
ρ [pcm]

ρ [pcm]

0.9625 -3900 0.96355 -3783

0.9620
0.96354 -3784
0.9615 -4000

0.9610 0.96353 -3785

0 100 000 200 000 300 000 400 000 0.5 1 5 10


Volume Elements Max. Courant Num.

Figure 37: Result of the calculated eigenvalue Figure 38: Result for the change in eigenvalue for
under steady state for the hexagonal mesh with different Courant number for a mesh with 60 000
mesh refinement. elements.

4.5.3 Delayed Neutron Precursors


For completeness the precursors fields have been included (Figure 39). The shorter lived precursors show
reasonable solutions, while as discussed before the longer lived precursors stick to the upper side of the pipe

36
4.5 Hexagonal Mesh Model 4 RESULTS & DISCUSSION

Figure 39: All the precursor fields with their respective half-lives, for the hexagonal mesh.

at the outlet and have a strange distribution at the outer lower plenum. It was hard to determine whether
this was a numerical issue because the simulation would not run if the numerics were changed from its normal
settings regarding precursors (PBiCGStab solver and Gauss upwind divergence scheme). The tetrahedral mesh
did in fact work reasonably well so the issue might have been in the mesh. One noteworthy thing about the
results is the apparent accumulation of precursors near the core exit at the lower plenum. Due to a low
pressure zone there precursors seem to linger: something to keep in mind when further designing the reactor.

4.5.4 Streamlines

0.14

0.12
Field Lines
0.10
Weighted Field Lines
Probability

0.08

0.06

0.04

0.02

0.00
5 10 15 20
Residence Time [s]

Figure 40: The distribution of residence time Figure 41: The calculated field lines for the up-
in the upper plenum from the calculated stream per plenum in the hexagonal mesh. The color
lines. The time has also been weighed with total indicates precursor concentration at the seed of
precursor concentration at the seed, to see the the field line, from yellow (low precursor) ot red
effect of the non-uniform precursor distribution. (high precursor concentration).

msrFor further analysis it is beneficial to have the distribution of residence time for precursors in the upper
plenum or out of the core. This is to have an idea about how much precursors are decaying in the upper
plenum and hence allows more accurate one dimensional models. To form a small methodology, the concept

37
4.6 Tetrahedral Mesh Model 4 RESULTS & DISCUSSION

of integral time is useful; the time for a particle on a streamline to go from A to B. The decay of precursors
is exponentially dependent on the residence time and so a distribution is needed to calculate the number of
decays of precursors in the upper plenum, if one is interested. . The mean flow can be formulated, with N
seeds centered at cells with cross sectional area Ai , assuming constant density uniformly across the inlet:
N
1 X
τavg = τi Ai (28)
N Atot i

with τi the integration/residence time of seed i and Atot the total cross sectional area at starting section. One
might be tempted to weight by the velocity of the seed at the inlet, but the velocity information is already
contained in the integration time. Going one step further, the integral time can be weighted with a precursor
to obtain weighted integral time for precursor k by taking concentration of precursor at the seed, normalized
by total precursor concentration over all seeds, wi = PD N
i Ai
Dj Aj
j

N
X
w,k
τavg = τi wik (29)
i

Figures 40 and 41 highlight a method for making these values. Figure 41 also shows that streamlines with
high precursor concentration spend more time in the upper plenum than streamlines with low precursor
concentration. Unfortunately, for the hexagonal case the average residence time was not calculated for lack
of time. It will be presented for the tetrahedral case. It was further discussed that the mean residence
time of fluids in any volume should be equal to the calculated time from mass flow: τaverage residence time =
Vdomain volume /Qvolumetric flow rate . The distribution of residence time can however be important[34].

4.6 Tetrahedral Mesh Model


msrNow the results will be presented that originated from using the geometry that was depicted in Figure
12. Salome would concentrate mesh-cells near lines that were invoked while building the geometry; these
lines were not necessarily worth refining and thus the process of making a balanced mesh became trial and
error. The only remedy seemed to be to adjust the method of geometry building, showing a large influence
on the resulting mesh. Eventually a mesh was created that showed good distribution of cells and cell size.
Also because the meshing algorithm for tetrahedral meshes allowed greater flexibility and adaptivity one could
make a completely smooth geometry without any sharp edges. Thanks to the smoother geometry (also the
geometry was locally convex), the results seemed more physical than for the hexagonal mesh. Still the mesh
was harder to converge during simulations than the he hexagonal mesh, most likely due to more average
skewness and non-orthogonality causing the solution matrix to be less diagonally dominant.

Figure 42: Temperature Field Figure 43: Flux Field tetrahedral Figure 44: Flow Field tetrahedral
tetrahedral mesh ranging from mesh with maximum value of 5× mesh, ranging from zero to one
865 to 980 [K] 1018 [1/m2/s] [m/s]

38
4.6 Tetrahedral Mesh Model 4 RESULTS & DISCUSSION

4.6.1 Steady State Solution


msrThe results for the temperature, flux and flow, shown in Figures 34, 35 and 36 respectively, seem physical,
although the large cells at the centre of the core make the solution field appear rather crude. An a-symmetry
can be observed for the temperature field and velocity field, likely caused by the general a-symmetric shape
of the vessel and subsequent heterogeneous flow pattern.

0.958 1000
-4400
0.957
Multiplication Factor k

990
0.956 -4600
980

ρ [pcm]

Temp. [K]
0.955
Tavg
-4800 970
0.954
Tmax
0.953 960
-5000
0.952 950
0.951
940
0 20 40 60 80 100 120
Volume Elements
0 20 40 60 80 100 120
*1000
Volume Elements *1000

Figure 45: Convergence of keff is not reached Figure 46: Converge of temperature is almost
within the set element range. reached within the element range.

4.6.2 Mesh-Independence
msrThe mesh-independence study was less elaborate than for the hexagonal case, as mesh refinement led to a
lower quality mesh (more skewness). Past 130 000 cells it became very hard for the simulation to converge. It
was noted that specifically solving for precursor 1 would take the maximum number of iterations, 1000, after
which either a residual below one was achieved, or in the case of finer meshes, a very high residual above one.
Also because the alignment of mesh cells was basically random, the Courant number in the pipes was high,
causing the need for very low time-steps. All this made the process of mesh-independence computationally
expensive and time consuming, while convergence of keff was not reached.

Figure 47: All the precursor fields with their respective half-lives, for the tetrahedral mesh.

39
4.6 Tetrahedral Mesh Model 4 RESULTS & DISCUSSION

0.30

0.25 Mean Residence Time: 4.34 [s]

0.20

Probability
0.15

0.10

0.05

0.00
0 2 4 6 8 10 12 14
Upper Plenum Residence Time [s]

Figure 48: PDF of the residence time for precursors in the upper plenum. The individual integral times for
the seeds were weighted with precursor concentration and volume of the seeds starting cell.

4.6.3 Streamlines
msrUsing the method described in the previous section about streamlines, the mean residence time in the
upper plenum, without weighting the precursors, was found to be 4.26 seconds. This differs from the mean
residence time as calculated from dividing the volume by the volumetric flow rate (4.83 seconds). One reason
for the difference can be that for the tetrahedral mesh it was hard to obtain cross sectional surface at the
seed points, and so instead of the area, the cell volumes were used as weights. With the precursor solutions
as added weights, as explained in the previous section, the mean residence time became 4.34 seconds; an
increase of 0.08 seconds. Although these values are fairly representative, a strong footnote must be given
that the weighting was done with cell volumes instead of cross sectional area, introducing an zero-order error.

4.6.4 Decay of Precursors in the Upper Plenum and Heat-exchanger


msrFor calculation of decay rates in the upper plenum 3 methods were used. The first one utilized data about
the streamlines, while the second one performed an integration in OpenFOAM. The last method takes the
total number of precursors in the upper plenum and multiplies with the respective decay constant to obtain
activity meaning λNtot . This last method is deemed the most credible. For the coming expressions, Di
represents precursor distribution at the upper plenum inlet [#/m3] and Do represents precursor distribution
at the upper plenum outlet [#/m3]. uavg stands for average flow speed at the inlet.

For method 1, the following relation for a probability function was used:
Z
Mean(f ) = PDF(x0 )f (x0 )dx0 (30)

where f (x) was substituted with uavg Di dA(1 − exp(−λx)) and x represents residence time in the upper
R
inlet
plenum.

For method 2 there was taken a surface integral over the inlet of the upper plenum and the outlet of the
upper plenum in GeN-Foam, to give precursors per meter. This was multiplied with the average flow speed
and subtracted to obtain a number for decays in the upper plenum meaning
Z Z 
decays = Di dA − Do dA uavg . (31)
inlet outlet

The results are shown in Table 8


There is quite a large difference between the methods. Presumably the third method is most accurate under
steady state. The first method with the streamlines seems somewhat accurate; error is likely due to the
estimation of cross sectional area with cell volumes. The second method seems the least accurate due to
taking average flow speed and not weighting flow speed with the precursors concentration as mentioned in
the Methods section.

40
4.7 Comparison of the Results for βeff 4 RESULTS & DISCUSSION

Table 8: Results for decay of the several precursors in the upper plenum.

Precursor Method 1 [decays / s] Method 2 [decays / s] Method 3 [decays / s]


Prec. 1 6.64e+14 1.09 e+15 7.65e+14
Prec. 2 4.93e+15 9.92e+15 5.40e+15
Prec. 3 7.57e+15 1.41 e+16 6.94e+15
Prec. 4 1.31e+16 1.98e+16 9.92e+15
Prec. 5 1.51e+15 1.80e+15 9.95e+14
Prec. 6 3.67 e+13 3.76e+13 2.62e+13

Table 9: Total number of precursors in the heat-exchanger.

Precursor Analytical [#] Numerical [#]


Prec. 1 1.38e+17 8.58e+16
Prec. 2 2.68e+17 1.14e+17
Prec. 3 3.47e+16 4.46e+15
Prec. 4 4.99e+15 2.49e+15
Prec. 5 9.05e+12 7.06e+11
Prec. 6 1.29e+6 8.13e+10

For the heat-exchanger, no measure of the decay was made. Instead, the total number of precursors inside the
heat-exchanger under steady state was calculated, from which the neutron decays can be easily calculated.
Two approaches were used. One was to take the volume integral in GeN-Foam by summing over precursors
in the cells, and the other deduces from the analytical approach (Figure 49) the number of precursors by
integrating over the length that would be representative of the heat-exchanger. The results are given in Table
9.
There is a significant difference between the two methods for calculating precursors in the heat-exchanger,
where the analytical approach predicts a value around twice as high as the one from numerics (GeN-Foam),
except for the third and sixth precursors, where the difference is an order of magnitude or more. It must be
stated that the two approaches are very different in method and geometry and that up to now, comparison
between the analytical and numerical results always considered some type of normalization. A reason could
be the re-circulation zone at the top of the heat-exchanger that proved to be an nuance (rounding of corners,
anisotropic drag field and baffles did not work). It was attempted to accurately compute the distribution of
precursors out of the core in the same way as was done for the upper plenum, but it proved difficult due to
discontinuous streamlines not stretching over the whole external circuit. Furthermore the flow with precursors
was not fully uniform, inducing different results for residence time than in the case where a homogeneous spread
over the cross section of the pipe is assumed. Having an upwind scheme for the precursors in combination
with a highly skewed mesh can definitely lead to peculiar precursor fields. Unfortunately, the simulation did
not run with a Gauss linear divergence scheme for precursors, making it hard to judge the influence from
upwind differing on the precursor field.

4.7 Comparison of the Results for βeff

Table 10: The obtained values for βeff after applying Equation 7 to the results for the different cases. The
second group shows an abnormal result for the hexagonal meshes and for the hexagonal case without altered
source code, the first precursor is negative.

DNP Group Tetrahedral Altered Hexa Hexagonal Analytical


Group 1 [pcm] 2.86 1.91 -1.91 5.56
Group 2 [pcm] 17.85 329.1 327.77 29.72
Group 3 [pcm] 31.94 32.60 32.58 33.54
Group 4 [pcm] 128.22 117.16 117.10 122.64
Group 5 [pcm] 88.94 78.21 78.20 86.86
Group 6 [pcm] 46.45 43.23 43.24 46.70
Total [pcm] 316.26 602.16 596.97 325.03

msrAs mentioned, multiple approaches and meshes were used for calculating βeff . These are given in Table

41
4.7 Comparison of the Results for βeff 4 RESULTS & DISCUSSION

Precursor Concentration [a.u.]

1.5 × 1021 Group 1


Group 2
1.0 × 1021
Group 3
Group 4
5.0 × 1020
Group 5

0
Group 6
0 5 10 15

Length from Core Inlet [m]

Figure 49: Results from the analytical approach. Note the values at the beginning and end of domain are
the same and the bump in-between the peaks caused by the upper plenum. Properties of the DNPs can be
found in Table 4.

10. It is noticeable that precursor 2 for the hexagonal case is higher than theoretically possible. There is
definitely an error in calculating the longer lived precursors in the hexagonal mesh.

There is a difference of around 10 [pcm] between the tetrahedral and analytical calculation of βeff . It must be
noted that regardless of several effort to remedy vortices, there was still a big vortice in the heat exchanger,
preventing the longer lived precursors from re-entering the core. This has the effect of reducing the reactivity
from longer lived precursors, as can be seen in the table. The shorter lived precursors are very alike with
the analytical result, although precursor four for the numerical approach contributes more to reactivity. This
may well be caused by the absence of a zero flux boundary condition at the top and bottom of the core, as
was also observed for the axi-symmetric model. Determining wether this is the case seems at present difficult
due to the incapability of setting fixedValue BC for flux and cyclic BC for precursors (in fact, it was tried
to set zeroGradient for precursors with fixedValue for flux, but this still did not allow precursors to ”pass”
through the patch defined at the inlets and outlets of the core), not allowing to have both zero flux at the
edge of the core and still allow precursors to pass through. Lastly, the flow speed for the numerical and
analytical approach might not overlap completely, as it was a process of trial and error to get mass-flow for
the tetrahedral case to correspond to a mass-flow of 3000 [kg/s] and the structure and change of flow speed
in the upper plenum leads to a non-uniform flow speed, different from the analytical case where flow speed
is taken as 0.5 [m/s] throughout the entire primary circuit, and length scales were adjusted to represent the
residence time in the different zones. Eventually a Darcy velocity of 0.346 [m/s] was used, corresponding to
a flow speed of 0.593 [m/s], for the tetrahedral model.

4.7.1 Total Amount of Precursors in the Primary Circuit

Table 11: The results for the total concentration of precursors for the different cases.

Method Group 1 Group 2 Group 3 Group 4 Group 5 Group 6


Analytical [Tot. Prec.] 2.51e+16 1.31 e+17 1.26 e+17 2.89 e+17 1.24e+17 5.16e+16
Tetrahedral [Tot. Prec.] 2.90e+16 6.27e+16 1.85e+16 1.934e+16 3.19e+15 3.98e+14
Hexagonal [Tot. Prec.] -1.93e+17 1.29e+19 1.92e+17 1.55e+17 2.32e+16 2.86e+15

msrUnder steady state, it is fairly straightforward to calculate the total number of DNPs in the system, as
they are a product of fission and do not themselves interact with neutrons or any other field. The rate of
production, φtot Σˆf βi should equal the decay λi Di with Σˆf the average weighted fission cross section, φtot
the total flux in the system and Di total number of atoms from precursor i. With the assumption that the

42
4.8 Analytical Approach for Calculating Temperature Distribution 4 RESULTS & DISCUSSION

core is a cylindrical reactor with properties from the method section, the following is an expression for the
flux:
φ(r, z) = Acos(πz/Ĥ)J0 (2.405r/R̂) (32)
with A being 3.63P/V /Σf /Ef . Eq. 32 can be integrated over the core domain to obtain a total flux of 1.1E20
[1/m2/s]. This can be multiplied with the precursor yield to compare with the results from the tetrahedral
and hexagonal case. Results are given in Table 11. Results show large discrepancy that are likely caused by
the large vortex in the heat-exchanger. Another reason could be the use of multiple energy groups leading to
different values for the flux, although this would not explain the magnitude of the difference.

4.8 Analytical Approach for Calculating Temperature Distribution

Temp. [K]

960

940

920
Tetrahedral
900 Hexagonal
Theoretical
880
Distance [m]
5 10 15 20 25 30

Figure 50: Result for the temperature field over the primary circuit, reduced to one dimension by averaging
over flow area.

msrThe change in enthalpy for a fluid due to heat flux in one dimension can be expressed as

di(x) q 00 (x)PH
= (33)
dx W
with i(x) enthalpy at location x PH the heated perimeter [m], q 00 the surface heat flux [W/m2] and W
the mass flow [kg/m]. Inside a heat-exchanger, q 00 (x) may be formulated by Newton’s law of cooling to be
h(T (x) − Ts ) with Ts the constant temperature of the secondary salt in the heat ex-changer and h the heat
transfer coefficient, while for the core region, q 00 (x0 ) = Kcos(πx0 /H) with x0 an independent variable s.t.
x0 = 0 at the beginning of the core. As mentioned before, heat is deposited directly in the fuel/coolant due
to the dissolved fissile material. Because di = cp dT one can obtain, by substituting heat from fission as
expressed in section 4.2
 K cos(πz/H)P


in
cp W
H
, if 0 < z < Lc

K cos(π(z−L c −Lup )/H)PH
, if Lc + Lup < z < 2Lc + Lup
 out
dT (z) 
cp W
= h(T (z)−Ts )PH
dz
−

 cp W , if LHX,in < z < LHX,out
otherwise

0,

The result for comparison is shown in Figure 50. The discrepancy at the heat-exchanger can be ignored due to
the different geometries having the heat-exchanger at different locations. The heat up at the core shows good
comparison with discrepancy likely caused by slightly different mass flows for the different cases. In fact, it
was hard to get exactly 3000 [kg/s] massflow with the momentumSource from GeN-Foam, as documentation
was lacking and source code was written quite unclear, making it hard to form a relation with pressure drop
to obtain the right momentum for a given massflow.

There is a peculiar drop in temperature occurring in the region between the outer core and the heat-exchanger
for the tetrahedral case, where the temperature is dropping significantly. This is strange because boundary
conditions were set to be zeroGradient everywhere, neglecting heat loss to the environment. This means that

43
4.9 A Little Bit on Convergence 4 RESULTS & DISCUSSION

the temperature should not drop if an user-defined heat sink is not present. Perhaps this temperature drop is
due to the low quality of the mesh. Apart from this anomaly, the temperature fields seem to work as expected.

4.9 A Little Bit on Convergence


msrThe individual physics were converging as one would expect, with the greatest difficulty in the pressure,
due to the inherit complexity of the Navier-Stokes equations.

steadyStateEN/log.GeN-Foam
log.GeN-Foam 100.0000000
Precursor 1
Precursor 2
Precursor 1
10.0000000 Precursor 3
Precursor 2
100.0000000 Precursor 4
Precursor 3
Precursor 5
Precursor 4
1.0000000 Precursor 6
Precursor 5
Precursor 6
1.0000000 0.1000000

Residual (-)
Residual (-)

0.0100000
0.0100000
0.0010000

0.0001000 0.0001000

0.0000100

0.0000010
0.0000010
0 5 10 15 20 25 30 35 40 45 50
0 50 100 150 200 250 Iteration (-)
Iteration (-)

Figure 52: The residual of precursors goes up


Figure 51: Precursor concentration converges
when coupling the equations for flow, neutronics
nicely when only neutronics are solved, after hav-
and energy. After an initial rise, it will go down
ing solved the flow field under steady state.
again slowly.

It was not possible with the used schemes to converge all the fields at once: a step procedure needed to
be taken where first the fluid field was solved, then the neutronics under constant flow conditions, then all
physics together meaning flow, neutronics and energy. This way results could be obtained.

It was observed that precursor 1 took by far the longest time to converge. Also there were constraints on the
used solvers and schemes: only PBiCGStab (Biconjugate gradient stabilized method) as a solver (with some
preconditioner) and upwind scheme for the divergence lead to convergent results. To be clear, this difficulty
in convergence already arises when solving the neutronics individually meaning with constant flow and no
energy coupling. In fact, as long as the liquidFuel flag is turned on, even if neutronics is solved individually
first and only, without the flow, it will not converge. However, the stated method works well, and results
can be reached if the PBiCGStab method is used. When the energy equations are subsequently included, the
precursor residual increases for some iterations, after which they drop slowly.

4.10 Transient Analysis


msrBased on the foregoing discussion, it is not hard to judge which mesh calculates the most physically
realistic result. Clear is that some more work needs to be done to make the hexagonal mesh work, be it
that it has higher benefits in stability and analysis of results. Especially meshing the geometry proved to
be an challenging exercise and is a point where a lot of improvement can be made. Nevertheless, for the
sake of completeness, let us examine some transient cases and compare the results of different approaches in
modelling to form an idea about what happens during the transients.

Regarding the ULOF, the power drops due to the increasing core temperature. From the zoom in Figure 53
it can be seen that power seems to drop immediately, without a jump due to the ceasing of precursor flushing
following the loss of flow. Furthermore the average fuel temperature increases but the maximum temperature
coasts down due to the reduction in fission power causing less heating in the middle of the core. The results
differ significantly for the hexagonal and tetrahedral case, with the tetrahedral case predicting a way faster
reduction in power.

4.11 Excluded Phenomena


msrA couple of things were left out of the model in order to not get drowned in the parameter space.
These things include: thermal capacity of the surrounding structure, power from decay heat during transients,
structure of the control rods in the upper plenum, porous zone of the heat exchanger, heat loss to surroundings,
among others. The thermal capacity can in fact be modelled in GeN-Foam, and is included (but commented

44
4.12 Further Work 4 RESULTS & DISCUSSION

ULOF Transient, 270K Elements


Power [MW]
ULOF Transient
250 Temp. [DegC]
250

240

200 230 800

220 Hexa 60k* : {34.7, 821.}


210 Hexa 60k: {34.7, 819.}
150
0 1 2 3 4 5 750 Tetra 70k: {31.2, 771.}

100

700

50

Max. Temp.
650
0 Time [s] Avg. Temp.
0 10 20 30 40 50 60 Time [s]
10 20 30 40 50 60

Figure 53: Power evolution during ULOF to 10% Figure 54: Temperature evolution during ULOF
pump power. Round dots display results from the to 10% power.
tetrahedral mesh.

ΔT [K]
100

80

60

40

20

Time [s]
500 1000 1500 2000 2500 3000 3500

Figure 55: Plot of the temperature increase due to decay heat only for the molten salt primary circuit having
a fuel salt volume of 36.42 [m3].

out) in the root case for later work. Decay heat is non-trivial to function in, as there is during most transients
a period where the fission power is non-zero but decreasing. A simple way to include or at least consider its
magnitude is through the Wigner-Way formula:

P (t) = 0.0622P0 (t−0.2 − (top − t)−0.2 ) (34)

with P the decay heat power at time t in seconds after shut down, P0 the operating thermal power and
top the time of operation in seconds. More advanced ways for calculating the decay power can be found at,
for example, the American Nuclear Society, whose ANS-71 code takes into account specific fission products.
Figure 55 shows the resulting temperature increase for a 0D core model without any heat losses, with a volume
and material properties from the method section. The high density, heat capacity and salt volume make for
a sluggish transient where a temperature increase of 100 [degC] is reached after 61 minutes. It is thus not
majorly important for simulations up to one minute to consider decay heat.

4.12 Further Work


msrMeshing is a key point in the modelling, as it has great effect on both computational time and result.
The meshing utility Salome, although having friendly user-interface and being free to use, had considerable
shortcomings when it came to meshing. For one, it was not possible to convert a combined tetra/hexahedral
mesh into the OpenFoam format, making the meshing considerably more difficult. The results show that
for feasible results there must be consideration of the Courant number meaning mesh elements should be
elongated in the direction of flow, and preferably refined near the wall. Other software that might facilitate
these features are GAMBIT, a mesher based on the CFD Fluent software that was used by Rouch et al.[35],
or ANSA. ANSA shows great flexibility in meshing and allows great detail in the inflation layers meaning
refined near wall layers[36] and is used by the UK for their analysis on Generation IV reactors. It is however
not currently compatible with OpenFOAM.

45
4.12 Further Work 4 RESULTS & DISCUSSION

Good use of OpenFoam requires quite some experience in the space of CFD solvers and meshing. Other
utilities like commercial solvers have good default and automated settings, but OpenFoam relies heavily on
the expertise of the user. Therefore, each mesh comes with its own preferred fvSchemes and fvSolutions. For
low non-orthogonality and skewness, the error introduced by using an uncorrected scheme for the Laplacian is
minor, as is error from using the upwind scheme, while for tetrahedral or skewed meshes one needs to include
correctors to counter the error induced by extrapolating face values.

More results could have been obtained definitely, but seemed somewhat superfluous without, in the hexagonal
case, a solution to the strange precursor field or in the tetrahedral case, a more efficient mesh. Once the setup
is made, it is easy to perform transient analysis and sensitivity studies. Parallelization was not employed, but
is recommended if mesh sizes larger than 100 000 cells are employed.

Throughout the work 2 energy groups were used for the neutronics calculation. However, a case having more
energy groups is necessary to have confidence in the result as there might be error or cancellation of error
occurring with two energy groups. Citing:
”Results between 23 and 2 energy groups very close, however intermediate results do not converge until 23
energy groups, showing a cancellation of error for 2 energy groups”
reported by another groups using GeN-Foam for a two dimensional axis-symmetric model of the MSRE[37].

Studies investigating sensitivity on the round off error and tolerance as described in the theory section will
give better insight into the numerical error associated with the current model. As stated, this was not done
due to lack of time, although short tinkering showed that reducing the residual tolerance did not influence
results much for the axi-symmetric core model.

46
5 CONCLUSION

5 CONCLUSION
msrAn overview for the physics involved when simulating a MSR were introduced in the theory, together with
some of the computational techniques for solving differential equations in a complex domain.

A comprehensive report on previous work regarding benchmarks for MSR’s using OpenFOAM/GeN-Foam was
presented, finding that GeN-Foam is a viable solver for multi-physics and reactor dynamics. Because of the
good previous results, basic models were skipped.

A technique for calculating the precursor field in a cylindrical reactor with moving salt was introduced and
compared with numerical results originating from GeN-Foam for a long pipe with moving fuel through a region
where fission was possible. The results showed that the axial flux may differ substantially from theoretical
predictions due to diffusion of the flux into the domain out of the core, amplified by the discretization of the
domain into coarse mesh elements. This effect was prevented by introducing a patch baffle where the flux
was set to zero, but had the undesirable effect of not propagating DNPs in direction of flow after the baffle.
After the BC correction, the precursor fields in the core were compared and showed a minor discrepancy that
was likely caused by the discretization.

A simplified model of the CMSR was created to study the flow of precursors in the upper plenum, utilizing
the axi-symmetric geometry to greatly enhance mesh refinement that was allowed by the reduction in domain
volume. Comparison with an analytical model developed in Seaborg showed minor deviation in the inner core
and larger deviation in the outer core, likely caused due to pile-up of precursors in the upper plenum and
different boundary conditions for the flux field. Also the shape of the flux showed to be shifted, due to a
difference in boundary conditions at the upper part of the core and to a lesser extent due to the assumption of
stagnant fuel instead of circulating fuel. Comparison of βef f showed a difference of around 15 [pcm] between
the numerical and analytical model. The shape of the upper plenum and deviations in flow speed distribution
might have caused the difference. Alternatively, the axi-symmetric model produces a more accurate estimation
of the delayed neutron fraction.

A hexagonal mesh of the entire circuit was made and showed errors in producing results for the longest lived
precursor. It was very unfortunate that this model did not produce good results as the numerical stability
and speed of computation were good compared to the tetrahedral mesh, due to the quality of the mesh
cells and the alignment of cells with the direction of flow. Mesh-independence occurred when using around
230 000 elements, which is not large compared to other meshes used in literature. The viability of the
mesh-independence is questionable due to the peculiar results, but there is some confidence the result is
representative of realistic results also, as except for the precursor field, the results showed no anomalies.

A tetrahedral model without sharp edges was created that produced realistic but coarse results. The mesh
could not be made too fine due to the limited capabilities of Salome to produce quality meshes and the
subsequent increase in skewness throughout the domain. The results were however in line with the analytical
results and prove the power of GeN-Foam as a calculation tool for complex domains. βef f under normal
conditions was around 400 [pcm] with a mass flow lower than 3000 [kg/s], which is higher than expected and
may be due to a combination of extended flux into the upper plenum and deviation in flow speed throughout
the domain.

Transient calculations were performed and showed the feasibility of GeN-Foam for modelling transients, al-
though the poor mesh made simulation slow and with low fidelity. Nevertheless the thermal inertia and large
negative temperature reactivity showed a damping effect on the development of the transient.

Further work would need a better meshing program and could reproduce the results and calculate transients.
Also sensitivity analysis regarding residuals and floating point precision are needed to obtain judgement in the
sensitivity on numerical parameters. Having experimental validation from experiments other than the MSRE
would also help to prove the viability of the GeN-Foam code.

Regarding the objectives of the thesis; for the simple cases with the laminar pipe there was excellent agreement
between theory and simulation, indicating GeN-Foam is working properly. Mesh-independence was reached for
the hexagonal mesh but not for the tetrahedral mesh, due to the inability of Salome to produce refined complex

47
5 CONCLUSION

tetrahedral meshes without high skewness in most of the cells and very high skewness in some of the cells.
The calculation of the effective delayed neutron precursors in the CMSR showed results in line with results
obtained from the analytical approach developed in Seaborg, with differences arising from including multiple
dimensions and/or more detailed calculation in GeN-Foam. It is expected that utilizing more detailed models
including more dimensions and physical effects would result to more realistic physical values if the meshing
and numerical methods are applied appropriately, although only experiments can validate this statement.

ACKNOWLEDGMENTS
The author would like to thank Kaspar Hewitt Klenø for suggestions on the project and good company during
lunch-breaks, Mario Ponce Tovar for meaningful discussions regarding the thesis subject and questions about
life in general, the remaining Seaborg team for open arms and good company during my stay in Denmark,
Vasily Arshanov for generous help regarding both technical and administrative tasks during the thesis, the
professors and students at KTH for an rich and meaningful experience abroad in Sweden, and friends and
family for supporting my endeavour in the controversial field of nuclear engineering.

Acronyms
IPCC: Intergovernmental Panel of Climate Change.
MSR: Molten Salt Reactor.
CMSR: Compact Molten Salt Reactor.
MSRE: Molten Salt Reactor Experiment
FUNaK: Fluoride-Uranium-Sodium-Potassium.
DNP: Delayed Neutron Precursor.
OpenFOAM: Open-source Field Operation And Manipulation.
NSE: Navier-Stokes Equation.
RANS: Reynolds Average Navier-Stokes
CFD: Computational Fluid Dynamics.
PISO: Pressure-Implicit with Splitting of Operators.
SIMPLE: Semi-Implicit Method for Pressure Linked Equations.
BC: Boundary Condition.

48
REFERENCES REFERENCES

References
[1] Masson-Delmotte, V. et al, IPCC, 2021: Climate Change 2021: The Physical Science Basis. Contribution
of Working Group I to the Sixth Assessment Report of the Intergovernmental Panel on Climate Change
Cambridge University Press. In Press., 2021.
[2] IEA (2021), The Role of Critical Minerals in Clean Energy Transitions, IEA, Paris
https://www.iea.org/reports/the-role-of-critical-minerals-in-clean-energy-transitions.
[3] S. B. Pope, Turbulent Flows. Cambridge University Press, 2000.
[4] C. Fiorina, I. Clifford, M. Aufiero, and K. Mikityuk, “Gen-foam: a novel openfoam® based multi-physics
solver for 2d/3d transient analysis of nuclear reactors,” Nuclear Engineering and Design, vol. 294, pp. 24–
37, 2015.
[5] “Turbulence compendulum,” E. Lindborg, KTH course SG2218.
[6] OpenFOAM: User Guide v2112.
[7] H. Anglart, “Lecture 4 - slide 6,” KTH course SH2701.
[8] I. M. C. PIJUSH K. KUNDU and D. R. DOWLING, Fluid Mechanics. Academic Press, 2015.
[9] G. D. Spriggs, J. M. Campbell, and V. M. Piksaikin, “An 8-group delayed neutron model based on a
consistent set of half-lives,” Progress in nuclear energy (New series), vol. 41, no. 1, pp. 223–251, 2002.
[10] M. P. Tovar, “Multiphysics simulation and verification of molten salt reactors using gen-foam,” Universit
e Paris-Saclay, Universitat Polit‘ecnica de Catalunya, 2021.
[11] M. Ramzy Altahhan, S. Bhaskar, D. Ziyad, P. Balestra, C. Fiorina, J. Hou, N. Smith, and M. Avramova,
“Preliminary design and analysis of liquid fuel molten salt reactor using multi-physics code gen-foam,”
Nuclear Engineering and Design, vol. 369, p. 110826, 2020.
[12] F. Mattioda, P. Ravetto, and G. Ritter, “Effective delayed neutron fraction for fluid-fuel systems,” Annals
of Nuclear Energy, vol. 27, no. 16, pp. 1523–1532, 2000.
[13] C. Demazière, “6 - neutronic/thermal-hydraulic coupling,” in Modelling of Nuclear Reactor Multi-physics
(C. Demazière, ed.), pp. 311–336, Academic Press, 2020.
[14] D. Knoll and D. Keyes, “Jacobian-free newton–krylov methods: a survey of approaches and applications,”
Journal of Computational Physics, vol. 193, no. 2, pp. 357–397, 2004.
[15] B. BRADIE, A friendly introduction to numerical analysis. Upper Saddle River, NJ, Pearson Prentice
Hall, 2006.
[16] H. Jasak, “Finite volume discretisation in, openfoam, best practice guidelines,” Chalmers University,
Gothenburg & Faculty of Mechanical Engineering and Naval Architecture, Zagreb.
[17] A. Syrakos, S. Varchanis, Y. Dimakopoulos, A. Goulas, and J. Tsamopoulos, “A critical analysis of some
popular methods for the discretisation of the gradient operator in finite volume methods,” Physics of
Fluids, vol. 29, no. 12. AIP Publishing, p. 127103, Dec. 2017.
[18] H. K. Versteeg and W. Malalasekera, An introduction to computational fluid dynamics - the finite volume
method. Addison-Wesley-Longman, 1995.
[19] A. Syrakos, S. Varchanis, Y. Dimakopoulos, A. Goulas, and J. Tsamopoulos, “On the order of accuracy
of the divergence theorem (Green-Gauss) method for calculating the gradient in finite volume methods.”
working paper or preprint, June 2017.
[20] J. H. Ferziger and M. Perić, Computational Methods for Fluid Dynamics. Springer Berlin Heidelberg,
2002.
[21] “[cfd] least-squares gradient scheme,” Fluid Mechanics 101.
[22] F. Liu, “A thorough description of how wall functions are implemented in openfoam,” Chalmers university
of techology, Edited by Nilsson. H., 2016.

49
REFERENCES REFERENCES

[23] https://cfd.direct/openfoam/user-guide/v6-boundaries/.
[24] https://openfoamwiki.net/index.php/SimpleFoam#Step by step analysis of the pressure equation.
[25] https://www.cfd-online.com/Forums/openfoam-solving/82581-i-need-explanations-about-
fixedfluxpressure.html.
[26] J. Bao, “Development of the model for the multi-physics analysis of molten sat reactor experiment using
gen-foam,”
[27] M. Tiberga, R. G. G. de Oliveira, E. Cervi, J. A. Blanco, S. Lorenzi, M. Aufiero, D. Lathouwers, and
P. Rubiolo, “Results from a multi-physics numerical benchmark for codes dedicated to molten salt fast
reactors,” Annals of Nuclear Energy, vol. 142, p. 107428, 2020.
[28] R. G. de Oliveira and K. Mikityuk, “Analytical solutions to a coupled fluid dynamics and neutron transport
problem with application to gen-foam verification,” Annals of Nuclear Energy, vol. 121, pp. 446–451,
2018.

[29] Shi, J., Fratoni, M. (2021). GEN-FOAM MODEL AND BENCHMARK OF DELAYED NEUTRON
PRECURSOR DRIFT IN THE MOLTEN SALT REACTOR EXPERIMENT. EPJ Web of Conferences,
247, 6040.
[30] Çengel and Cimbala, “Laminar pipe flow; an exact solution of the navier-stokes equation,” Pennstate
College of Engineering.

[31] M. Aufiero, M. Brovchenko, A. Cammi, I. Clifford, O. Geoffroy, D. Heuer, A. Laureau, M. Losa, L. Luzzi,
E. Merle-Lucotte, M. E. Ricotti, and H. Rouch, “Calculating the effective delayed neutron fraction in
the molten salt fast reactor: Analytical, deterministic and monte carlo approaches,” Annals of Nuclear
Energy, vol. 65, pp. 78–90, 2014.
[32] X. Liu, P. Ming, W. Zhang, L. Fu, and L. Jing, “Finite-volume methods for anisotropic diffusion problems
on skewed meshes,” Numerical Heat Transfer, Part B: Fundamentals, vol. 68, no. 3, pp. 239–256, 2015.
[33] N. E. H. Yuan et al., ‘Spectral element applications in complex nuclear reactor geometries: Tet-to-
hex meshing’ and p. . F. . d. j. Design, vol. 357. Elsevier BV.
[34] S. Adams, “How residence time affects product quality in flow chemistry,” Stoli Chem, Case Study 01,
rev 13,.
[35] H. Rouch, O. Geoffroy, P. Rubiolo, A. Laureau, M. Brovchenko, D. Heuer, and E. Merle-Lucotte, “Pre-
liminary thermal–hydraulic core design of the molten salt fast reactor (msfr),” Annals of Nuclear Energy,
vol. 64, pp. 449–456, 2014.
[36] “Liquid metal thermal hydraulics,” Institution of Mechanical Engineers.

[37] Shi, Jun and Fratoni, Massimiliano, “Gen-foam model and benchmark of delayed neutron precursor drift
in the molten salt reactor experiment,” EPJ Web Conf., vol. 247, p. 06040, 2021.

50
REFERENCES REFERENCES

Appendix A
Here is the input file for the fluid fvSolution scheme in OpenFoam:

/∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\


========= |
\\ / F ield | OpenFOAM : The Open S o u r c e CFD T o o l b o x
\\ / O peration | Website : h t t p s : / / openfoam . o r g
\\ / A nd | Version : 6
\\/ M anipulation |
\∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/
FoamFile
{
version 2.0;
format ascii ;
class dictionary ;
location ” system ” ;
object fvSolution ;
}
// ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //

solvers
{
p rgh
{
solver GAMG;
smoother DIC ;
tolerance 1 e −4;
relTol 0;
}

p rghFinal
{
$p rgh ;
relTol 0;
}

” (U | T | k | e p s i l o n | h ) ”
{
solver PBiCGStab ;
preconditioner DILU ;
tolerance 1 e −8;
relTol 0;
}

” (U | T | k | e p s i l o n | h ) F i n a l ”
{
$T ;
relTol 0;
}
}

PIMPLE
{
correctUntilConvergence false ;
partialEliminationMode implicit ;
momentumMode faceCentered ;
nNonOrthogonalCorrectors 1 ; // nonOrhto a r o u n d 6 5 , p r e t t y h i g h

51
REFERENCES REFERENCES

nCorrectors 1;
nOuterCorrectors 50;

residualControl
{
U
{
tolerance 5 e −4;
relTol 0;
}
p
{
tolerance 5 e −4;
relTol 0;
}
}
}
// a d e t a i l e d e x p l a n a t i o n o f t h i s d i c t i o n a r y i s a v a i l a b l e i n t h i s
// same f v S o l u t i o n f i l e o f t h e 1 D b o i l i n g t u t o r i a l

relaxationFactors
{
equations
{
”.∗” 1.0;
}
}

// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
Here is the input file for the fvSchemes in OpenFoam
/∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\
========= |
\\ / F ield | OpenFOAM : The Open S o u r c e CFD T o o l b o x
\\ / O peration | Website : h t t p s : / / openfoam . o r g
\\ / A nd | Version : 6
\\/ M anipulation |
\∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/
FoamFile
{
version 2.0;
format ascii ;
class dictionary ;
location ” system ” ;
object fvSchemes ;
}
// ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //

// l o o k a t :
// h t t p s : / / c f d . d i r e c t / openfoam / u s e r −g u i d e / v6−f v s c h e m e s /
// f o r a good s t a r t i n g p o i n t on t h e f u n c t i o n o f t h e f v s h e c m e s
ddtSchemes
{
default Euler ;
}

52
REFERENCES REFERENCES

gradSchemes
{
default Gauss l i n e a r ;
g r a d (U) l e a s t S q u a r e s ; // b e t t e r f o r c o m p l ex nonOrhto meshes
// g r a d ( magSqr (U) ) Gauss l i n e a r ;
}

divSchemes
{
default none ;

d i v ( phi , alpha ) Gauss v a n L e e r ;


div ( phir , alpha ) Gauss v a n L e e r ;

” d i v \( p h i . ∗ ,U. ∗ \ ) ” Gauss vanLeer ;


” d i v ( a l p h a R h o P h i , U) ” Gauss upwind ; // s i g n i f i c a n t l y s l o w e r t h a n up
” d i v ( alphaRhoPhiNu , U) ” Gauss linear ;
” d i v ( a l p h a R h o P h i , K) ” Gauss upwind ;

” d i v \( alphaRhoPhi . ∗ , k . ∗ \ ) ” Gauss upwind ;


” d i v \( alphaRhoPhi . ∗ , e p s i l o n . ∗ \ ) ” Gauss upwind ;

” d i v \( alphaRhoPhi . ∗ , ( h | e ) . ∗ \ ) ” Gauss upwind ;


}

laplacianSchemes
{
default Gauss l i n e a r u n c o r r e c t e d ;
}

interpolationSchemes
{
default linear ;
}

snGradSchemes
{
default u n c o r r e c t e d ; // d e p e n d s on non−o r t h o .
}

// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //

53
REFERENCES REFERENCES

Appendix B
Here is given the output of ”checkMesh -allTopology -allGeometry” for the hexagonal elongated outer core
mesh:

// ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
Create time

C r e a t e mesh f o r t i m e = 0

E n a b l i n g a l l ( c e l l , f a c e , edge , p o i n t ) t o p o l o g y c h e c k s .

Enabling a l l geometry checks .

Time = 0

Mesh s t a t s
points : 65704
faces : 183274
internal faces : 162638
cells : 57666
faces per c e l l : 5.998543
boundary patches : 28
point zones : 0
face zones : 21
c e l l zones : 5

O v e r a l l number o f c e l l s o f e a c h t y p e :
hexahedra : 57582
prisms : 84
wedges : 0
pyramids : 0
t e t wedges : 0
tetrahedra : 0
polyhedra : 0

Checking topology . . .
Boundary d e f i n i t i o n OK.
C e l l t o f a c e a d d r e s s i n g OK.
P o i n t u s a g e OK.
Upper t r i a n g u l a r o r d e r i n g OK.
Face v e r t i c e s OK.
T o p o l o g i c a l c e l l z i p −up c h e c k OK.
Number o f i d e n t i c a l d u p l i c a t e f a c e s ( b a f f l e f a c e s ) : −
Face−f a c e c o n n e c t i v i t y OK.
<<W r i t i n g 4704 f a c e s w i t h non−s t a n d a r d edge c o n n e c t i v i t y t o s e t e d g e F a c e s
Number o f r e g i o n s : 1 (OK ) .

Checking patch topology f o r m u l t i p l y connected s u r f a c e s . . .


Patch Faces Points Surface topology
Bounding box
lowerPlenumInner − − ok ( non−c l o s e d s i n g l y c o n n e c t e d ) (− − −
(− − −)
...
<<W r i t i n g − c o n f l i c t i n g p o i n t s t o s e t n o n M a n i f o l d P o i n t s

54
REFERENCES REFERENCES

Checking b a s i c c e l l Z o n e a d d r e s s i n g . . .

Checking geometry . . .
O v e r a l l domain b o u n d i n g box −
Mesh h a s 3 g e o m e t r i c ( non−empty / wedge ) d i r e c t i o n s ( 1 1 1 )
Mesh h a s 3 s o l u t i o n ( non−empty ) d i r e c t i o n s ( 1 1 1 )
Boundary o p e n n e s s ( 5 . 2 0 9 2 3 5 e −18 −2.49628 e −17 −1.805481 e −18) OK.
Max c e l l o p e n n e s s = 3 . 0 7 4 8 5 4 e −16 OK.
Max a s p e c t r a t i o = 4 5 9 . 8 7 4 1 OK.
Minimum f a c e a r e a = 2 . 3 1 4 0 2 7 e −05. Maximum f a c e a r e a = 0 . 6 1 2 9 0 7 4 . Face a r e a m a g n i t u d
Min volume = 1 . 6 7 5 5 6 9 e −06. Max volume = 0 . 0 4 5 0 7 8 0 9 . T o t a l volume = 3 7 . 3 9 1 8 5 .
C e l l v o l u m e s OK.
Mesh non−o r t h o g o n a l i t y Max : 7 5 . 7 6 2 0 2 a v e r a g e : 1 4 . 5 5 0 4 2
∗Number o f s e v e r e l y non−o r t h o g o n a l (> 70 d e g r e e s ) f a c e s : 2 4 0 .
Non−o r t h o g o n a l i t y c h e c k OK.
<<W r i t i n g 240 non−o r t h o g o n a l f a c e s t o s e t n o n O r t h o F a c e s
Face p y r a m i d s OK.
Max s k e w n e s s = 2 . 7 2 4 4 1 OK.
C o u p l e d p o i n t l o c a t i o n match ( a v e r a g e 0 ) OK.
Face t e t s OK.
Min/max edge l e n g t h = 0 . 0 0 4 5 6 5 4 5 4 8 . 3 3 3 3 4 OK.
A l l a n g l e s i n f a c e s OK.
Face f l a t n e s s ( 1 = f l a t , 0 = b u t t e r f l y ) : min = 0 . 9 9 1 9 8 1 3 a v e r a g e = 0 . 9 9 9 9 5 9 3
A l l f a c e f l a t n e s s OK.
C e l l d e t e r m i n a n t ( w e l l p o s e d n e s s ) : minimum : 5 . 4 6 8 8 3 9 e −05 a v e r a g e : 0 . 5 9 1 5 8 0 7
∗∗∗ C e l l s w i t h s m a l l d e t e r m i n a n t (< 0 . 0 0 1 ) found , number o f c e l l s : 588
<<W r i t i n g 588 under −d e t e r m i n e d c e l l s t o s e t u n d e r d e t e r m i n e d C e l l s
Concave c e l l c h e c k OK.
Face i n t e r p o l a t i o n w e i g h t : minimum : 0 . 0 3 4 1 6 2 4 a v e r a g e : 0 . 4 8 5 8 0 9
∗∗∗ F a c e s w i t h s m a l l i n t e r p o l a t i o n w e i g h t (< 0 . 0 5 ) found , number o f f a c e s : 98
<<W r i t i n g 98 f a c e s w i t h low i n t e r p o l a t i o n w e i g h t s t o s e t l o w W e i g h t F a c e s
Face volume r a t i o : minimum : 0 . 0 3 5 2 1 9 7 7 a v e r a g e : 0 . 9 2 9 8 0 0 1
Face volume r a t i o c h e c k OK.

F a i l e d 2 mesh c h e c k s .

End

55
REFERENCES REFERENCES

Appendix C
The solution of Eq. 20 from Mathematica. dpdx represents dP
dx and Ztilt is the height (same as H):

2  4Hλµ  − 2λµ(H+2x)
πdpdx2 H r2 − R2 e dpdxr2 −dpdxR2 + 1 e dpdx(r2 −R2 )
2 (35)
π 2 dpdx2 (r2 − R2 ) + 16H 2 λ2 µ2

The solution of Eq. 19 from Mathematica:


   
 − 2λµ(H+2x) 2λµ(H+2x) 2λµ(H+2x)

dpdxH r2 − R2 e dpdx(r2 −R2 ) πdpdx r2 − R2 sin πx πx


  
H e dpdx(r2 −R2 ) + 1 + 4Hλµ cos H e dpdx(r2 −R2 )
2
π 2 dpdx2 (r2 − R2 ) + 16H 2 λ2 µ2
(36)
======
rv -1n rv -1n rv -1n
1 λ (Z +2 zv) 1- 1 λ Z 1- λ Z 1-
rv n R
rv n πZ R
πZ R

Umax Ztilt 1 - R
 ⅇ
-
2 Umax π Umax 1 -
R
 sin 2 Ztilt  ⅇ Umax + 1 + λ Ztilt cos
2 Ztilt
 ⅇ Umax -1

rv 2n
π 2 Umax2 1 -  + λ2 Ztilt2
R

Figure 56: Solution from Mathematica for the turbulent case past the core.

56
REFERENCES REFERENCES

Appendix D
0 < z < lc :       
πz πz
Dc (z) = a1 e −zµk
e zµk
lc µk sin − π cos +π (37)
lc lc

lc < z < lc + lup :


Dc (z) = πa1 e−zµk elc µk + 1 (38)


lc + lup < z < 2lc + lup


     
π (lup − z) π (lup − z)
−zµk
Dc (z) = a2 e µk (lc +lup )
πe +e zµk
lc µk sin + π cos (39)
lc lc

+πa1 e−zµk elc µk + 1




57

You might also like