Na-HPMR Multiphysics Model

Contact: Yinbin Miao (ymiao.at.anl.gov), Ahmed Abdelhameed (aabdelhameed.at.anl.gov)

Model link: HPMR Model

Inheritance from K-HPMR Model

commentnote:Acknowledgement

This model is a sodium heat pipe variant of the K-HPMR model. For majority of the model description, please refer to the K-HPMR Multiphysics Model.

The motive for developing a sodium (Na) working fluid variant of the HPMR design is to better utilize the mechanistic heat pipe model (i.e., liquid-conductance vapor-flow (LCVF) model, also known as the "vapor-only" model) in Sockeye (Hansel et al., 2024) to enable advanced modeling features such as the start up transient. In the meantime, the majority of the HPMR design parameters are kept the same as the K-HPMR design. The Na-HPMR design is identical to the K-HPMR design except for the heat pipe working fluid. To better fit the operating temperature range of sodium, the design temperature is increased by 100 K.

Model Update for Na-HPMR

Aside from the increased design operating temperature, the main modifications made to generate the Na-HPMR variant are related to the switch of the heat pipe working fluid from potassium to sodium and the adoption of the Sockeye LCVF heat pipe model. Additionally, the cross-section is also updated to match the replacement of the potassium working fluid with sodium. On the other hand, the Griffin and BISON models are directly inherited from the K-HPMR model.

Cross-Section Generation Using Serpent Code

Similar to the K-HPMR model, the first step involves generating homogenized multi-group cross sections using Serpent-2**. The Serpent-2 model for the Na-HPMR is similar to that of the K-HPMR, except that sodium is employed as the working fluid in the heat pipes instead of potassium (K). An 11-group energy structure** is employed, with parameters defined over grids of:

  1. Fuel temperature** (5 values)

  2. Temperature of the moderator, reflector, monolith, and heat pipe** (5 values)

  3. Hydrogen content** (7 values)

  4. Control drum rotation** (1 value: control drums out)

The results obtained from Serpent-2 are consistent with expected reactor physics:

  • Increasing the hydrogen content within the tabulated range (from YH to YH) yields a higher value, due to enhanced moderation.

  • Increasing the fuel temperature consistently reduces , reflecting the negative reactivity feedback from Doppler broadening.

This multi-grid cross-section library enables analysis of thermal reactivity feedback effects as well as the impacts of hydrogen redistribution within the moderator. At present, simulations are being carried out for the control rod–out** configuration.

Finally, the generated cross sections are converted into an XML-file format** for compatibility with Griffin**.

Sockeye Model

For each heat pipe in the 1/6 HP-MR core, a Sockeye grandchild application is used to calculate its thermal performance.

Instead of the effective thermal conductance model used in the K-HPMR model, the LCVF heat pipe model is adopted in the Na-HPMR model. As the name implies, the advanced heat pipe model uses a mechanistic flow model to predict the heat transfer performance of the heat pipe kernel.

################################################################################
## NEAMS Micro-Reactor Application Driver                                     ##
## Heat Pipe Microreactor with Na Working Fluid Steady State (Na-HPMR) SS     ##
## Sockeye Grandchild Application input file                                  ##
## Liquid-Conductance Vapor-Flow (LCVF) Heat Pipe Model (Vapor-Only)          ##
################################################################################

t_start = -5e4
t_end = 0

length_evap = 1.8
length_adia = 0.3
length_cond = 0.9

n_elems_evap = 360
n_elems_adia = 60
n_elems_cond = 180

n_elems_wick = 8
n_elems_ann  = 4
n_elems_clad = 4

D_clad_o = 2.10e-2
D_clad_i = 1.94e-2
D_wick_o = 1.80e-2
D_wick_i = 1.60e-2

porosity = 0.70
permeability = 2e-9
R_pore = 15e-6

fill_ratio = 1.1
T_ref_fill_ratio = 600

T_ref_rho_wick = 1000.0
T_ref_rho_clad = 1000.0

T_ext_cond = 900
htc_ext_cond = 1.0e6

[FluidProperties]
  [fp_2phase]
    type = SodiumIdealGasTwoPhaseFluidProperties
    emit_on_nan = none
  []
[]

[Closures]
  [closures]
    type = HeatPipeVOClosures
  []
[]

[SolidProperties]
  [sp_ss316]
    type = ThermalSS316Properties
  []
[]

[Components]
  [heat_pipe]
    type = HeatPipeVO

    position_evap_end = '0 0 0'
    direction_evap_to_cond = '0 0 1' # to be compatible with the core mesh
    gravity_vector = '9.8 0 0' # assume the core is horizontal

    L_evap = ${length_evap}
    L_adia = ${length_adia}
    L_cond = ${length_cond}

    D_clad_o = ${D_clad_o}
    D_clad_i = ${D_clad_i}
    D_wick_o = ${D_wick_o}
    D_wick_i = ${D_wick_i}

    porosity = ${porosity}
    permeability = ${permeability}
    R_pore = ${R_pore}

    n_elems_evap = ${n_elems_evap}
    n_elems_adia = ${n_elems_adia}
    n_elems_cond = ${n_elems_cond}

    n_elems_wick = ${n_elems_wick}
    n_elems_ann  = ${n_elems_ann}
    n_elems_clad = ${n_elems_clad}

    initial_T = ${T_ext_cond}

    fill_ratio = ${fill_ratio}
    T_ref_fill_ratio = ${T_ref_fill_ratio}
    T_ref_rho_wick = ${T_ref_rho_wick}
    T_ref_rho_clad = ${T_ref_rho_clad}

    fp_2phase = fp_2phase
    sp_wick = sp_ss316
    sp_clad = sp_ss316
    closures = closures

    slope_reconstruction = NONE
    stop_vapor_at_condenser_pool = true
    startup_front_option = continuum_flow
    D_collision = 0.362e-9
    Kn_transition = 0.01
  []

  [evaporator_boundary]
    type = HSBoundaryExternalAppConvection
    boundary = 'heat_pipe:hs:evap:outer'
    hs = heat_pipe:hs
    T_ext = virtual_Text
    htc_ext = virtual_htc
  []

  # This works but is simplified
  # Improvement needed in the future
  [condenser_boundary]
    type = HSBoundaryAmbientConvection
    boundary = 'heat_pipe:hs:cond:outer'
    hs = heat_pipe:hs
    T_ambient = ${T_ext_cond}
    htc_ambient = ${htc_ext_cond}
  []
[]

[UserObjects]
  [surf_T]
    type = LayeredSideAverage
    direction = z
    num_layers = 180
    variable = T_solid
    boundary = 'heat_pipe:hs:evap:outer'
  []
[]

[AuxKernels]
  [hp_var]
    type = SpatialUserObjectAux
    variable = hp_temp_aux
    user_object = surf_T
  []
  [virtual_Text]
    type = ParsedAux
    variable = virtual_Text
    coupled_variables = 'T_solid master_flux virtual_htc'
    expression = 'master_flux/virtual_htc + T_solid'
    block = '3 4 5'
  []
[]

[AuxVariables]
  [T_wall_var]
    initial_condition = ${T_ext_cond}
  []
  [operational_aux]
    initial_condition = 1
  []
  [master_flux]
    initial_condition = 0
  []
  [master_t_solid]
    initial_condition = ${T_ext_cond}
  []
  [hp_temp_aux]
    initial_condition = ${T_ext_cond}
  []
  [virtual_Text]
    initial_condition = ${T_ext_cond}
  []
  [virtual_htc]
    initial_condition = 1.0
  []
[]

[Postprocessors]
  [refill]
    type = FunctionValuePostprocessor
    function = '1'
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]

[Preconditioning]
  [pc]
    type = SMP
    full = true
  []
[]

# Added dampers as some NAN behavior was observed
[Dampers]
  [max_T]
    type = MaxIncrement
    increment_type = fractional
    max_increment = 0.5
    variable = T_solid
  []
  [bd_rhoA]
    type = BoundingValueElementDamper
    variable = rhoA
    min_value = 0.0
    min_damping = 0.001
  []
  [bd_rhoEA]
    type = BoundingValueElementDamper
    variable = rhoEA
    min_value = 0.0
    min_damping = 0.001
  []
[]

[Executioner]
  type = Transient

  scheme = bdf2
  start_time = ${t_start}
  end_time = ${t_end}

  dtmin = 1e-4
  dtmax = 5000

  [TimeStepper]
    type = IterationAdaptiveDT
    dt = 0.1
    optimal_iterations = 15
    iteration_window = 2
    growth_factor = 2
    cutback_factor = 0.8
  []

  [Quadrature]
    type = GAUSS
    order = SECOND
  []

  ## PJFNK + superlu seems to make the problem converge faster
  solve_type = PJFNK
  petsc_options = '-snes_ksp_ew'
  petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -ksp_gmres_restart'
  petsc_options_value = 'lu       superlu_dist                  101'

  nl_abs_tol = 1e-8
  nl_rel_tol = 1e-8
  nl_max_its = 25

  l_tol = 1e-3
  l_max_its = 10

  automatic_scaling = true
  compute_scaling_once = false
[]

[Outputs]
  exodus = false
  [console]
    type = Console
    execute_postprocessors_on = 'NONE'
  []
  [csv]
    type = CSV
    execute_on = 'INITIAL FINAL'
    enable = false
  []
[]
(microreactors/mrad/steady_Na/HPMR_sockeye_ss.i)

Steady-State Case Simulation

In the current Na-HPMR multiphysics model, only the steady-state case is simulated. Transient simulations are planned to be implemented in the near future.

References

  1. Joshua E Hansel, Carolina da Silva Bourdot Dutra, Lise Charlot, and Elia Merzari. The liquid-conduction, vapor-flow heat pipe model in sockeye. Nuclear Engineering and Design, 426:113359, 2024.[BibTeX]