Next Article in Journal
Is the Renewable Portfolio Standard in China Effective? Research on RPS Allocation Efficiency in Chinese Provinces Based on the Zero-Sum DEA Model
Previous Article in Journal
Mechanism of Electron Acceptor Promoting Propionic Acid Transformation in Anaerobic Fermentation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework

by
Vasileios Kyriakopoulos
1,
Mauricio E. Tano
2 and
Jean C. Ragusa
1,*
1
Department of Nuclear Engineering, 210 Animal Industries, Texas A&M University, College Station, TX 77843-3133, USA
2
Idaho National Laboratory, 2525 N Fremont Ave., Idaho Falls, ID 83415, USA
*
Author to whom correspondence should be addressed.
Submission received: 24 April 2022 / Revised: 9 May 2022 / Accepted: 23 May 2022 / Published: 27 May 2022
(This article belongs to the Section B4: Nuclear Energy)

Abstract

:
Subchannel codes have been widely used for thermal-hydraulics analyses in nuclear reactors. This paper details the development of a novel subchannel code within the Idaho National Laboratory’s (INL) Multi-physics Object Oriented Simulation Environment (MOOSE). MOOSE is a parallel computational framework targeted at the solution of systems of coupled, nonlinear partial differential equations, that often arise in the simulation of nuclear processes. As such, it includes codes/modules able to solve the multiple linear and nonlinear physics that describe a nuclear reactor, under normal operation conditions or accidents. This includes thermal-hydraulics, fuel performance, and neutronics codes, between others. A MOOSE-based subchannel code is a new addition to the fleet of INL-developed codes, based on the MOOSE framework. In this work, we present the derivation of the subchannel equations for a single-phase fluid, we proceed with the description of the algorithm that is used to solve these equations and describe how this algorithm was implemented within MOOSE. We also present how this code can be coupled to the BISON fuel performance code. Next, we verify the friction model and the turbulent mixing model. We calibrate the turbulent modeling parameters for momentum mixing and enthalpy mixing, C T , β . We validate the code using experimental results and last demonstrate the coupling capabilities using a simple example.

1. Introduction

Generation-IV reactors (Gen-IV) are a set of nuclear reactor designs currently being researched for commercial applications by the Generation-IV International Forum [1]. A plethora of new designs have been proposed, with a wide variety of configurations and physical attributes, e.g., neutron spectra, coolants, moderators, and relevant feedback mechanisms. The novel designs include: pebble bed reactors (PBRs) both of the high-temperature gas-cooled (HTGR) and fluoride-salt-cooled varieties, [2,3], prismatic HTGRs with hexagonal unit cells and cylindrical fuel slugs [4], micro-reactors (MRs) with annular fuel in hexagonal unit cells [5], hexagonal assembly fast [6], and mixed spectrum reactors [7], hexagonal [8,9], and plate fuel [10], nuclear thermal propulsion systems, and thermal [11], and fast open-pool type liquid fuel molten salt reactors (MSRs) [12,13]. The diversity of the reactor Gen-IV designs, necessitates modeling and simulation (M&S) software that permits flexible multi-physics capabilities.
MOOSE [14] is a Multi-physics Object Oriented Simulation Environment, a parallel computational framework targeted at the solution of coupled, nonlinear partial differential equations (PDEs) that often arise in simulation of nuclear processes. The main advantage of the MOOSE framework is that its a flexible finite element tool that leverages the multi-physics capabilities inherent in MOOSE. Gen-IV reactors present a significant challenge in their analysis due to their complexity, advanced performance and new design features. Developing novel nuclear reactor designs such as the Gen-IV and ensuring their safety under normal operating conditions, operational transients, anticipated operational occurrences, design basis accidents (DBA), etc., required the development of novel computational tools. These codes solve the various physics related to nuclear reactors. Neutronics, fuel performance, and thermal-hydraulics, form the primary set of physics that needs to be resolved.
Subchannel codes are thermal-hydraulic codes that offer an efficient compromise for the simulation of a nuclear reactor core, between CFD and system codes. They use a quasi-3D model formulation and allow for a finer mesh than system codes without the high computational cost of CFD. That is why thermal-hydraulic analysis of a nuclear reactor core is mainly performed using the subchannel type of codes. The safety margins and the operating power limits of the nuclear reactor core are considered as the key parameters for subchannel analysis [15]. The subchannel code is used to calculate: critical heat flux ratio (CHFR), critical power ratio (CPR), fuel center line temperature, fuel pin surface temperature, subchannel maximum temperature, bulk coolant outlet temperature [16] along with the distributions of mass flow, cross flow, pressure, enthalpy, temperature, density and viscosity inside the reactor core. CHFR, CPR and fuel center line temperature are the main parameters that limit the maximum operational power of a nuclear reactor [17]. Moorthi et al. [18], presents a comprehensive list of subchannel analysis codes. Among these codes, most prominent are the COBRA [19] type of codes which are the basis of many of the other codes. Other subchannel codes include START [20], MATRA [21,22], VIPRE [23,24,25], etc.
Since most of the nuclear reactors are designed based on the subchannel analysis codes, it is imperative to develop a subchannel code within MOOSE. A MOOSE-based subchannel code extends the area of impact for the fleet of INL developed codes based on the MOOSE framework. The advantage of the code we developed over other subchannel codes is that it is based on the MOOSE framework which means that the code naturally fits into the environment of all other codes and can be easily coupled to them. This subchannel code has been initially developed for water applications in square lattice arrangements, because of the high availability of water benchmarks. This gives us the opportunity to calibrate and validate the solver for various scenarios. Concurrently, it is also being developed for simulating sodium fast reactors (SFR’s) with liquid sodium coolant in a hexagonal lattice.

2. Methods

2.1. Subchannel Governing Equations

The subchannel thermal-hydraulic analysis is based on the conservation equations of mass, linear momentum and energy on the specified control volumes. We present the control volumes in Figure 1 [19,26].
The control volumes communicate in both axial and lateral directions to produce the three dimensional effect of the reactor core. The subchannel equations are derived when we integrate and average the conservation equations over the subchannel control volume V i excerpt for the lateral momentum equation which is integrated over control volume V i j . For a single-phase fluid we have:
  • Conservation of mass:
    d ρ i d t V i + Δ m i ˙ + j w i j = 0 ,
    where i is the sub-channel index and j the index of the neighbor subchannel. Δ refers to the difference between the inlet and outlet of the control volume in the axial direction. m i ˙ [kg/sec] is the mass flow rate of sub-channel i in the axial direction. ρ i is the density and w i j [kg/sec] is the diversion crossflow in the lateral direction from sub-channel i to neighboring subchannel j, resulting from local pressure differences between the two subchannels.
  • Conservation of linear momentum in the axial direction:
    d m ˙ i d t Δ Z + Δ ( m i ˙ 2 S i z ρ i ) + j w i j U * = S i Δ P i + F r i c t i o n i + D r a g i j g ρ i S i Δ Z .
    In the left hand side we retrieve the change of momentum in the axial direction Δ ( m i ˙ 2 S i z ρ i ) and the inertia transfer between subchannels due to diversion crossflow j w i j U * . U * is the axial velocity of the donor cell and g ρ i S i Δ Z represents gravity force, where g is the acceleration of gravity S i is the flow area and Δ Z the axial length of the control volume V i . We have assumed that gravity is the only significant body force in the momentum equation. The donor cell is the cell from which crossflow flows out of and depends on the sign of w i j . If it is positive the donor cell is i and if it is negative the donor cell is j. Henceforward, donor cell quantities will be denoted with the star ( * ) symbol. F r i c t i o n i is caused by fluid rod interface and possible local form loss coefficient due to spacers/mixing-vanes. D r a g i j is caused by viscous stresses within the fluid at the interface between subchannels. Δ P i is the axial pressure drop.
  • Conservation of linear momentum in the lateral direction:
    d w i j d t L i j + L i j Δ Z Δ ( w i j U ¯ i j ) = S i j Δ P i j + F r i c t i o n i j .
    Here, S i j = g i j Δ z is the lateral flow surface area between the subchannels i,j. g i j is the gap between subchannels. Lateral pressure gradient ( Δ P i j / L i j ) across the subchannels and/or forced mixing between subchannels owing to mixing vanes and spacer grids is the driving force behind diversion crossflow W i j . L i j is the distance between the centers of subchannels i,j. U ¯ i j is the average axial velocity of the two subchannels. The overall friction loss term F r i c t i o n i j absorbs all the viscous effects and form losses associated with momentum exchange between the fluid and the wall due to the fluid motion through the gap.
  • Conservation of enthalpy:
    d ρ h i d t V i + Δ ( m ˙ i h i ) + j w i j h * + h i j = q i Δ Z .
    For a single-phase liquid we can neglect dissipation due to viscous stresses and set the total derivative of pressure (work of pressure) to zero. We can also neglect the volumetric heat source due to moderation, since heat is mainly transferred to the fluid through the fuel rods surface. Here, we have defined h i j as the turbulent enthalpy transfer between sub-channels i,j, ϕ is the dissipation due to viscous stresses and q i is the average linear power [ kW m ] going into control volume of subchannel i from the fuel rods.

2.2. Closure Models

In this section we present the additional equations needed to close the system of the subchannel equations.
  • Axial direction friction term:
    F r i c t i o n i = 1 2 K i m ˙ i | m ˙ i | S i ρ i .
    where K i = [ f w D h y i Δ Z + k i ] is an overall axial loss coefficient encompassing concentrated form losses k i due to the changing of the flow area to due the narrow connecting gap and frictional losses f w D h y i Δ Z due to fluid/rod interaction. f w = 4 f is the Darcy friction factor, D h y i = 4 S i P w is the hydraulic diameter and k i the local form loss coefficient of subchannel i.
  • Lateral direction friction term:
    F r i c t i o n i j = 1 2 g i j Δ Z K i j ρ | u i j | u i j = 1 2 K i j w i j | w i j | S i j ρ * .
    where K i j is an overall loss coefficient, encompassing lateral concentrated form and friction losses. ρ * is the donor cell density.
  • Friction factor [22]:
    f w 1 64 , R e < 1 64 R e , 1 R e < 5000 0.316 R e 0.25 , 5000 R e < 30000 0.184 R e 0.20 , 30000 R e
  • Turbulent momentum transfer:
    D r a g i j = C T j w i j Δ U i j = C T j w i j [ m i ˙ ρ i S i m j ˙ ρ j S j ] .
    where C T is a turbulent modeling parameter.
  • Turbulent enthalpy transfer:
    h i j = j w i j Δ h i j = j w i j h i h j .
  • Turbulent crossflow:
    w i j = β S i j G ¯ , d w i j d z = w i j Δ Z = β g i j G ¯ .
    where β is the turbulent mixing parameter or thermal diffusion coefficient and G ¯ is the average mass flux of the adjacent subchannels. The β term is the tuning parameter for the mixing model. Physically, it is a non-dimensional coefficient that represents the ratio of the lateral mass flux due to mixing to the axial mass flux. In single-phase flow no net mass exchange occurs, both momentum and energy are exchanged between subchannels, and their rates of exchange are characterized in terms of hypothetical turbulent interchange flow rates ( w i j H , w i j M ) [26], for enthalpy and momentum, respectively. Simplifying for single-phase, we have made the approximation that the rate of turbulent exchange for energy and momentum are equal:
    w i j = w i j H = w i j M .
  • Equation of state:
    These are a set of equations relating the properties of the fluid, such as density and viscosity, to Enthalpy/Temperature and Pressure.
    T = T ( P , h ) .
    ρ = ρ ( T , P ) .
    μ = μ ( T , P ) .h

2.3. Algorithm

For the purposes of implementing a single-phase subchannel code within MOOSE, we developed a hybrid numerical method of solving the subchannel equations presented in the previous section. Hybrid in this context means that the user will have the option of solving portion of the domain at a time by dividing the domain into chunks or blocks as seen in Figure 2. NB is the total number of blocks and NC is the number of axial cells per block. For now, all blocks have the same size (same number of axial cells) but in the future we could allow for blocks of different sizes.
The core of the code is to construct a combined residual function based on the lateral momentum equation, Equation (15). To solve this equation we use a Jacobian Free Newton-Krylov type Method (JFNKM). The workhorse of our code is the non linear equation solvers (SNES) found in the Portable, Extensible Toolkit for Scientific Computation (PETSc) [27]. The SNES class includes methods for solving systems of nonlinear equations of the form: F ( x ) = 0 . PETSc’s default method for solving the nonlinear equation is Newton’s method. The general form of the n-dimensional Newton’s method becomes:
x k + 1 = x k J ( x k ) 1 F ( x k ) , k = 0 , 1 , ,
In practice, the Newton iteration (12) is implemented by the following two steps:
1 .   A p p r o x i m a t e l y s o l v e J ( x k ) Δ x k = F ( x k )
2 .   U p d a t e x k + 1 = x k + Δ x k
A JFNK method uses a Krylov method to solve the linear system (13), that appears in each Newton step. Key to a Newton type solver is the forming of the Jacobian matrix J . We usually prefer to approximate the Jacobian. One such approximate comes from “Picard linearization” which writes the nonlinear system as: F ( x ) = A ( x ) x b , where A ( x ) usually contains the lower-derivative parts of the equation. The Picard iterative procedure can be performed by defining J ( x ) to be A ( x ) . Sometimes this iteration exhibits better global convergence than Newton linearization. In a JFNK method such as the one we use here, we do not calculate the Jacobian, rather we approximate the action of the Jacobian on a vector: J ( u ) α F ( u + h α ) F ( u ) h
f ( w i j ) = d w i j d t L i j + L i j Δ z Δ ( w i j U ¯ i j ) S i j Δ P i j + 1 2 K i j w i j | w i j | ρ * = 0 .
The main unknown variable in this non linear residual is the crossflow w i j . The combined residual function that we created, calculates the non linear residual f ( w i j ) after it updates the other main flow variables, such as mass flow m ˙ i , turbulent crossflow w i j , pressure drop Δ P i and pressure P i through Equations (1), (2) and (10), using the current w i j as needed. So every time this function is called by the Newton solver the flow variables get updated. This means that as we solve the lateral momentum equation, at the same time we are solving for all the flow variables. Just as in COBRA [19], in this code as well, the variable P i is the local pressure minus the exit pressure, P i ( z ) P e x i t , so at the exit P i is zero.
Each block is solved sequentially from inlet to outlet. The mass flow at the outlet of the previous block and the pressure at the inlet of the next block provide the needed boundary conditions. The combined residual vector f ( w i j , k ) has a size equal to the number of gaps per level, times the number of axial levels in the block. Each block solution calculates all the unknowns that live in that block at the same time. By defining the number of blocks of the domain equal to one, the combined residual function includes all of the unknown variables in all axial levels. This way all the variables are tightly coupled and solved together at the same time. By defining the number of blocks equal to the number of axial cells, i.e., the size of the block to have one axial level, we retrieve a marching type scheme. By giving a value in between those two extremes, we can have a local tight coupling without paying the price of full scale coupling. Our hybrid scheme is shown in Figure 3.
Once the main flow variables converge in a block, the enthalpy conservation equation, Equation (4) is solved and we retrieve enthalpy ( h ) in all the nodes of the block (in the case where no heat is added to the fluid, the enthalpy does not need to be calculated unless we have a non-uniform enthalpy inlet distribution). Using enthalpy, pressure and the equations of state we can calculate the temperature T i and the fluid properties such as density ρ i and viscosity μ i . After we update the fluid properties, the procedure is repeated until the temperature solution has converged. Once the temperature solution converges we move on to the next block. Once the temperature solution converges in all blocks we check if pressure has converged in all blocks. If not, we repeat the procedure starting again from the first block, until pressure has converged.

3. MOOSE Integration

3.1. MOOSE Solution Method and Structure

MOOSE is a parallel computational framework targeted at the solution of systems of coupled, nonlinear partial differential equations (PDEs), that often arise in the simulation of nuclear systems [14]. In the case of individual physics, a MOOSE application solves for the variables of the system simultaneously using a JFNK scheme. In the multi-physics case, the user can opt to either add physics to the problem formulation and solve for the variables of the system simultaneously, or solve the individual physics separately and couple them via Picard iterations.
The MOOSE framework works on minimizing the residual of a system of PDEs at quadrature points of a finite element mesh using the JFNK method. Forming the Residual begins with writing a weak form of the specific set of PDEs. The weak form is derived from the governing equations by substituting the solution with a finite element expansion and multiplying with test/basis function ψ i . Then this weak form is integrated over the whole domain. Using integration by parts and the Gauss theorem produces the boundary conditions and other integrals all of which are called Kernels.

3.2. Subchannel Integration into MOOSE

Developing a subchannel application within the MOOSE computational framework posed a unique challenge. This is because MOOSE is a framework that works on minimizing a residual of partial differential equations at quadrature points of a finite element mesh, which is different to the standard subchannel integration approach. Specifically, we could not use the finite element problem context in MOOSE to solve the subchannel equations but we still had to inherit and make use of the entire finite element mesh, to make coupling to other applications as seamless as it is for other FEM-based solvers in MOOSE. This allows us to keep using the field transfers across different MOOSE applications and it was accomplished using the ExternalProblem class found in MOOSE.
ExternalProblem is an intermediate class that is used as an extension point (inheritance) for externally coupled codes (MOOSE-Wrapped Apps). To achieve the external coupling, this interface overrides the “solve” method along with a method for testing convergence of the last solve. The ExternalProblem object contains the extra interface function necessary for creating and maintaining current solution information on an “external” Mesh object. Specifically, the ExternalProblem creates a final override for the solve () method that triggers three different callbacks: syncSolutions (Direction::TO_EXTERNAL_APP); externalSolve (); syncSolutions (Direction::FROM_EXTERNAL_APP);
Because Subchannel is not based on a FEM-based solver, its field variables are not prime variables but auxiliary variables. Auxiliary variables are used to compute or store intermediate quantities that are not the main variables, the ones being solved for, of the equation system [28]. The prime/main unknowns are often referred to as nonlinear variables. On the other hand, “auxiliary” variables act, with respect to the interaction with other objects, the AuxKernels.
An AuxKernel [29] computes values that are stored in “Auxiliary Variables”. There is an infinite number of ways to generate these values but some common ones are: based on other variables/data in the simulation (i.e., coupled data), read from an external file and interpolated from a Function. The Auxiliary system is extremely flexible on purpose. The data values computed by AuxKernels and stored in Auxiliary Variables (AuxVariables) are often used for visualization (i.e., written to output files) but can also be coupled back into other calculations (including in Kernels) or provided as the input to other systems such as Postprocessors.
In order for MOOSE to understand which variables should be maintained on the ExternalMesh, another overridable method was created that is called during the problem setup to assist the adding the necessary AuxVariables to the simulation.

3.3. MOOSE MultiApp

The MOOSE framework was developed to simplify the creation of fully coupled, nonlinear, multi-physics applications. Here, “fully coupled” means that all of the coupled partial differential equations (PDEs) are solved simultaneously within one Newton-based step. Multiple MOOSE-based applications have been created this way over the years [30]. Each MOOSE-based application is made up of physics “modules” that define the PDEs to be solved. Multiple MOOSE-based applications can be stitched together to create applications that comprise the physics of the whole system [31]. Fully coupled multi-physics is useful for dealing with problems where the physics are strongly interacting, but not all multi-physics problems are (or need to be) fully coupled. Examples include loosely coupled systems with multiple time scales and codes which couple with external software.

3.4. BISON

BISON is a 3D finite element-based nuclear fuel performance code applicable to a variety of fuel forms including light water reactor fuel rods, TRISO particle fuel, and metallic rod and plate fuel. It is a multiphysics fuel analysis tool that solves fully-coupled thermomechanical problems. BISON is also based on the MOOSE framework [32] and implicitly solves coupled thermomechanical equations over the domain of a single fuel rod using the JFNK method [33]. The coupling of Subchannel and BISON, and potentially a newtronics code will provide a multi-physics framework for a full reactor core analysis. The BISON governing equations consist of fully-coupled partial differential equations for energy, species, and momentum conservation. The energy balance is given in terms of the heat conduction Equation (16).
ρ C p T t + · q E f F ˙ = 0 ,
where T , ρ and C p are the temperature, density and specific heat, respectively, E f is the energy released in a single fission event, and F ˙ is the volumetric fission rate. The product gives the volumetric heat source. The heat flux is given in Equation (17)
q = k T ,
where k denotes the thermal conductivity of the material. F ˙ can be an input from a separate neutronics calculation (such as RATTLESNAKE or GRIFFIN), or computed based on rod average power and axial profile data.

3.5. Coupling Subchannel with BISON

Coupling between Subchannel and BISON is achieved through the MOOSE MultiApp system. Subchannel is the main app and BISON is the MultiApp. In this coupling Subchannel calculates an average pin surface temperature and the transfer system sends it to a BISON instance as a Dirichlet boundary condition. We have the same number of MultiApps as number of pins we want to simulate. To calculate the pin surface temperature, we have to calculate the Prandtl, Reynolds and Nusselt number, because the heat transfer can be described by the Dittus-Boelter equation, which is:
N u = 0.023 R e 0.8 P r 0.4 , 0.6 P r 160 , R e > 10000 .
where N u is the Nusselt number, R e is the Reynolds number and P r is the Prandtl number. To calculate the Prandtl number, we need to know the following fluid properties:
  • The thermal conductivity of the fluid k [ W mK ]
  • The dynamic viscosity of the fluid μ [ N sec m 2 ]
  • The specific heat C p [ Kj K g K ]
P r = μ C p k .
To calculate the Reynolds number we need to know the following quantities:
  • The hydraulic diameter of the subchannel D h [ m ] which in turn depends on:
    Pitch P [ m ]
    Pin Diameter D [ m ]
  • The dynamic viscosity of the fluid μ [ N sec m 2 ]
  • The fluid density ρ [ Kg m 3 ]
  • The fluid velocity V [ m sec ]
R e = ρ V D h μ .
The convective heat transfer coefficient, h [ KW m 2 K ] , is given directly by the definition of Nusselt number:
N u = h D h k h = N u k D h
Finally, we can calculate the pin surface temperature T p i n [ K ] , simply using the Newton’s Law of Cooling:
q = h ( T p i n T b u l k ) q = π D h ( T p i n T b u l k ) T p i n = q π D h + T b u l k .
Because each pin is in contact with four subchannels the above calculation is repeated four times and the final result is taken to be the arithmetic mean. The averaged value of T p i n is given as a Dirichlet boundary condition to BISON.
Each pin solution requires one BISON instance. Each BISON instance is considered to be one MultiApp. BISON uses a 2D azimuthally symmetric (RZ) model and calculates heat conduction. After BISON solves for temperature it calculates the linear heat rate at the surface using the following equation:
q = π D q = π D k d T d x .
The kernel that calculates this quantity is derived from MOOSE DiffusionFluxAux Kernel. The DiffusionFluxAux AuxKernel is used to compute the flux vector for diffusion problems. The flux is computed as J = D C X , where J is the diffusion flux vector, D is the diffusivity or diffusion coefficient, C is the concentration variable, and X is the coordinate. After the BISON calculation is complete, the linear heat flux is passed on to subchannel and the calculations are repeated via a Picard iteration. The data transfer between the two codes that allows the coupling is shown in Figure 4.
It should be noted that because the field variables of the Subchannel application are auxiliary variables and not primary variables, the calculation of a non-linear residual for Picard iterations is not possible for now. We can nevertheless by-pass this hurdle, by manually defining the number of Picard iterations. In a way we high-jack the Picard iteration interface in MOOSE to achieve the coupling. For the simple demonstration example presented in this paper one data exchange is enough for convergence.
Because the Subchannel mesh is 3-D and exists on dimensions, while the BISON model is 2-D and exists on the x-y plane, the meshes don’t align and special care had to be taken in order to accurately transfer the coupled quantities. This was accomplished by using the MOOSE NearestPointLayeredAverage, LayeredSideAverage and MultiAppUserObjectTransfer2 objects. The first object computes averages of a variable storing partial sums for the specified number of intervals in a direction (x, y, z). Given a list of points this object computes the layered average closest to each one of those points. Similarly the second object computes side averages of a variable. MultiAppUserObjectTransfer2 inherits from MultiAppUserObjectTransfer2 and takes care of transferring variables on possibly different meshes while conserving a user defined property of each variable. This object swaps the y- and z-coordinate, so we can map the subchannel solution on a RZ-mesh of a heating pin.

4. Results

4.1. Verification

In this section we present the verification of the friction model and the verification of the turbulent mixing model. The problems discussed are chosen such that they isolate the specific physics in question and are the same used in the CTF Void drift Validation study [34]. The problem geometry is presented in Figure 5.

4.1.1. Two-Channel Friction Model Verification

In this case, we want to study a problem where the effects of friction are clearly discernible. We know that crossflow in the single-phase case is driven by a lateral pressure gradient and turbulence. By deactivating turbulence in our test model case, crossflow can only be the result of lateral pressure imbalance; which for a model with no form losses (spacer grids), can only be driven by unequal frictional losses. Friction loss depends on the hydraulic diameter, so it makes sense to devise a two-channel problem, with channels that have an unequal flow area.
Channel-2 has double the hydraulic diameter of Channel-1. The length of the model is set to 10 m to allow the flow to fully develop. A sketch of the two-channel problem is shown in Figure 5a. The different frictional pressure drops create a lateral pressure gradient that drives flow from the small channel to the large channel. Moving up the channels, velocity decreases in Channel-1, which decreases the frictional pressure drop. At the same time, velocity grows larger in Channel-2, which increases frictional pressure drop. This continues until the frictional pressure drop is the same in both channels, at which point crossflow between the two channels ceases. At this point, the channels are in mechanical equilibrium. An analytical expression is derived for the flow distribution at the point of mechanical equilibrium.
m ˙ i n = m ˙ 2 1 + D h , 2 D h , 1 C 2 1 C 2 + 2 A 1 A 2 .
where m i n is the mass flow at the inlet m 1 , m 2 are the mass flows of the two channels at equilibrium, D h , 2 , D h , 1 the hydraulic diameters, A 1 , A 2 the flow surface areas and C 2 is a friction modeling parameter when we define the friction factor: f = C 1 R e C 2 as a function of Reynolds number. We can compare the analytical prediction with the code results in Figure 6a. The code converges to the analytical prediction.

4.1.2. Turbulent Mixing Verification

In this case, we want to study a problem where the effects of turbulence are clearly discernible. Turbulence causes both momentum and enthalpy mixing through the terms:
D r a g i j = C T j w i j Δ U i j ,
h i j = j w i j Δ h i j .
Because the models for turbulent mixing are gradient-driven based on Δ h , Δ U , in order to observe the effects of turbulence, it is necessary to make a gradient in either enthalpy or velocity. It is easier, to focus on the energy equation and deactivate the density calculation. The problem geometry consists of two identical channels connected by a gap and is seen in Figure 5b. To test the turbulent mixing model, the temperature of one channel is raised by 10 degrees Celsius. Turbulent enthalpy mixing will transfer heat from the one channel to the other. The solution given by the code is then compared to the analytical solution.
h 1 = ( h 1 , i n + h 2 , i n ) 2 1 2 ( h 2 , i n h 1 , i n ) exp ( 2 d w 12 d z m ˙ z )
h 2 = ( h 1 , i n + h 2 , i n ) 2 + 1 2 ( h 2 , i n h 1 , i n ) exp ( 2 d w 12 d z m ˙ z )
where h 1 , i n , h 2 , i n are the enthalpies at the inlet of the two channels and d w 12 d z is the turbulent crossflow between the two channels per unit length. We see that the code prediction and the analytical solution are in good agreement in Figure 6b. The maximum absolute error is calculated to be E r r o r m a x = 0.2450969285540623 kj / kg and the maximum relative error E r r o r r e l a t i v e , m a x = 0.0002814742382126506 .

4.2. Calibration

In the governing equations, Equations (8) and (10), we have introduced the turbulent modeling parameter C T and the turbulent diffusion coefficient β . In this chapter we calibrate these parameters using appropriate experimental data.

4.2.1. Turbulent Diffusion Coefficient β

The 2 × 3 facility is an air-water facility that was operated by Kumamoto university. The purpose was to quantify the effects of mixing and void drift [35]. In these experiments, the turbulent mixing rates and the fluctuations of static pressure difference between subchannels were measured. The author derived a way to use the die concentration measurements, in order to calculate the turbulent mixing rates ( w i j ) between subchannels [36].
The experimental results are presented through the dimensionless number W i j d z μ versus R e i j , where R e i j = ρ u i j D h , i j μ and u i j = u i A i + u j A j A i + A j . Here, u and A are the mean velocity and the cross-sectional areas, the subscription i , j indicate the subchannel index, ρ , μ are the density and viscosity of the fluid. Lastly, D h , i j is the hydraulic diameter of an imaginary channel with subchannels: i , j . By changing the parameter β and deactivating momentum diffusion we see that the experimental results are bounded by values of β = 0.004 , β = 0.009 as seen in Figure 7a,b.
Plotting the L 2 norm of the difference between code prediction and experimental results, as well as the sum of the absolute difference between code prediction and experimental results, versus the parameter β , we get Figure 7d. A mixing coefficient of 0.006 leads to the least amount of error. Figure 7c presents the code prediction vs. the experimental results for the value of the optimum parameter β = 0.006 . It is important to note, that the mixing coefficient is simply a tuning parameter that depends on the actual geometry of the specific facility being modeled. The Kumamoto facility is not an exact representation of a PWR, nevertheless this study is useful for demonstrating that the code is capable of predicting the correct mixing rate, if β is calibrated accordingly [34].

4.2.2. Turbulent Modeling Parameter C T

After calibrating the turbulent diffusion coefficient β we turned our attention to the turbulent modeling parameter C T . This is a tuning parameter that informs on how much momentum is transferred/diffused between subchannels, due to turbulence. The CNEN 4 × 4 test [37] performed at Studsvik laboratory for studying the flow mixing effect between adjacent subchannels was chosen to tune this parameter. This experiment consists in velocity and temperature measurements taken at the outlet of a 16-rod assembly test section. Analysis of the velocity distribution at the exit of the assembly can be used to calibrate the turbulent parameter C T .
For mass-flux = 5425.20 [ kg m 2 s ] we plot the code predictions along with the experimental results in Figure 8a,b. A value of C T = 0 deactivates the turbulent momentum diffusion. For this case, flow redistribution within the assembly will be the result of unequal friction losses, due to the unequal flow areas of the subchannels. Flow tends to get transferred from the smaller channels to the larger ones. It is evident, judging by Figure 8a, that the friction model alone, is not enough, for the code to predict the correct flow redistribution. We can see in Figure 8a that for this value of the modeling parameter, velocity redistribution is overestimated.
This is not unexpected, because turbulent momentum diffusion counteracts the effect of friction. We know that turbulence tends to flatten velocity profiles and transfer momentum towards the wall, while we have already seen that friction transfers momentum towards the center. A value of C T = 3 enables the turbulent diffusion model. We can see in Figure 8b that for this value of the modeling parameter, velocity redistribution is underestimated. We can therefore ascertain that the optimum value for C T will be between 0–3.
Another point we should note is the effect of the spacer grid in the middle of the assembly. The test section was fitted with a grid of low form coefficient (k = 0.3), intended to maintain the alignment of the rods [37]. The effect of the spacer grid is felt through the pressure drop calculation. The form coefficient raises the pressure drop in middle of the assembly which in turn raises the local pressure. Because the pressure drop is a function of velocity squared, pressure drop is higher for the channels with higher velocity, meaning the larger channels vs. the smaller ones. That means that locally flow will be transferred from the larger channel to the smaller one and that is exactly what we see in the figures. We plot the absolute average error in the exit velocity prediction vs. C T in Figure 8d. We deduce that the optimum value for the modeling parameter is C T = 2.6 . The code calculation using the optimum value is shown in Figure 8c.

4.3. Validation

4.3.1. Validation (PSBT 5 × 5 )

The PSBT 5 × 5 benchmark is an international benchmark developed by the Organisation for Economic Co-operation and Development (OECD), the Nuclear Regulatory Commission (NRC), and the Nuclear Power Engineering Center (NUPEC) [38]. In this work, we utilize the steady-state mixing test, detailed in volume III of the PSBT benchmark [39]. The purpose of this test is to validate/tune the mixing models of the participating codes. The participating codes predict the fluid temperature distribution at the exit of the heated section of a rod bundle assembly and compare it with the experimental values provided by the benchmark. The rod bundle geometry description is presented in Table 1 (reprinted from [39]).
The rod bundle has a lateral power profile in which the right side of the assembly is under-heated. The radial power profile is shown in Figure 9. The rods on the left side transfer 100% of available rod power to the fluid, while the rods on the right transfer 25%. This causes an uneven temperature distribution at the exit of the assembly. The linear heat rate of the rods is uniform.
Note that the turbulent mixing parameter used for all the cases was: β = 0.08 , which differs significantly from the value of β = 0.006 that we estimated to be the optimum value in Section 4.2.1. Looking at the temperature profile in Figure 10b we see that β = 0.006 severely underestimates the enthalpy diffusion in comparison to the experimental results. So clearly β had to to be adjusted to a much higher value. That value was adopted from [40] and produces code predictions that are in a much better agreement with the experimental results.
The reason behind the need to adjust β to a much higher value, has to do with the geometry of the PSBT facility. Note that there is a preferential mixing direction of the experimental results in the diagonal direction (towards one corner of the assembly), exhibited in Figure 10b, while the code results for both values of β are symmetric on axis x as expected. The experimental results exhibit a non symmetric distribution that we cannot capture with a constant value of β . There is a temperature gradient towards the corner due to an additional mixing effect, which may reduce the exit temperature differences between subchannels and finally lead to an increase of the value of the optimum β [40].
The reason for the additional mixing effect is thought to be the special mixing vanes that the NUPEC facility incorporates in its design. Specifically, the temperature gradient appearing in the experimental data was attributed to the thermal mixing in the diagonal direction of the test bundle, which may be caused by the alignment of mixing vanes mounted in the spacer grids [40]. This is the physical reason behind the need to use an increased value of β = 0.08 .
This illustrates the fact that modeling parameters such as β should ideally be calibrated for specific geometries and in no way can they be applied generally without proper justification. Nevertheless our results show that, provided we choose the optimum parameters adjusted for the specific geometries, we can accurately predict the exit temperatures. Figure 11 presents the cumulative mean absolute error in the exit temperature in comparison with other subchannel codes [39]. We note that for the temperature mixing test, our code performs adequately in comparison to the other codes. Our mean absolute error is calculated to be E r r o r = 2.176 which places us in 5th place out of the nine codes.

4.3.2. Validation (PNL 2 × 6 )

The PNNL 2 × 6 benchmark [41] was performed at Pacific Northwest National Laboratory in 1977 for investigating the buoyancy effect in the mixed (combined free and forced) convection regime for specific flow coast-down transients. The objective of the study was to develop an understanding of the thermal hydraulic phenomena at low flows in a rod bundle subjected to non-uniform lateral power distributions. The study was performed using a non-uniformly electrically heated 2 × 6 rod bundle contained in a flow housing.
Local fluid velocity and temperature measurements were obtained. This benchmark allows us to validate the subchannel code in natural/forced convection conditions not tested until this point. For each of the test conditions of this study, fluid axial velocity and temperature (both local and bulk average at the inlet and outlet) were measured within the heated length of the rod bundle. For the cases presented here, velocity measurements were made along the X axis at Y = 0.0 which is the centerline of the central subchannels. Velocity data were recorded at selected points along this line. Cases 5, 9 and 13 where chosen to test the code. Case 5 was chosen to demonstrate the transient capability of the code, while cases 9, 13 where chosen to demonstrate the code behaviour in a buoyancy driven scenario. The measuring point in case 5 was the center of the central subchannel at an axial location equal to 0.125× the active length of the rod bundle. The nominal run conditions for these cases are shown in Table 2.
The code results vs. the experimental results are shown in Figure 12a–c. The code predicted average values in all three cases are lower than the measured centerline experimental values. That is because the experimental results are point-wise instantaneous velocity measurements and the code results are the surface averaged velocities in each subchannel. The experimental maximum values measured at the subchannel centers are less than the analytically predicted value of U m a x = 2 × U a v e r a g e for laminar flow inside a circular pipe. This happens because even though subchannel codes treat subchannels as equivalent to pipes, we also include a version of turbulence modeling and crossflow which tend to flatten the velocity profiles. In turbulent flows momentum is transferred towards the wall region, hence the maximum velocity in turbulent profile is less than that in the laminar case.
Furthermore we notice that in the case where the power ratio is reduced (case 13 vs. case 9), the velocity profile gets more flat. and the code prediction does indeed follow that trend. This happens because buoyancy effects are more pronounced when we have more extreme gradients in heat rate. In all cases, our results follow the trend of the experimental results. Our results are therefore consistent with what we physically expect to see and what is experimentally measured. Lastly, it should be noted that the initial bump in the code prediction in Figure 12c relates to the time required for the boundary condition information to reach the point of the measurement downstream.
In both validation problems and in all other instances of running the code we have observed rapid convergence of the non-linear iterations.

4.4. 4 × 4 Sub-Assembly Coupling Example

In this section we present an example of Subchannel/BISON coupling, with a geometry typical for an LWR. For this purpose we are going to use the SmearedPelletMeshGenerator class provided by BISON. This class creates a 2D-RZ axisymmetric mesh of a fuel rod. More specifically, it generates a smeared pellet mesh for use in simulating fuel rods with pellet fuel. In a smeared mesh, the fuel stack is treated as a single rectangle of fuel (i.e., dishes and chamfers are not included).
This geometry includes an unmeshed gap between the fuel and the cladding. To model the heat transfer through the gap we use the GapHeatTransferLWR object [42]. The gap conductivity in this case is computed based on the gases in the gap. For the example presented here, conduction through radiation and through contact is neglected.In BISON the heat transfer coefficient in the gap through the gases h g is modelled using the form proposed by Ross and Stoute (1962) [43].
h g = k g ( T g ) d g + C r ( r 1 + r 2 ) + g 1 + g 2 ,
where k g is the conductivity of the gas in the gap, d g is the gap width, C r is a roughness coefficient, r 1 and r 2 are roughnesses of the surfaces, and g 1 and g 2 are jump distances, which become important for small gap widths and low gas pressures. The jump distances provide a reduction in gap conductance when the mean free path of the gas molecules is significant in comparison to the gap width, and the continuum approximation is no longer valid. The gas temperature T g is the average of the two surfaces.
The fuel and the cladding are modeled using the BISON UO2Thermal and ZryThermal objects, respectively [44,45]. The geometry of the demonstration problem is based on typical PWR specifications and the layout of the rod bundle is shown in Figure 13. There are 16 non-uniform heated rods and 25 subchannels. All general specifications can be found in Table 3 adjusted from [46]. We have 36 axial cells in subchannel, 1000 layers in the averaged objects and 100 axial cells in the cladding and fuel pellet in the BISON model.
The user has the option to provide a power profile both in the lateral direction (power per pin) as well as in the axial direction (volumetric heat rate in fuel region of the pin (BISON)/linear heat rate in the surface of the pin (subchannel)). The lateral power distribution of the pins is shown the in Table 4. The coldest subchannel is 5 and the coldest pin is 4. The hottest subchannel is 21 and the hottest pin is 13. We use BISON to model the two corner pins (4, 13). In a standalone application the power distribution data is provided directly to the subchannel code by defining a linear heat rate per pin. In this coupling scenario, the power distribution data is provided to BISON for the two pins that are simulated by BISON and to subchannel for the rest of the pins.
In addition, the energy deposition from the fuel region of the pin is not uniform in the axial direction. As a simple approximation, the axial power distribution follows the cosine function with the peak energy deposition occurring halfway along the active fuel length. This also has a direct effect on the temperature profiles inside the cladding material. The linear heat rate of the pin surface is given by.
q p i n ( z ) = q p i n ¯ π 2 s i n ( π z L ) .
where q p i n ¯ is the average linear heat rate per pin and L is the active pin length. The pin power profile for the hot/cold Pin is shown in Figure 14.
We run the subchannel code and plot the subchannel and pin surface temperature fields in Figure 15a,b. We plot cross-sections of the temperature field in Figure 16. We plot the axial temperature profiles for the hot and cold corner (pin and subchannel) in Figure 17a. We plot the center-line axial temperature calculated in BISON for the hot and cold pin in Figure 17b and the radial temperature profile at z = 2.4 m in Figure 17c. The axial temperature profile is affected by the pin power profile which has a sinusoidal shape. The subchannel code can calculate the flow variables such as bulk fluid temperature and use that to compute pin surface temperature. The fuel performance code BISON solves heat conduction within the pin and calculates the temperature distribution. The purpose of this demonstration is to showcase the capabilities of the subchannel code within a multi-physics context in MOOSE. No additional wrapper was needed to be developed to accomplish this coupling.

5. Conclusions and Future Work

5.1. Summary of This Effort

Gen-IV reactors present a significant challenge in their analysis due to their complexity, advanced performance and new design features. The diversity of the reactor Gen-IV designs, proposed by the industry in recent years, necessitates M&S software that permits flexible multi-physics capabilities. Multi-physics tools such as MOOSE, were developed for the solution of systems of coupled PDEs, that often arise in the simulation of nuclear systems.
Subchannel codes offer an efficient compromise for the simulation of a nuclear reactor core, between CFD and system codes. They use a quasi-3D model formulation and allow for a finer mesh than system codes without the high computational cost of CFD. That is why thermal-hydraulic analysis of a nuclear reactor core is mainly performed using the subchannel type of codes to estimate the various thermal-hydraulic safety margins and the various quantities of interest.
Since most of the nuclear reactors are designed based on the subchannel analysis codes, it is imperative to develop a subchannel code within MOOSE. A MOOSE-based subchannel code is a new addition the fleet of INL developed codes based on the MOOSE framework. The advantage over other subchannel codes is that it fits naturally into the MOOSE family of codes and can be easily coupled to them. This work presents the development of a single-phase, transient subchannel code, within the MOOSE computational framework, including validation and verification and demonstration of multi-physics coupling.

5.2. Future Work

We conclude this presentation by reflecting on possible ways to improve and expand on this effort. We can summarize future work as follows:

5.2.1. Re-Circulation

Subchannel cannot calculate negative mass flows in the axial direction. For this reason we cannot capture recirculation phenomena in cases where we have the formation of eddies due to high forced convection and low flow conditions, such as those seen in [41], or due to blockages in the flow path such as those seen in [47]. Possible accident scenarios that could produce these types of flow effects could be the loss of power in a large part of the core, or pin swelling and pin rupture in the middle of the core. In order to deal with these kinds of scenarios we would have to edit the subchannel equations to allow for back flow, make use of a staggered velocity-pressure grid and assign fluid properties appropriately on the correct node, according to the sign of mass flow.

5.2.2. Two-Phase Flow

Subchannel is a single-phase code. It cannot calculate fluid quality hence it is not applicable to BWR’s or in cases where we have a second phase in part of the coolant. A two phase capability is important in order to predict CHF or DNB. These are parameters of great importance, which constrain the thermal power capability of an LWR. In order to add a two phase capability we would need add equations so that we could translate the mixture variables the subchannel code solves for, into the two separate phase variables (gas/liquid), that describe the two-phase conditions:
  • One equation that relates the mass flow of the mixture with the mass flow of the phases and the volume fraction of the phases.
  • One equation that relates the flow quality with the mass flow of the mixture and the mass flow of the phases.
  • One equation that relates the density of the mixture with the density of the phases.
  • One equation that relates the velocity of the mixture with the velocity of the phases.
  • Equations of state for the two fluids.
The OECD/NRC PSBT benchmark [38] consists of two separate phases: a void distribution benchmark and a DNB benchmark, that can be used to validate a two-phase subchannel code for based on a PWR. Similarly the OECD/NRC BFBT benchmark [48] consists of two phases as well: Phase I—Void Distribution Benchmark, Phase II—Critical Power Benchmark, that can be used to validate a two-phase subchannel code for based on a BWR.

5.2.3. Hexagonal Lattice

Subchannel code is based on a square lattice geometry. Gen-IV SFRs have the fuel placed in hexagonal assemblies. Efforts are currently been made jointly by both INL and Argonne, to expand the code capabilities in order to model SFR’s. For this purpose the mapping of the has been re-figured to accommodate the hexagonal lattice. The fluid properties of the coolant changed to that of liquid sodium. The effect of the wire wrap needs added, both in the axial pressure drop calculation and the mixing model. Finally heat conduction within the fluid is taken into consideration and included in the energy conservation equation. To confirm the prediction capability of the SFR version of the code, calculations and comparisons with available experimental data of 19-, 37-pin and 127- pin sub-assemblies can be performed [49]. The validation of the code can also make use with Oak Ridge National Laboratory (ORNL) 19 pin tests [50]. The temperature profiles at the end of the heated length for low and high power cases can be compared between experimental results and other codes [51].

5.2.4. Expand Multi-Physics Scope

The subchannel code has been coupled to BISON which is a fuel performance code. In this coupling scheme, subchannel calculates the pin surface temperature and sends that to BISON. BISON calculates heat conduction within the pin and gives back linear heat rate to subchannel. A more complete model would have to include neutronics calculations. This new effort would be similar to what the Virtual Environment for Reactor Applications (VERA) [52,53] is designed to do.
VERA has been developed by the Consortium for Advanced Simulation of Light Water Reactors over the past 12 years to address difficult problems facing commercial light water reactors. At the core of VERA is the VERA core simulator (VERA-CS), composed of the MPACT neutron transport code [54,55] the CTF subchannel thermal-hydraulics (TH) code [56] and the ORIGEN depletion code from the SCALE package [57]. In addition to the core simulator, other codes are available for more specific analyses, such as the BISON fuel performance code [32,58] and the MAMBA coolant chemistry code [59]. In the most general model we would have three main codes coupled together. Neutronics, fuel performance and a thermal-hydraulics code:
  • NEUTRONICS. A neutronics code would generate cross sections, calculate the scalar flux and compute the heat deposition in the fuel and coolant/moderator. The data transfer to the fuel performance code would include fission rate density, power density, and fast neutron flux.
  • FUEL PERFORMANCE. A fuel performance code would use the flux/power information to calculate burnup in the fuel along with heat conduction and nuclide inventory. The data transfer to the neutronics code would include temperature, to be used for updating the cross sections. The local temperature and density conditions are used to update the macroscopic cross sections in both the pins and the moderator/coolant.
  • THERMAL-HYDRAULICS. A subchannel code would calculate subchannel bulk temperature. It would give that information to the fuel performance code and the neutronics code, while it would receive axial heat rate from the fuel performance code and a volumetric heat rate from the neutronics code.
The objectives VERA was to designed to accomplish will be achieved entirely within the MOOSE framework. With GRIFFIN being the neutronics code, BISON being the fuel performance code and Subchannel being the thermal-hydraulics code. This way there would be no other need for external codes/wrappers to deal with the coupling and data transfers, as for example is the case with the Lightweight Integrating Multi-physics Environment (LIME) problem manager [52,60]. LIME [61,62] was used as the initial basis for non-invasive (e.g., black-box) coupling of capabilities in VERA. It was specifically designed for integration of existing components that solve different phenomena of a multi-physics problem. The next logical step would be a full core analysis using the framework described above. The CASL challenge problems [63] or the NuScale core design [64] would be ideal cases to test the codes.

Author Contributions

Conceptualization, V.K., M.E.T. and J.C.R.; methodology, M.E.T.; software, V.K.; validation, V.K.; formal analysis, V.K.; investigation, V.K. and M.E.T.; resources, J.C.R.; writing—original draft preparation, V.K.; writing—review and editing, M.E.T. and J.C.R.; visualization, V.K.; supervision, J.C.R.; funding acquisition, J.C.R. All authors have read and agreed to the published version of the manuscript.

Funding

This manuscript has been authored by a contractor of the U.S. Government under Contract DE-AC07-05ID14517. Accordingly, the U.S. Government retains a non-exclusive, royalty-free license to publish or reproduce the published form of this contribution, or allow others to do so, for U.S. Government purposes.

Data Availability Statement

All data generated in the present study is available in the current article.

Acknowledgments

The authors would like to acknowledge the important contribution of Idaho National Laboratory and, specifically, David Andrs, for his invaluable advise and insight in the development of this work.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Locatelli, G.; Mancini, M.; Todeschini, N. Generation IV nuclear reactors: Current status and future prospects. Energy Policy 2013, 61, 1503–1520. [Google Scholar] [CrossRef]
  2. Kadak, A.C. A future for nuclear energy: Pebble bed reactors. Int. J. Crit. Infrastruct. 2005, 1, 330–345. [Google Scholar] [CrossRef] [Green Version]
  3. Andreades, C.; Cisneros, A.T.; Choi, J.K.; Chong, A.Y.; Fratoni, M.; Hong, S.; Huddar, L.R.; Huff, K.D.; Kendrick, J.; Krumwiede, D.L.; et al. Design summary of the mark-I pebble-bed, fluoride salt–cooled, high-temperature reactor commercial power plant. Nucl. Technol. 2016, 195, 223–238. [Google Scholar] [CrossRef] [Green Version]
  4. Chandrasekaran, S.; Garimella, S. Steady-State Thermal-Hydraulic Model for Fluoride-Salt-Cooled Small Modular High-Temperature Reactors. Nucl. Technol. 2020, 206, 1698–1720. [Google Scholar] [CrossRef]
  5. Sterbentz, J.W.; Werner, J.E.; Hummel, A.J.; Kennedy, J.C.; O’Brien, R.C.; Dion, A.M.; Wright, R.N.; Ananth, K.P. Preliminary Assessment of Two Alternative Core Design Concepts for the Special Purpose Reactor; Technical Report; Idaho National Lab. (INL): Idaho Falls, ID, USA, 2017.
  6. Abou Jaoude, A.; Yoon, S.J.; Bays, S.E. MCNP and CFD Modeling of a Sodium Fast Reactor Sub-Assembly Channel to Capture Localized Temperature Peaking; Technical Report; Idaho National Lab. (INL): Idaho Falls, ID, USA, 2019.
  7. Abou-Jaoude, A.; Stauff, N.; Erickson, A. Performance and safety evaluation of a mixed-spectrum reactor design. Ann. Nucl. Energy 2019, 126, 33–42. [Google Scholar] [CrossRef]
  8. Sessim, M.; Tonks, M.R. Multiscale simulations of thermal transport in W-UO2 CERMET Fuel for nuclear thermal propulsion. Nucl. Technol. 2021, 207, 1004–1014. [Google Scholar] [CrossRef]
  9. Haslett, R. Space Nuclear Thermal Propulsion Program; Technical Report; Grumman Aerospace Corp Bethpage: New York, NY, USA, 1995. [Google Scholar]
  10. Youinou, G.J.; Lin, C.S.; Abou Jaoude, A.; Jesse, C.J. Nuclear Thermal Propulsion Scoping Analysis of Fuel Plate Core Configurations; Technical Report; Idaho National Lab. (INL): Idaho Falls, ID, USA, 2020.
  11. Haubenreich, P.N.; Engel, J. Experience with the molten-salt reactor experiment. Nucl. Appl. Technol. 1970, 8, 118–136. [Google Scholar] [CrossRef]
  12. Altahhan, M.; Bhaskar, S.; Balestra, P.; Hou, J.; Avramova, M.; Smith, N. Advanced Liquid Fuel Molten Salt Reactor Core Simulation Using Gen-Foam. In Proceedings of the Advances in Thermal Hydraulics (ATH 2018), Orlando, FL, USA, 11–15 November 2018. [Google Scholar]
  13. Bhaskar, S.; Altahhan, M.; Ziyad, D.S.; Balestra, P. Modelling and Simulation of a Liquid Fuel Molten Salt Reactor Core Using Gen-Foam. In Proceedings of the 4th Intnational Conference on Physics and Technology of Reactors and Applications (PHYTRA4), Marrakech, Morocco, 17–19 September 2018. [Google Scholar]
  14. Gaston, D.; Newman, C.; Hansen, G.; Lebrun-Grandié, D. MOOSE: A parallel computational framework for coupled systems of nonlinear equations. Nucl. Eng. Des. 2009, 239, 1768–1778. [Google Scholar] [CrossRef] [Green Version]
  15. Sha, W.T. An overview on rod-bundle thermal-hydraulic analysis. Nucl. Eng. Des. 1980, 62, 1–24. [Google Scholar] [CrossRef]
  16. Chelemer, H.; Weisman, J.; Tong, L. Subchannel thermal analysis of rod bundle cores. Nucl. Eng. Des. 1972, 21, 35–45. [Google Scholar] [CrossRef]
  17. Cheng, X.; Müller, U. Critical heat flux and turbulent mixing in hexagonal tight rod bundles. Int. J. Multiph. Flow 1998, 24, 1245–1263. [Google Scholar] [CrossRef]
  18. Moorthi, A.; Kumar Sharma, A.; Velusamy, K. A review of sub-channel thermal hydraulic codes for nuclear reactor core and future directions. Nucl. Eng. Des. 2018, 332, 329–344. [Google Scholar] [CrossRef]
  19. AREVA. COBRA-FLX: A Core Thermal-Hydraulic Analysis Code Topical Report; AREVA NP Inc.: Lynchburg, VA, USA, 2010. [Google Scholar]
  20. Chaudri, K.S.; Kim, J.; Kim, Y. Development and validation of a fast sub-channel code for LWR multi-physics analyses. Nucl. Eng. Technol. 2019, 51, 1218–1230. [Google Scholar] [CrossRef]
  21. Yoon, Y.J.; Hwang, D.H.; Sohn, D.S. Development of a subchannel analysis code MATRA applicable to PWR’s and ALWR’s. J. Korean Nucl. Soc. 1999, 31, 317–327. [Google Scholar]
  22. Pang, B. Numerical Study of Void Drift in Rod Bundle with Subchannel and CFD Codes; KIT: Karlsruhe, Germany, 2013. [Google Scholar]
  23. Stewart, C.W.; Cuta, J.M.; Koontz, A.S.; Kelly, J.M.; Basehore, K.L.; George, T.L.; Rowe, D.S. VIPRE-01. A thermal-hydraulic analysis code for reactor cores. In Mathematical Modeling: Volume 1; [PWR; BWR]; Electric Power Research Inst.: Palo Alto, CA, USA; Pacific Northwest Lab.: Richland, WA, USA, 1983. [Google Scholar]
  24. Sung, Y.X.; Schueren, P.; Meliksetian, A. VIPRE-0 I Modeling and Qualification for Pressurized Water Reactor Non-LOCA Thermal-Hydraulic Safety Analysis; Westinghouse Electric Company LLC: Cranberry Township, PA, USA, 1999. [Google Scholar]
  25. Kelly, J.M.; Stewart, C.W.; Cuta, J.M. VIPRE-02—A Two-Fluid Thermal-Hydraulics Code for Reactor Core and Vessel Analysis: Mathematical Modeling and Solution Methods. Nucl. Technol. 1992, 100, 246–259. [Google Scholar] [CrossRef]
  26. Todreas, N.E.; Kazimi, M.S. Nuclear Systems II: Elements of Thermal Hydraulic Design; Taylor and Francis: Oxfordshire, UK, 2001. [Google Scholar]
  27. Balay, S.; Abhyankar, S.; Adams, M.; Brown, J.; Brune, P.; Buschelman, K.; Dalcin, L.; Dener, A.; Eijkhout, V.; Gropp, W.; et al. PETSc Users Manual; Argonne National Laboratory: Lemont, IL, USA, 2019.
  28. INL. AuxVariable Object Description. Available online: https://mooseframework.inl.gov/source/variables/AuxVariable.html (accessed on 1 December 2021).
  29. INL. AuxKernel Object Description. Available online: https://mooseframework.inl.gov/source/auxkernels/AuxKernel.html (accessed on 1 December 2021).
  30. Gaston, D.R.; Permann, C.J.; Peterson, J.W.; Slaughter, A.E.; Andrš, D.; Wang, Y.; Short, M.P.; Perez, D.M.; Tonks, M.R.; Ortensi, J.; et al. Physics-based multiscale coupling for full core nuclear reactor simulation. Ann. Nucl. Energy 2015, 84, 45–54. [Google Scholar] [CrossRef] [Green Version]
  31. Zhang, H.; Wang, Y.; Zou, L.; Andrš, D.; Zhao, H.; Martineau, R. Coupling of RELAP-7 with the three-dimensional kinetics code RattleSnake. Trans. Am. Nucl. Soc 2013, 108, 863–865. [Google Scholar]
  32. Williamson, R.L.; Hales, J.; Novascone, S.; Tonks, M.; Gaston, D.; Permann, C.; Andrs, D.; Martineau, R. Multidimensional multiphysics simulation of nuclear fuel behavior. J. Nucl. Mater. 2012, 423, 149–163. [Google Scholar] [CrossRef]
  33. Knoll, D.A.; Keyes, D.E. Jacobian-free Newton–Krylov methods: A survey of approaches and applications. J. Comput. Phys. 2004, 193, 357–397. [Google Scholar] [CrossRef] [Green Version]
  34. Salko, R.; Gergar, M.C.G.; Avramova, M. CTF Void Drift Validation Study; CASL: Chicago, IL, USA, 2015. [Google Scholar]
  35. Sadatomi, M.; Kawahara, A.; Kano, K.; Sumi, Y. Single- and two-phase turbulent mixing rate between adjacent subchannels in a vertical 2X3 rod array channel. Int. J. Multiph. Flow 2004, 30, 481–498. [Google Scholar] [CrossRef]
  36. Kawahara, A.; Sadatomi, M.; Sato, Y.; Shiga, E. Treatment of turbulent mixing rate in a two-phase subchannel flow. For developing flow without pressure differential between subchannels. Nippon Kikai Gakkai Ronbunshu B Hen 1995, 61, 861–867. [Google Scholar] [CrossRef] [Green Version]
  37. Marinelli, V.; Pastori, L.; Kjellen, B. Experimental investigation on mass velocity distribution and velocity profiles in an lwr rod bundle. Trans. Am. Nucl. Soc. 1972, 15, 413. [Google Scholar]
  38. Rubin, A.; Schoedel, A.; Avramova, M.; Utsuno, H.; Bajorek, S.; Velazquez-Lozada, A. OECD/NRC Benchmark Based on NUPEC PWR Sub-Channel and Bundle Tests (PSBT). Volume I: Experimental Database and Final Problem Specifications; OECD, Nuclear Energy Agency: Paris, France, 2012. [Google Scholar]
  39. Rubin, A.; Schoedel, A.; Avramova, M.; Utsuno, H.; Bajorek, S.; Velazquez-Lozada, A. OECD/NRC Benchmark Based on NUPEC PWR Sub-Channel and Bundle Tests (PSBT). Volume III: Departure from Nucleate Boiling; OECD, Nuclear Energy Agency: Paris, France, 2012. [Google Scholar]
  40. Hwang, D.H.; Kim, S.J.; Seo, K.W.; Kwon, H. Accuracy and uncertainty analysis of PSBT benchmark exercises using a subchannel code MATRA. Sci. Technol. Nucl. Install. 2012, 2012, 603752. [Google Scholar] [CrossRef]
  41. Bates, J.M.; Khan, E.U. Investigation of Combined Free and Forced Convection in a 2 × 6 Rod Bundle during Controlled Flow Transients; Battelle Pacific Northwest Labs.: Richland, WA, USA, 1980. [CrossRef] [Green Version]
  42. INL. GapHeatTransferLWR Object Description. Available online: https://mooseframework.inl.gov/bison/source/bcs/GapHeatTransferLWR.html (accessed on 1 December 2021).
  43. Ross, A.; Stoute, R. Heat Transfer Coefficient between UO2 and Zircaloy-2; Technical Report; Atomic Energy of Canada Limited: Chalk River, ON, Canada, 1962. [Google Scholar]
  44. INL. UO2Thermal Object Description. Available online: https://mooseframework.inl.gov/bison/source/materials/UO2Thermal.html#uo-2-thermal (accessed on 1 December 2021).
  45. INL. ZryThermal Object Description. Available online: https://mooseframework.inl.gov/bison/source/materials/ZryThermal.html#zrythermal (accessed on 1 December 2021).
  46. Davis, I.; Courty, O.; Avramova, M.; Motta, A. High-fidelity multi-physics coupling for determination of hydride distribution in Zr-4 cladding. Ann. Nucl. Energy 2017, 110, 475–485. [Google Scholar] [CrossRef]
  47. Creer, J.; Rowe, D.; Bates, J.; Sutey, A. Effects of Sleeve Blockages on Axial Velocity and Intensity of Turbulence in an Unheated 7 × 7 Rod Bundle; [PWR]; Technical Report; Battelle Pacific Northwest Labs.: Richland, WA, USA, 1976.
  48. Sartori, E.; Hochreiter, L.E.I.; Kostadin, U.; Hideaki. The OECD/NRC BWR Full-Size Fine-Mesh Bundle Tests Benchmark (BFBT)-General Description; Technical Report; OECD/NRC: Tokyo, Japan, 2004.
  49. Pramuditya, S.; Takahashi, M. Thermal–hydraulic analysis of wire-wrapped SFR test subassemblies by subchannel analysis method. Ann. Nucl. Energy 2013, 54, 109–119. [Google Scholar] [CrossRef]
  50. Wantland, J.; Clapp, N.; Fontana, M.; Gnadt, P.; Hanus, N. Dynamic Boiling Tests in a 19-Pin Simulated LMFBR Fuel Assembly; Technical Report; Oak Ridge National Lab.: Oak Ridge, TN, USA, 1977.
  51. Wu, Y.; Li, X.; Yu, X.; Qiu, S.; Su, G.; Tian, W. Subchannel thermal-hydraulic analysis of the fuel assembly for liquid sodium cooled fast reactor. Prog. Nucl. Energy 2013, 68, 65–78. [Google Scholar] [CrossRef]
  52. Turner, J.A.; Clarno, K.; Sieger, M.; Bartlett, R.; Collins, B.; Pawlowski, R.; Schmidt, R.; Summers, R. The Virtual Environment for Reactor Applications (VERA): Design and architecture. J. Comput. Phys. 2016, 326, 544–568. [Google Scholar] [CrossRef] [Green Version]
  53. Graham, A.M.; Taylor, Z.; Collins, B.S.; Salko, R.K.; Poschmann, M. Multi-physics Coupling Methods for Molten Salt Reactor Modeling and Simulation in VERA. Nucl. Sci. Eng. 2021, 195, 1065–1086. [Google Scholar] [CrossRef]
  54. Kochunas, B.; Collins, B.S.; Jabaay, D.; Kim, K.S.; Graham, A.; Stimpson, S.; Wieselquist, W.A.; Clarno, K.T.; Palmtag, S.; Downar, T.; et al. VERA Core Simulator Methodology for PWR Cycle Depletion; Technical Report; Oak Ridge National Lab. (ORNL): Oak Ridge, TN, USA, 2015.
  55. Collins, B.; Stimpson, S.; Kelley, B.W.; Young, M.T.; Kochunas, B.; Graham, A.; Larsen, E.W.; Downar, T.; Godfrey, A. Stability and accuracy of 3D neutron transport simulations using the 2D/1D method in MPACT. J. Comput. Phys. 2016, 326, 612–628. [Google Scholar] [CrossRef] [Green Version]
  56. Salko, R., Jr.; Avramova, M.; Wysocki, A.; Toptan, A.; Hu, J.; Porter, N.; Blyth, T.S.; Dances, C.A.; Gomez, A.; Jernigan, C.; et al. CTF Theory Manual; Technical Report; Oak Ridge National Lab. (ORNL): Oak Ridge, TN, USA, 2020.
  57. Ilas, G.; Gauld, I.C.; Radulescu, G. Validation of new depletion capabilities and ENDF/B-VII data libraries in SCALE. Ann. Nucl. Energy 2012, 46, 43–55. [Google Scholar] [CrossRef]
  58. Pawlowski, R.P. Design of a High Fidelity Core Simulator for Analysis of Pellet Clad Interaction; Technical Report; Sandia National Lab. (SNL-NM): Albuquerque, NM, USA, 2015.
  59. Collins, B.; Okhuysen, B.; Salko, R.; Andersson, D.; Stimpson, S.; Lange, T.; Elliott, A.; Wysocki, A.; Gilkey, L.; Epperson, K.; et al. CASL Research and Development Activities and Results for the CRUD Induced Power Shift (CIPS) Challenge Problem. In 2018 CASL Annual Report; CASL-U-2018-1703-000; Oak Ridge National Lab. (ORNL): Oak Ridge, TN, USA, 2018. [Google Scholar]
  60. Palmtag, S.; Clarno, K.; Davidson, G.; Salko, R.; Evans, T.; Turner, J.; Schmidt, R. Coupled neutronics and thermal-hydraulic solution of a full core PWR using VERA-CS. In Proceedings of the PHYSOR, Kyoto, Japan, 28 September–3 October 2014. [Google Scholar]
  61. Schmidt, R.; Belcourt, N.; Hooper, R.; Pawlowski, R. An Introduction to LIME 1.0 and Its Use in Coupling Codes for Multiphysics Simulations; Sandia Report; SAND2011-8524; Sandia National Laboratories (SNL): Albuquerque, NM, USA; Livermore, CA, USA, 2011.
  62. Pawlowski, R.; Bartlett, R.; Belcourt, N.; Hooper, R.; Schmidt, R. A Theory Manual for Multiphysics Code Coupling in Lime Version 1.0; SAND2011-2195; Sandia National Laboratories (SNL): Albuquerque, NM, USA; Livermore, CA, USA, 2011.
  63. Turinsky, P.J.; Kothe, D.B. Modeling and simulation challenges pursued by the Consortium for Advanced Simulation of Light Water Reactors (CASL). J. Comput. Phys. 2016, 313, 367–376. [Google Scholar] [CrossRef] [Green Version]
  64. Suk, P.; Chvála, O.; Maldonado, G.I.; Frýbort, J. Simulation of a NuScale core design with the CASL VERA code. Nucl. Eng. Des. 2021, 371, 110956. [Google Scholar] [CrossRef]
Figure 1. Square lattice subchannel control volumes.
Figure 1. Square lattice subchannel control volumes.
Energies 15 03948 g001
Figure 2. Division of the subchannel assembly into blocks.
Figure 2. Division of the subchannel assembly into blocks.
Energies 15 03948 g002
Figure 3. Subchannel hybrid numerical scheme.
Figure 3. Subchannel hybrid numerical scheme.
Energies 15 03948 g003
Figure 4. Data transfer between Subchannel and BISON.
Figure 4. Data transfer between Subchannel and BISON.
Energies 15 03948 g004
Figure 5. Verification Problems. (a) Two channel problem for friction model verification. (b) Two-channel problem for enthalpy mixing model verification.
Figure 5. Verification Problems. (a) Two channel problem for friction model verification. (b) Two-channel problem for enthalpy mixing model verification.
Energies 15 03948 g005
Figure 6. Verification Results. (a) Relative mass flow distribution in the axial direction. (b) Enthalpy distribution in the axial direction.
Figure 6. Verification Results. (a) Relative mass flow distribution in the axial direction. (b) Enthalpy distribution in the axial direction.
Energies 15 03948 g006
Figure 7. Calibration of β . Code vs. experimental results. (a) β = 0.004 . (b) β = 0.009 . (c) β = 0.006 . (d) Error vs. β .
Figure 7. Calibration of β . Code vs. experimental results. (a) β = 0.004 . (b) β = 0.009 . (c) β = 0.006 . (d) Error vs. β .
Energies 15 03948 g007
Figure 8. Calibration of C T . (a) Velocity distribution for C T = 0 . (b) Velocity distribution for C T = 3 . (c) Velocity distribution for C T = 2.6 . (d) Average absolute error in exit velocity vs. C T .
Figure 8. Calibration of C T . (a) Velocity distribution for C T = 0 . (b) Velocity distribution for C T = 3 . (c) Velocity distribution for C T = 2.6 . (d) Average absolute error in exit velocity vs. C T .
Energies 15 03948 g008
Figure 9. Radial power profile for the PSBT 5 × 5 rod bundle.
Figure 9. Radial power profile for the PSBT 5 × 5 rod bundle.
Energies 15 03948 g009
Figure 10. Code results for Case 01-5237. (a) Subchannel temperature field [K]. (b) Subchannel temperature distribution at the exit of the assembly.
Figure 10. Code results for Case 01-5237. (a) Subchannel temperature field [K]. (b) Subchannel temperature distribution at the exit of the assembly.
Energies 15 03948 g010
Figure 11. Mean absolute error in predicted exit temperature.
Figure 11. Mean absolute error in predicted exit temperature.
Energies 15 03948 g011
Figure 12. PNL 2 × 6 validation results. (a) Case 9 velocity profiles. (b) Case 13 velocity profiles. (c) Case 5, linear flow transient coast down.
Figure 12. PNL 2 × 6 validation results. (a) Case 9 velocity profiles. (b) Case 13 velocity profiles. (c) Case 5, linear flow transient coast down.
Energies 15 03948 g012
Figure 13. 4 × 4 PWR sub-assembly layout.
Figure 13. 4 × 4 PWR sub-assembly layout.
Energies 15 03948 g013
Figure 14. Pin power profiles for the 4 × 4 PWR sub-assembly.
Figure 14. Pin power profiles for the 4 × 4 PWR sub-assembly.
Energies 15 03948 g014
Figure 15. Code results for for the 4 × 4 PWR sub-assembly. (a) Subchannel temperature field for a non-uniform radial power profile. (b) Pin surface temperature field for a non-uniform radial power profile.
Figure 15. Code results for for the 4 × 4 PWR sub-assembly. (a) Subchannel temperature field for a non-uniform radial power profile. (b) Pin surface temperature field for a non-uniform radial power profile.
Energies 15 03948 g015
Figure 16. Temperature profile at assembly cross-sections for a non-uniform lateral power profile. (a) Temperature at the exit, z = 3.6 m. (b) Temperature at, z = 2.0 m. (c) Temperature at, z = 1.0 m.
Figure 16. Temperature profile at assembly cross-sections for a non-uniform lateral power profile. (a) Temperature at the exit, z = 3.6 m. (b) Temperature at, z = 2.0 m. (c) Temperature at, z = 1.0 m.
Energies 15 03948 g016
Figure 17. Axial and radial temperature profiles for the 4 × 4 PWR sub-assembly. (a) Axial subchannel temperature profile and axial pin surface temperature profile. (b) Axial center-line temperature profile for hot and cold pin. (c) Radial temperature profile for hot and cold pin at z = 2.4 m.
Figure 17. Axial and radial temperature profiles for the 4 × 4 PWR sub-assembly. (a) Axial subchannel temperature profile and axial pin surface temperature profile. (b) Axial center-line temperature profile for hot and cold pin. (c) Radial temperature profile for hot and cold pin at z = 2.4 m.
Energies 15 03948 g017
Table 1. 5 × 5 PSBT rod bundle specifications.
Table 1. 5 × 5 PSBT rod bundle specifications.
ItemValue
Rods array 5 × 5
Number of heated rods25
Heated rod outer diameter (mm) 9.50
Heated rod pitch (mm) 12.60
Axial heated length (mm)3658
Flow channel inner width (mm) 64.9
Axial power shapeUniform
Number of mixing vaned (MV) spacers7
Number of non mixing vaned (NMV) spacers2
Number of simple spacers (SS)8
MV spacer location (mm)457, 914, 1372, 1829, 2286, 2743, 3200
NMV spacer location (mm)0, 3658
Simple spacer location (mm)229, 686, 1143, 1600, 2057, 2515, 2972, 3429
Table 2. Nominal run conditions.
Table 2. Nominal run conditions.
Case NumberInitial Flow
[GPM]
Final Flow
[GPM]
Transient Time [s]Power Gradient Q H
[ kW rod ]
Q L
[ kW rod ]
Re Initial/Final
53.081.081500:00.00.01200/420
93.083.08S.S1:00.910.01290/1290
133.083.08S.S2:10.910.4551340/1340
Table 3. 4 × 4 PWR sub-assembly specifications.
Table 3. 4 × 4 PWR sub-assembly specifications.
TypeValueUnits
ReactorPWR
Layout 4 × 4
FuelUO2
CladdingZyrcalloy-4
Fuel pellet radius 0.409 cm
Gap 0.009 cm
Clad inner radius 0.418 cm
Clad thickness 0.057 cm
Clad outer radius 0.475 cm
Pin pitch 1.276 cm
Pin length360cm
Gap bottom 0.127 cm
Gap top 0.127 cm
Clad thickness top 0.224 cm
Clad thickness bottom 0.224 cm
Average linear heat rate per pin 18.5 kW/m
Bundle power 1.0656 MW
Coolant inlet temperature 560.15 K
Outlet pressure 15.5 MPa
Mass flux at inlet 3035.27 kg/sec-m2
Table 4. Lateral power profile for the 4 × 4 PWR sub-assembly.
Table 4. Lateral power profile for the 4 × 4 PWR sub-assembly.
1.00.90.80.7
1.11.00.90.8
1.21.11.00.9
1.31.21.11.0
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kyriakopoulos, V.; Tano, M.E.; Ragusa, J.C. Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework. Energies 2022, 15, 3948. https://0-doi-org.brum.beds.ac.uk/10.3390/en15113948

AMA Style

Kyriakopoulos V, Tano ME, Ragusa JC. Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework. Energies. 2022; 15(11):3948. https://0-doi-org.brum.beds.ac.uk/10.3390/en15113948

Chicago/Turabian Style

Kyriakopoulos, Vasileios, Mauricio E. Tano, and Jean C. Ragusa. 2022. "Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework" Energies 15, no. 11: 3948. https://0-doi-org.brum.beds.ac.uk/10.3390/en15113948

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop