Step 8

The final step is to add the outer structure of the reactor. The outer structure includes carbon bricks, helium gaps, the core barrel, and the reactor pressure vessel (RPV). There are 2 different helium gaps, one between the carbon bricks and the core barrel and the other between the core barrel and the RPV.

Geometry

The geometry is changed by modifying the cartesian_mesh block. The geometry is depicted in Figure 1.

Figure 1: Geometry for Step 8.

Note that only solid conduction blocks are added in Step 8 so that the NavierStokesFV remains unchanged.

Adding Boundary Conditions for T_solid

At the radial outside boundary of the RPV, a Dirichlet boundary condition of K is applied:

[FVBCs]
  [radial_outside_rpv]
    type = FVDirichletBC
    variable = T_solid
    boundary = radial_outer
    value = 300
  []
[]
(htgr/generic-pbr-tutorial/step8.i)

By adding the boundary condition on the outer surface of the RPV, some of the heat deposited in the pebble-bed is conducted to the RPV. In a more realistic model, a convective and radiative boundary condition should be applied.

Materials

The carbon_bricks block is modeled as the same graphite as the side_reflector:

[FunctorMaterials]
  [graphite_rho_and_cp_carbon_bricks]
    type = ADGenericFunctorMaterial
    prop_names = 'rho_s  cp_s kappa_s'
    prop_values = '1780.0 1697 ${fparse 1 * 26}'
    block = 'carbon_bricks'
  []
[]
(htgr/generic-pbr-tutorial/step8.i)

The barrel and RPV are different steels, differing in specific heat and thermal conductivity:

  [barrel_rho_cp_kappa]
    type = ADGenericFunctorMaterial
    prop_names = 'rho_s  cp_s kappa_s'
    prop_values = '7800.0 540.0 17.0'
    block = 'core_barrel'
  []

  [rpv_rho_cp_kappa]
    type = ADGenericFunctorMaterial
    prop_names = 'rho_s  cp_s kappa_s'
    prop_values = '7800.0 525.0 38.0'
    block = 'rpv'
  []
(htgr/generic-pbr-tutorial/step8.i)

Only the carbon_bricks, core_barrel, and rpv blocks are added to the effective_thermal_conductivity object:

[FunctorMaterials]
  [effective_thermal_conductivity_material]
    type = ADGenericVectorFunctorMaterial
    prop_names = 'effective_thermal_conductivity'
    prop_values = 'kappa_s kappa_s kappa_s'
    block = 'pebble_bed
             bottom_reflector
             side_reflector
             riser
             upper_plenum
             bottom_plenum
             control_rods
             carbon_bricks
             core_barrel
             rpv'
  []
[]
(htgr/generic-pbr-tutorial/step8.i)

The properties of the gaps is taken care of differently. The gaps are in principle not a solid but a stagnant gas. However, we treat it like a solid with small density and effective thermal conductivity that takes into account conduction and radiation. To this end cp_s and rho_s are defined as usual:

[FunctorMaterials]
  [gap_rho_and_cp]
    type = ADGenericFunctorMaterial
    prop_names = 'rho_s  cp_s'
    prop_values = '5     5200'
    block = 'refl_barrel_gap barrel_rpv_gap'
  []
[]
(htgr/generic-pbr-tutorial/step8.i)

The effective thermal conductivities are defined using FunctorGapHeatTransferEffectiveThermalConductivity objects:

  [effective_thermal_conductivity_barrel_gap]
    type = FunctorGapHeatTransferEffectiveThermalConductivity
    gap_direction = x
    temperature = T_solid
    gap_conductivity_function = 0.2
    emissivity_primary = 0.8
    emissivity_secondary = 0.8
    radius_primary = 2.241
    radius_secondary = 2.391
    prop_name = effective_thermal_conductivity
    block = 'refl_barrel_gap'
  []

  [effective_thermal_conductivity_rpv_gap]
    type = FunctorGapHeatTransferEffectiveThermalConductivity
    gap_direction = x
    temperature = T_solid
    gap_conductivity_function = 0.2
    emissivity_primary = 0.8
    emissivity_secondary = 0.8
    radius_primary = 2.431
    radius_secondary = 2.591
    prop_name = effective_thermal_conductivity
    block = 'barrel_rpv_gap'
  []

  [kappa_f_pebble_bed]
    type = FunctorLinearPecletKappaFluid
    porosity = porosity
    block = 'pebble_bed'
  []

  [kappa_f_mat_no_pebble_bed]
    type = ADGenericVectorFunctorMaterial
    prop_names = 'kappa'
    prop_values = 'k k k'
    block = 'cavity bottom_reflector upper_plenum bottom_plenum riser control_rods'
  []
(htgr/generic-pbr-tutorial/step8.i)

In this object:

  • gap_direction coordinate direction pointing through the gap (i.e., connecting the two faces delimiting the gap),

  • gap_conductivity_function is the molecular thermal conductivity of the gas in the gap as a function of temperature,

  • radius_primary signals that the geometry that is considered is cylindrical. It is the inner radius of the cylindrical gap. radius_secondary must be provided now,

  • radius_secondary is the outer radius of the cylindrical gap.

Execution

./pronghorn-opt -i step8.i

Result

For the final exercise we show only the solid temperature in Figure 2 because the latest changes primarily changed the peripheral non-flow regions. Note that the fluid flow region is outlined by black lines in in Figure 2.

Figure 2: Solid temperature for Step 8.