Nuclear Material UPuZr

Reduces the Materials block length for metallic fuel UPuZr within input files.

Description

This NuclearMaterialUPuZr action reduces BISON input file length by internally generating the Materials required for simulating metallic nuclear fuel, specifically UPuZr.

The user may elect to use the nuclear_material_UPuZr_table action to generate the necessary material classes for common metallic fuel simulations. All of the material blocks, generated with the default parameter settings, are shown in Table 1.

Fission Operation

commentnote

This required parameter describes the characteristic type of fission study that will occur. For metallic fuel type simulations, this is simply labeled as fission_operation = Normal. This must be placed under the NuclearMaterials block heading and cannot be placed under sub-blocks such as UPuZr.

Table 1: Material classes created by the NuclearMaterialUPuZr action

Created ClassesPre-Set ParametersBlock Name
UPuZrFissionRatefission_rate
UPuZrBurnupburnup_name = burnupburnup
UPuZrElasticityTensorfuel_elasticity_tensor
ComputeMultipleInelasticStressfuel_inelastic_stress
UPuZrCreepUpdatemax_inelastic_increment = 1e-2fuel_upuzrcreep
ComputeThermalExpansionEigenstrainthermal_expansion_coeff = 1.18e-5fuel_thermal_expansion
eigenstrain_name = fuel_thermal_strain
UPuZrGaseousEigenstrainbubble_number_density = N_bubblesgas_swelling
interconnection_initiating_porosity = 0.23
interconnection_terminating_porosity = 0.25
eigenstrain_name = gas_swelling_strain
BurnupDependentEigenstrainsolid_swelling
eigenstrain_name = solid_swelling_strain
UPuZrThermalmetal_fuel_thermal
StrainAdjustedDensitystrain_free_density = 15800fuel_density
UPuZrFissionGasReleasefission_rate = fission_ratefission_gas_release
critical_porosity = 0.24
fractional_fgr_initial = 0.8
fractional_fgr_post = 1.0

Example Input Syntax

Expanded Fuel Block

[Materials]
initial_fuel_density = 15800

[GlobalParams]
  order = FIRST
  family = LAGRANGE
  energy_per_fission = 3.2e-11 # J/fission
  volumetric_locking_correction = true
  displacements = 'disp_x disp_y'
[]

[Problem]
  type = ReferenceResidualProblem
  reference_vector = 'ref'
  extra_tag_vectors = 'ref'
  group_variables = 'disp_x disp_y'
[]

[Mesh]
  coord_type = RZ
  # Nominal Design Geometric Parameters (X441)
  [smeared_pellet_mesh]
    type = FuelPinMeshGenerator
    clad_thickness = 0.38e-03
    pellet_outer_radius = 2.195e-03
    pellet_height = 343.0e-3
    clad_top_gap_height = 373.0e-3
    clad_gap_width = 0.345e-3
    bottom_clad_height = 7.9e-3
    top_clad_height = 7.9e-3
    clad_bot_gap_height = 0.2e-3 # arbitrary
    # meshing parameters
    clad_mesh_density = customize
    pellet_mesh_density = customize
    nx_p = 3
    ny_p = 40
    nx_c = 2
    ny_c = 40
    ny_cu = 2
    ny_cl = 2
    pellet_quantity = 1
    elem_type = QUAD4
  []
  # mesh options
  patch_size = 10
  patch_update_strategy = auto
  partitioner = centroid
  centroid_partitioner_direction = y
[]

[Variables]
  [temp]
    initial_condition = 298
  []
[]

[AuxVariables]
  # Aux variables for output
  [gap_cond]
    order = CONSTANT
    family = MONOMIAL
  []
  [coolant_htc]
    order = CONSTANT
    family = MONOMIAL
  []
  [cumulative_damage_index]
    order = CONSTANT
    family = MONOMIAL
  []
  [element_failed]
    order = CONSTANT
    family = MONOMIAL
  []
  [solid_swell]
    block = pellet
    order = CONSTANT
    family = MONOMIAL
  []
  [gas_swell]
    block = pellet
    order = CONSTANT
    family = MONOMIAL
  []
  [volumetric_strain]
    block = pellet
    order = CONSTANT
    family = MONOMIAL
  []
  [total_hoop_strain]
    order = CONSTANT
    family = MONOMIAL
  []
[]

[Functions]
  [power_history]
    type = PiecewiseLinear
    x = '0 1e5   41990400 42000400'
    y = '0 44722 44722    0'
  []
  [coolant_press_ramp]
    type = ParsedFunction
    expression = 0.151e6
  []
  [coolant_temp_ramp]
    type = PiecewiseLinear
    x = '0 1e5   41990400 42000400'
    y = '298.0  648.0  648.0  350.0'
  []
  [axial_peaking_factors]
    type = PowerPeakingFunction
    fit = EBRII_ROW_4
    pellet_length = 343.0e-3
    pellet_y_start = 8.1e-3
  []
  [engr_radial_strain_fuel]
    type = ParsedFunction
    expression = 'fuel_disp_rad / 2.195e-03'
    symbol_values = 'max_fuel_radial_disp'
    symbol_names = 'fuel_disp_rad'
  []
  [engr_axial_strain_fuel]
    type = ParsedFunction
    expression = 'fuel_disp_axial / 343.0e-3'
    symbol_values = 'max_fuel_elongation'
    symbol_names = 'fuel_disp_axial'
  []
[]

[Physics/SolidMechanics/QuasiStatic]
  [fuel]
    strain = FINITE
    add_variables = true
    generate_output = 'stress_xx stress_yy stress_zz vonmises_stress
      hydrostatic_stress creep_strain_xx creep_strain_yy creep_strain_zz
      elastic_strain_xx elastic_strain_yy elastic_strain_zz strain_xx
      strain_yy strain_zz'
    extra_vector_tags = 'ref'
    block = pellet
    eigenstrain_names = 'fuel_thermal_strain gas_swelling_eigenstrain
      solid_swelling_eigenstrain'
  []
  [clad]
    strain = FINITE
    add_variables = true
    generate_output = 'stress_xx stress_yy stress_zz vonmises_stress
      hydrostatic_stress creep_strain_xx creep_strain_yy creep_strain_zz
      elastic_strain_xx elastic_strain_yy elastic_strain_zz strain_xx
      strain_yy strain_zz'
    extra_vector_tags = 'ref'
    block = clad
    eigenstrain_names = 'clad_thermal_strain'
  []
[]

[Kernels]
  # Define kernels for the various terms in the PDE system
  [gravity]
    type = Gravity
    variable = disp_y
    value = -9.81
    extra_vector_tags = 'ref'
  []
  [heat]
    type = HeatConduction
    variable = temp
    extra_vector_tags = 'ref'
  []
  [heat_ie]
    type = HeatConductionTimeDerivative
    variable = temp
    extra_vector_tags = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource
    variable = temp
    block = pellet
    fission_rate = fission_rate
    extra_vector_tags = 'ref'
  []
[]

[AuxKernels]
  [conductance]
    type = MaterialRealAux
    property = gap_conductance
    variable = gap_cond
    boundary = 10
  []
  [cdf_amount]
    boundary = 2
    type = MaterialRealAux
    property = cdf_failure
    variable = cumulative_damage_index
  []
  [failed_element]
    boundary = 2
    type = MaterialRealAux
    property = failed
    variable = element_failed
  []
  [gas_swell]
    type = MaterialRealAux
    variable = gas_swell
    property = gas_swelling
    execute_on = timestep_end
  []
  [solid_swell]
    type = MaterialRealAux
    variable = solid_swell
    property = solid_swelling
    execute_on = timestep_end
  []
  [volumetric_strain]
    type = RankTwoScalarAux
    rank_two_tensor = total_strain
    variable = volumetric_strain
    scalar_type = VolumetricStrain
    execute_on = timestep_end
    block = pellet
  []
  [hoop_stress]
    type = RankTwoAux
    rank_two_tensor = stress
    variable = stress_zz
    index_j = 2
    index_i = 2
    execute_on = timestep_end
  []
  [hoop_creep_strain]
    type = RankTwoAux
    rank_two_tensor = creep_strain
    variable = creep_strain_zz
    index_j = 2
    index_i = 2
    execute_on = timestep_end
    block = clad
  []
  [hoop_elastic_strain]
    type = RankTwoAux
    rank_two_tensor = elastic_strain
    variable = elastic_strain_zz
    index_j = 2
    index_i = 2
    execute_on = timestep_end
    block = clad
  []
  [total_hoop_strain]
    type = RankTwoAux
    rank_two_tensor = total_strain
    variable = total_hoop_strain
    index_j = 2
    index_i = 2
    execute_on = timestep_end
    block = clad
  []
[]

[Contact]
  [pellet_clad_mechanical]
    primary = 5
    secondary = 10
    penalty = 1e12
    model = frictionless
    formulation = kinematic
    normalize_penalty = true
    tangential_tolerance = 1e-3
    normal_smoothing_distance = 0.1
  []
[]

[ThermalContact]
  [thermal_contact]
    type = GapHeatTransfer
    variable = temp
    primary = 5
    secondary = 10
    quadrature = true
    gap_conductance = 176811.6
  []
[]

[BCs]
  [no_x_all]
    type = DirichletBC
    variable = disp_x
    boundary = 12
    value = 0.0
  []
  [no_y_fuel]
    type = DirichletBC
    variable = disp_y
    boundary = 20
    value = 0.0
  []
  [no_y_clad]
    type = DirichletBC
    variable = disp_y
    boundary = 1
    value = 0.0
  []
  [Pressure]
    [coolantPressure]
      boundary = '1 2 3'
      function = coolant_press_ramp
    []
  []
  [PlenumPressure]
    [plenumPressure]
      boundary = 9
      initial_pressure = 0.084e6 # Pa
      startup_time = 0
      R = 8.3143
      temperature = ave_temp_interior
      volume = gas_volume
      output = plenum_pressure
      material_input = fis_gas_released
    []
  []
[]

[CoolantChannel]
  [convective_clad_surface]
    boundary = '1 2 3'
    variable = temp
    inlet_temperature = coolant_temp_ramp
    inlet_pressure = coolant_press_ramp
    inlet_massflux = 5261.5 # kg/m^2-sec
    coolant_material = sodium
    rod_diameter = 5.84e-3 # m
    rod_pitch = 7.48e-3 # m (Pitch-to-diameter Ratio = 1.28)
    linear_heat_rate = power_history
    axial_power_profile = axial_peaking_factors
    subchannel_geometry = triangular
  []
[]

[Materials]
  [fission_rate]
    type = UPuZrFissionRate
    rod_linear_power = power_history
    axial_power_profile = axial_peaking_factors
    pellet_radius = 2.195e-03
    X_Zr = 0.225
    X_Pu_function = 0.163
    block = pellet
    outputs = all
  []
  [burnup]
    type = UPuZrBurnup
    initial_X_Zr = 0.225
    initial_X_Pu = 0.163
    density = ${initial_fuel_density}
    block = pellet
    outputs = all
  []
  [fuel_elasticity_tensor]
    type = UPuZrElasticityTensor
    X_Zr = 0.225
    X_Pu = 0.163
    block = pellet
    temperature = temp
  []
  [fuel_inlastic_stress]
    type = ComputeMultipleInelasticStress
    tangent_operator = nonlinear
    inelastic_models = 'fuel_upuzrcreep'
    block = pellet
  []
  [fuel_upuzrcreep]
    type = UPuZrCreepUpdate
    block = pellet
    temperature = temp
    porosity = porosity
    max_inelastic_increment = 1e-2
  []
  [fuel_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain
    block = pellet
    thermal_expansion_coeff = 1.18e-5
    temperature = temp
    stress_free_temperature = 295.0
    eigenstrain_name = fuel_thermal_strain
  []
  [gas_swelling]
    type = UPuZrGaseousEigenstrain
    eigenstrain_name = gas_swelling_eigenstrain
    temperature = temp
    initial_porosity = 0.0
    bubble_number_density = 5e17
    interconnection_initiating_porosity = 0.29
    interconnection_terminating_porosity = 0.31
    outputs = all
    output_properties = 'porosity gaseous_porosity'
    block = pellet
  []
  [solid_swelling]
    type = BurnupDependentEigenstrain
    eigenstrain_name = solid_swelling_eigenstrain
    block = pellet
    swelling_name = 'solid_swelling'
  []
  [metal_fuel_thermal]
    type = UPuZrThermal
    block = pellet
    X_Zr = 0.225
    X_Pu = 0.163
    spheat_model = savage
    thcond_model = lanl
    porosity = porosity
    temperature = temp
  []
  [fuel_density]
    type = StrainAdjustedDensity
    block = pellet
    strain_free_density = ${initial_fuel_density}
  []
  [fission_gas_behavior]
    type = UPuZrFissionGasRelease
    block = pellet
    critical_porosity = 0.30
    fractional_fgr_initial = 0.4
    fractional_fgr_post = 0.8
    fission_rate = fission_rate
  []

  [clad_elasticity_tensor]
    type = ComputeIsotropicElasticityTensor
    youngs_modulus = 1.88e11
    poissons_ratio = 0.236
    block = clad
  []
  [clad_stress]
    type = ComputeMultipleInelasticStress
    tangent_operator = nonlinear
    inelastic_models = 'clad_ht9creep'
    block = clad
  []
  [fast_flux]
    type = FastNeutronFlux
    block = clad
    factor = 2.47e19
  []
  [clad_ht9creep]
    type = HT9CreepUpdate
    block = clad
    temperature = temp
  []
  [thermal_expansion]
    type = ComputeThermalExpansionEigenstrain
    block = clad
    thermal_expansion_coeff = 1.2e-5
    temperature = temp
    stress_free_temperature = 295.0
    eigenstrain_name = clad_thermal_strain
  []
  [clad_thermal]
    type = HT9Thermal
    block = clad
    temperature = temp
  []
  [clad_density]
    type = StrainAdjustedDensity
    block = clad
    strain_free_density = 7874.0
  []
  [longHT9_failure]
    type = HT9FailureClad
    boundary = '1 2 3'
    method = cdf_long
    temperature = temp
    hoop_stress = stress_zz # Since 2D-RZ
  []
[]

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

[Executioner]
  type = Transient
  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                  51'
  line_search = 'none'

  l_max_its = 60
  l_tol = 8e-3
  nl_max_its = 40
  nl_rel_tol = 5e-5
  nl_abs_tol = 1e-7

  end_time = 1e7
  dtmin = 10
  dtmax = 5e5

  [Quadrature]
    order = fifth
    side_order = seventh
  []
  [TimeStepper]
    type = IterationAdaptiveDT
    timestep_limiting_postprocessor = creep_timestep
    dt = 1e2
    time_t = '0   1e5   41990400 42000400'
    time_dt = '1e2 1e2    1e2    1e2'
    iteration_window = 6
    optimal_iterations = 20
  []
[]

[Postprocessors]
  [ave_temp_interior]
    type = SideAverageValue
    boundary = 9
    variable = temp
    execute_on = 'initial linear'
  []
  [approx_FCT]
    type = AverageNodalVariableValue
    boundary = 12
    variable = temp
  []
  [max_approx_FCT]
    type = TimeExtremeValue
    value_type = max
    postprocessor = approx_FCT
  []
  [ave_FST]
    type = SideAverageValue
    boundary = 10
    variable = temp
  []
  [max_ave_FST]
    type = TimeExtremeValue
    value_type = max
    postprocessor = ave_FST
  []
  [ave_CIT]
    type = SideAverageValue
    boundary = 5
    variable = temp
  []
  [max_ave_CIT]
    type = TimeExtremeValue
    value_type = max
    postprocessor = ave_CIT
  []
  [avg_clad_temp]
    type = ElementAverageValue
    variable = temp
    block = clad
  []
  [peak_clad_temp]
    type = ElementExtremeValue
    variable = temp
    value_type = max
    block = clad
  []
  [peak_fuel_temp]
    type = ElementExtremeValue
    variable = temp
    value_type = max
    block = pellet
  []
  [max_hydro]
    type = ElementExtremeValue
    variable = hydrostatic_stress
    value_type = max
    block = pellet
  []
  [min_hydro]
    type = ElementExtremeValue
    variable = hydrostatic_stress
    value_type = min
    block = pellet
  []
  [peak_porosity]
    type = ElementExtremeValue
    variable = porosity
    value_type = max
    block = pellet
  []
  [clad_inner_vol]
    type = InternalVolume
    boundary = 7
  []
  [pellet_volume]
    type = InternalVolume
    boundary = 8
  []
  [gas_volume]
    type = InternalVolume
    boundary = 9
    execute_on = 'initial timestep_end'
    addition = -1.53703e-6
  []
  [clad_fuel_gap]
    type = NodalExtremeValue
    variable = penetration
    boundary = 10
  []
  [max_cont_press]
    type = NodalExtremeValue
    variable = contact_pressure
    boundary = 10
  []
  [flux_from_clad]
    type = SideDiffusiveFluxIntegral
    variable = temp
    boundary = 5
    diffusivity = thermal_conductivity
  []
  [flux_from_fuel]
    type = SideDiffusiveFluxIntegral
    variable = temp
    boundary = 10
    diffusivity = thermal_conductivity
  []
  [rod_total_power]
    type = ElementIntegralPower
    variable = temp
    use_material_fission_rate = true
    fission_rate_material = fission_rate
    block = pellet
  []
  [LHGR_W_per_cm]
    type = FunctionValuePostprocessor
    function = power_history
    scale_factor = 0.01
  []
  [average_burnup]
    type = ElementAverageValue
    block = pellet
    variable = burnup
  []
  [max_cdf]
    type = ElementExtremeValue
    value_type = max
    variable = cumulative_damage_index
  []
  [fis_gas_produced]
    type = ElementIntegralMaterialProperty
    mat_prop = fis_gas_prod
    block = pellet
  []
  [fis_gas_released]
    type = ElementIntegralMaterialProperty
    mat_prop = fis_gas_rel
    block = pellet
    execute_on = 'initial timestep_end'
  []
  [creep_timestep]
    type = MaterialTimeStepPostprocessor
    block = pellet
  []
  [hydrostatic_stress]
    type = ElementAverageValue
    variable = hydrostatic_stress
    execute_on = 'initial timestep_end'
    block = pellet
  []
  [solid_swelling]
    type = ElementAverageValue
    variable = solid_swell
    block = pellet
  []
  [gas_swelling]
    type = ElementAverageValue
    variable = gas_swell
    block = pellet
  []
  [volumetric_strain]
    type = ElementAverageValue
    variable = volumetric_strain
    block = pellet
  []
  [fission_rate]
    type = ElementAverageValue
    variable = fission_rate
    block = pellet
  []
  [porosity]
    type = ElementAverageValue
    variable = porosity
    block = pellet
  []
  [gaseous_porosity]
    type = ElementAverageValue
    variable = gaseous_porosity
    block = pellet
  []
  [fis_gas_percent]
    type = FGRPercent
    fission_gas_released = fis_gas_released
    fission_gas_generated = fis_gas_produced
  []
  [max_clad_hoop_creep]
    type = ElementExtremeValue
    value_type = max
    block = clad
    variable = creep_strain_zz
  []
  [max_total_hoop_strain]
    type = ElementExtremeValue
    value_type = max
    block = clad
    variable = total_hoop_strain
  []
  [max_fuel_radial_strain]
    type = ElementExtremeValue
    value_type = max
    block = pellet
    variable = strain_xx
  []
  [max_fuel_axial_strain]
    type = ElementExtremeValue
    value_type = max
    block = pellet
    variable = strain_yy
  []
  [max_fuel_elongation]
    type = NodalExtremeValue
    variable = disp_y
    boundary = 'all_pellet_exterior'
  []
  [max_fuel_radial_disp]
    type = NodalExtremeValue
    variable = disp_x
    boundary = 'all_pellet_exterior'
  []
  [engr_strain_fuel_radial]
    type = FunctionValuePostprocessor
    function = engr_radial_strain_fuel
  []
  [engr_strain_fuel_axial]
    type = FunctionValuePostprocessor
    function = engr_axial_strain_fuel
  []
  [max_clad_elongation]
    type = NodalExtremeValue
    variable = disp_y
    boundary = 'clad_outside_top clad_outside_right'
  []
[]

[PerformanceMetricOutputs]
[]

[Outputs]
  time_step_interval =  1
  color = true
  exodus = true
  perf_graph = true
  csv = true
  sync_times = '1e3 5e3 1e4 5e4 1e5 5e6 1e6 5e6 1e7 2e7 3e7 4e7 41990400 42000400'
  [console]
    type = Console
    max_rows = 25
    time_step_interval =  1
    output_linear = true
  []
  [chkfile]
    type = CSV
    file_base = x441_group_A_nominal_chkfile
    show = 'max_approx_FCT max_ave_FST max_ave_CIT average_burnup fis_gas_percent max_clad_hoop_creep max_fuel_elongation max_clad_elongation max_total_hoop_strain'
    execute_on = 'FINAL'
  []
[]

[Debug]
  show_var_residual = 'disp_x disp_y temp'
  show_var_residual_norms = true
[]
(examples/metal_fuel/x441_coarse/x441_group_A_nominal.i)

Simplified Fuel Block

[NuclearMaterials<<<{"href": "../index.html"}>>>]
  [UPuZr<<<{"href": "index.html"}>>>]
    [fuel]
      block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = pellet
      additional_generate_output<<<{"description": "Add scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)"}>>> = 'volumetric_strain'
      upuzr_models<<<{"description": "Type(s) of physics models used on this block.   The choices are: FIPD Burnup Elastic Creep Swelling ThermalExpansion"}>>> = 'Elastic Burnup Creep Swelling ThermalExpansion'
      rod_linear_power<<<{"description": "Name of the function describing rod linear power."}>>> = power_history
      axial_power_profile<<<{"description": "Name of the function describing axial power profile."}>>> = axial_peaking_factors
      pellet_radius<<<{"description": "Fuel slug radius."}>>> = 2.195e-03
      bubble_number_density<<<{"description": "Material property name for the number density of intragranular bubbles, [bubbles/m^3]."}>>> = 5e17
      interconnection_initiating_porosity<<<{"description": "Porosity at which fission gas release starts."}>>> = 0.29
      interconnection_terminating_porosity<<<{"description": "Porosity at which fission gas release finishes."}>>> = 0.31
      initial_X_Pu<<<{"description": "Initial atom fraction of plutonium."}>>> = 0.225
      initial_X_Zr<<<{"description": "Initial atom fraction of zirconium."}>>> = 0.163
      critical_porosity<<<{"description": "Porosity at which fission gas release initiates. This needs to be between the interconnection_initiating_porosity and interconnection_terminating_porosity in UPuZrVolumetricSwellingEigenstrain."}>>> = 0.30
      fractional_fgr_initial<<<{"description": "Fraction of fission gas produced that is released once the critical porosity is reached."}>>> = 0.4
      fractional_fgr_post<<<{"description": "Fraction of fission gas produced that is released after interconnection."}>>> = 0.8
      density<<<{"description": "Initial fuel density [kg/m3]."}>>> = 15800
      output_properties<<<{"description": "List of material properties, from this material, to output (outputs must also be defined to an output type)."}>>> = 'porosity gaseous_porosity'
      max_inelastic_increment<<<{"description": "Max inelastic increment."}>>> = 1e-2
    []
  []
[]
(examples/NuclearMaterialActions/MetallicFuel/x441_group_A_nominal_action.i)

The eigenstrain have been automatically parsed and included by wrapping the SolidMechanics QuasiStatic Action in side the NuclearMaterials following the naming convention created by this class.

Input Parameters

  • upuzr_modelsType(s) of physics models used on this block. The choices are: FIPD Burnup Elastic Creep Swelling ThermalExpansion

    C++ Type:MultiMooseEnum

    Options:FIPD, Burnup, Elastic, Creep, Swelling, ThermalExpansion

    Controllable:No

    Description:Type(s) of physics models used on this block. The choices are: FIPD Burnup Elastic Creep Swelling ThermalExpansion

Required Parameters

  • X_Pu_function0Function that describes the initial axial plutonium profile as a function of axial position only. This function is used to compute the radial power profile, and as such may only vary in the radial direction due to the current correlation.

    Default:0

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function that describes the initial axial plutonium profile as a function of axial position only. This function is used to compute the radial power profile, and as such may only vary in the radial direction due to the current correlation.

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • add_variablesFalseAdd the displacement variables

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Add the displacement variables

  • additional_physicsType(s) of physics used on this block. The choices are: Mechanics Thermal

    C++ Type:MultiMooseEnum

    Options:Mechanics, Thermal

    Controllable:No

    Description:Type(s) of physics used on this block. The choices are: Mechanics Thermal

  • automatic_eigenstrain_namesTrueCollects all material eigenstrains and passes to required strain calculator within the solid mechanics physics internally.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Collects all material eigenstrains and passes to required strain calculator within the solid mechanics physics internally.

  • axial_power_profileName of the function describing axial power profile.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the function describing axial power profile.

  • bubble_number_densityN_bubblesMaterial property name for the number density of intragranular bubbles, [bubbles/m^3].

    Default:N_bubbles

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Material property name for the number density of intragranular bubbles, [bubbles/m^3].

  • burnup_nameburnupName of created burnup material.

    Default:burnup

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of created burnup material.

  • critical_porosity0.24Porosity at which fission gas release initiates. This needs to be between the interconnection_initiating_porosity and interconnection_terminating_porosity in UPuZrVolumetricSwellingEigenstrain.

    Default:0.24

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity at which fission gas release initiates. This needs to be between the interconnection_initiating_porosity and interconnection_terminating_porosity in UPuZrVolumetricSwellingEigenstrain.

  • d1_functionFunction to be multiplied by d1

    C++ Type:std::vector<FunctionName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Function to be multiplied by d1

  • d1_function_variableVariable to be used when evaluating d1_function. If not given, time will be used.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Variable to be used when evaluating d1_function. If not given, time will be used.

  • decomposition_methodEigenSolutionMethods to calculate the finite strain and rotation increments

    Default:EigenSolution

    C++ Type:MooseEnum

    Options:TaylorExpansion, EigenSolution, HughesWinget

    Controllable:No

    Description:Methods to calculate the finite strain and rotation increments

  • densityInitial fuel density [kg/m3].

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial fuel density [kg/m3].

  • diffusion_1st_activation_energiesDiffusion activation energies.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Diffusion activation energies.

  • diffusion_1st_coefficients1st diffusion coefficient.

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:1st diffusion coefficient.

  • diffusion_2nd_activation_energiesSecond diffusion activation energy

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Second diffusion activation energy

  • diffusion_2nd_coefficients2nd diffusion coefficient

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:2nd diffusion coefficient

  • element_decay_constantsRadioactive decay constant for elements tracked

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Radioactive decay constant for elements tracked

  • element_scalingRelative scaling of element percentages

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Relative scaling of element percentages

  • elements_initial_concentrationRelative ratio of element concentration

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Relative ratio of element concentration

  • elements_trackedThe elements tracked within TRISO simulations.

    C++ Type:MultiMooseEnum

    Options:Ag, Cs, Sr

    Controllable:No

    Description:The elements tracked within TRISO simulations.

  • energy_per_fission3.28451e-11energy per fission

    Default:3.28451e-11

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:energy per fission

  • extra_vector_tagsThe tag names for extra vectors that residual data should be saved into

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The tag names for extra vectors that residual data should be saved into

  • familyLAGRANGESpecifies the family of FE shape functions to use for this variable.

    Default:LAGRANGE

    C++ Type:MooseEnum

    Options:LAGRANGE, MONOMIAL, SCALAR, LAGRANGE_VEC, MONOMIAL_VEC, L2_HIERARCHIC, L2_HIERARCHIC_VEC, L2_LAGRANGE, L2_LAGRANGE_VEC, L2_RAVIART_THOMAS

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable.

  • fission_ratefission_rateFission rate material property name.

    Default:fission_rate

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Fission rate material property name.

  • flux_factor1Constant multiplied against the function, rod average linear power, or q_variable.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Constant multiplied against the function, rod average linear power, or q_variable.

  • flux_functionThe function that describes the fast neutron flux

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The function that describes the fast neutron flux

  • fractional_fgr_initial0.8Fraction of fission gas produced that is released once the critical porosity is reached.

    Default:0.8

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fraction of fission gas produced that is released once the critical porosity is reached.

  • fractional_fgr_post1Fraction of fission gas produced that is released after interconnection.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fraction of fission gas produced that is released after interconnection.

  • fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.

    C++ Type:UserObjectName

    Controllable:No

    Description:Name of the UserObject that reads the pin geometry from the mesh.

  • generate_outputAdd scalar quantity output for stress and/or strain

    C++ Type:MultiMooseEnum

    Options:cauchy_stress_xx, cauchy_stress_xy, cauchy_stress_xz, cauchy_stress_yx, cauchy_stress_yy, cauchy_stress_yz, cauchy_stress_zx, cauchy_stress_zy, cauchy_stress_zz, creep_strain_xx, creep_strain_xy, creep_strain_xz, creep_strain_yx, creep_strain_yy, creep_strain_yz, creep_strain_zx, creep_strain_zy, creep_strain_zz, creep_stress_xx, creep_stress_xy, creep_stress_xz, creep_stress_yx, creep_stress_yy, creep_stress_yz, creep_stress_zx, creep_stress_zy, creep_stress_zz, deformation_gradient_xx, deformation_gradient_xy, deformation_gradient_xz, deformation_gradient_yx, deformation_gradient_yy, deformation_gradient_yz, deformation_gradient_zx, deformation_gradient_zy, deformation_gradient_zz, elastic_strain_xx, elastic_strain_xy, elastic_strain_xz, elastic_strain_yx, elastic_strain_yy, elastic_strain_yz, elastic_strain_zx, elastic_strain_zy, elastic_strain_zz, mechanical_strain_xx, mechanical_strain_xy, mechanical_strain_xz, mechanical_strain_yx, mechanical_strain_yy, mechanical_strain_yz, mechanical_strain_zx, mechanical_strain_zy, mechanical_strain_zz, pk1_stress_xx, pk1_stress_xy, pk1_stress_xz, pk1_stress_yx, pk1_stress_yy, pk1_stress_yz, pk1_stress_zx, pk1_stress_zy, pk1_stress_zz, pk2_stress_xx, pk2_stress_xy, pk2_stress_xz, pk2_stress_yx, pk2_stress_yy, pk2_stress_yz, pk2_stress_zx, pk2_stress_zy, pk2_stress_zz, plastic_strain_xx, plastic_strain_xy, plastic_strain_xz, plastic_strain_yx, plastic_strain_yy, plastic_strain_yz, plastic_strain_zx, plastic_strain_zy, plastic_strain_zz, small_stress_xx, small_stress_xy, small_stress_xz, small_stress_yx, small_stress_yy, small_stress_yz, small_stress_zx, small_stress_zy, small_stress_zz, strain_xx, strain_xy, strain_xz, strain_yx, strain_yy, strain_yz, strain_zx, strain_zy, strain_zz, stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz, effective_plastic_strain, effective_creep_strain, firstinv_stress, firstinv_cauchy_stress, firstinv_pk1_stress, firstinv_pk2_stress, firstinv_small_stress, firstinv_strain, hydrostatic_stress, hydrostatic_cauchy_stress, hydrostatic_pk1_stress, hydrostatic_pk2_stress, hydrostatic_small_stress, intensity_stress, intensity_cauchy_stress, intensity_pk1_stress, intensity_pk2_stress, intensity_small_stress, l2norm_mechanical_strain, l2norm_stress, l2norm_cauchy_stress, l2norm_pk1_stress, l2norm_strain, l2norm_elastic_strain, l2norm_plastic_strain, l2norm_creep_strain, max_principal_mechanical_strain, max_principal_stress, max_principal_cauchy_stress, max_principal_pk1_stress, max_principal_pk2_stress, max_principal_small_stress, max_principal_strain, maxshear_stress, maxshear_cauchy_stress, maxshear_pk1_stress, maxshear_pk2_stress, maxshear_small_stress, mid_principal_mechanical_strain, mid_principal_stress, mid_principal_cauchy_stress, mid_principal_pk1_stress, mid_principal_pk2_stress, mid_principal_small_stress, mid_principal_strain, min_principal_mechanical_strain, min_principal_stress, min_principal_cauchy_stress, min_principal_pk1_stress, min_principal_pk2_stress, min_principal_small_stress, min_principal_strain, secondinv_stress, secondinv_cauchy_stress, secondinv_pk1_stress, secondinv_pk2_stress, secondinv_small_stress, secondinv_strain, thirdinv_stress, thirdinv_cauchy_stress, thirdinv_pk1_stress, thirdinv_pk2_stress, thirdinv_small_stress, thirdinv_strain, triaxiality_stress, triaxiality_cauchy_stress, triaxiality_pk1_stress, triaxiality_pk2_stress, triaxiality_small_stress, volumetric_mechanical_strain, volumetric_strain, vonmises_stress, vonmises_cauchy_stress, vonmises_pk1_stress, vonmises_pk2_stress, directional_stress, directional_strain, axial_stress, axial_strain, axial_plastic_strain, axial_creep_strain, axial_elastic_strain, hoop_stress, hoop_strain, hoop_plastic_strain, hoop_creep_strain, hoop_elastic_strain, radial_stress, radial_strain, spherical_hoop_stress, spherical_hoop_strain, spherical_hoop_plastic_strain, spherical_hoop_creep_strain, spherical_hoop_elastic_strain, spherical_radial_stress, spherical_radial_strain

    Controllable:No

    Description:Add scalar quantity output for stress and/or strain

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • incrementalFalseUse incremental or total strain

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Use incremental or total strain

  • initial_X_Pu0Initial atom fraction of plutonium.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial atom fraction of plutonium.

  • initial_X_Zr0.225Initial atom fraction of zirconium.

    Default:0.225

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial atom fraction of zirconium.

  • initial_fuel_density15800Initial fuel density in kg-UPuZr/m^3.

    Default:15800

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial fuel density in kg-UPuZr/m^3.

  • initial_porosity0Initial or fabrication porosity

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial or fabrication porosity

  • interconnection_initiating_porosity0.23Porosity at which fission gas release starts.

    Default:0.23

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity at which fission gas release starts.

  • interconnection_terminating_porosity0.25Porosity at which fission gas release finishes.

    Default:0.25

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity at which fission gas release finishes.

  • localized_initial_temperatureLocalized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Localized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions.

  • localized_temperature_functionFunction that describes localized temperature within the block.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function that describes localized temperature within the block.

  • max_inelastic_increment0.01Max inelastic increment.

    Default:0.01

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Max inelastic increment.

  • orderSECONDSpecifies the order of the FE shape function to use for this variable.

    Default:SECOND

    C++ Type:MooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable.

  • out_of_plane_pressure0Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)

    Default:0

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)

  • pellet_radiusFuel slug radius.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fuel slug radius.

  • physicsType(s) of physics used on this block.

    C++ Type:MultiMooseEnum

    Options:Mechanics, Thermal

    Controllable:No

    Description:Type(s) of physics used on this block.

  • poissons_ratioPoisson's ratio for the material.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Poisson's ratio for the material.

  • porosityporosityPorosity material property name.

    Default:porosity

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity material property name.

  • porosity_modelfractionalPorosity correction factor model. Choices are: none fractional power logged partially_logged.

    Default:fractional

    C++ Type:MooseEnum

    Options:none, fractional, power, logged, partially_logged

    Controllable:No

    Description:Porosity correction factor model. Choices are: none fractional power logged partially_logged.

  • rod_linear_powerName of the function describing rod linear power.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the function describing rod linear power.

  • spheat_modelsavageSpecific heat model. Choices are: karahan savage constant.

    Default:savage

    C++ Type:MooseEnum

    Options:karahan, savage, constant

    Controllable:No

    Description:Specific heat model. Choices are: karahan savage constant.

  • strainSMALLStrain formulation

    Default:SMALL

    C++ Type:MooseEnum

    Options:SMALL, FINITE

    Controllable:No

    Description:Strain formulation

  • stress_free_temperatureReference temperature for thermal eigenstrain calculation.

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Reference temperature for thermal eigenstrain calculation.

  • system_pressure_functionThe function to use for the pressure on the exterior of the cladding.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The function to use for the pressure on the exterior of the cladding.

  • temperatureCoupled temperature.

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled temperature.

  • thcond_modellanlThermal conductivity model. Choices are: billone galloway lanl kim constant.

    Default:lanl

    C++ Type:MooseEnum

    Options:billone, galloway, lanl, kim, constant

    Controllable:No

    Description:Thermal conductivity model. Choices are: billone galloway lanl kim constant.

  • thermal_expansion_coeff1.18e-05Thermal expansion coefficient.

    Default:1.18e-05

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thermal expansion coefficient.

  • use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Flag to use automatic differentiation (AD) objects when possible

  • youngs_modulusYoung's modulus of the material.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Young's modulus of the material.

Optional Parameters

  • additional_generate_outputAdd scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)

    C++ Type:MultiMooseEnum

    Options:cauchy_stress_xx, cauchy_stress_xy, cauchy_stress_xz, cauchy_stress_yx, cauchy_stress_yy, cauchy_stress_yz, cauchy_stress_zx, cauchy_stress_zy, cauchy_stress_zz, creep_strain_xx, creep_strain_xy, creep_strain_xz, creep_strain_yx, creep_strain_yy, creep_strain_yz, creep_strain_zx, creep_strain_zy, creep_strain_zz, creep_stress_xx, creep_stress_xy, creep_stress_xz, creep_stress_yx, creep_stress_yy, creep_stress_yz, creep_stress_zx, creep_stress_zy, creep_stress_zz, deformation_gradient_xx, deformation_gradient_xy, deformation_gradient_xz, deformation_gradient_yx, deformation_gradient_yy, deformation_gradient_yz, deformation_gradient_zx, deformation_gradient_zy, deformation_gradient_zz, elastic_strain_xx, elastic_strain_xy, elastic_strain_xz, elastic_strain_yx, elastic_strain_yy, elastic_strain_yz, elastic_strain_zx, elastic_strain_zy, elastic_strain_zz, mechanical_strain_xx, mechanical_strain_xy, mechanical_strain_xz, mechanical_strain_yx, mechanical_strain_yy, mechanical_strain_yz, mechanical_strain_zx, mechanical_strain_zy, mechanical_strain_zz, pk1_stress_xx, pk1_stress_xy, pk1_stress_xz, pk1_stress_yx, pk1_stress_yy, pk1_stress_yz, pk1_stress_zx, pk1_stress_zy, pk1_stress_zz, pk2_stress_xx, pk2_stress_xy, pk2_stress_xz, pk2_stress_yx, pk2_stress_yy, pk2_stress_yz, pk2_stress_zx, pk2_stress_zy, pk2_stress_zz, plastic_strain_xx, plastic_strain_xy, plastic_strain_xz, plastic_strain_yx, plastic_strain_yy, plastic_strain_yz, plastic_strain_zx, plastic_strain_zy, plastic_strain_zz, small_stress_xx, small_stress_xy, small_stress_xz, small_stress_yx, small_stress_yy, small_stress_yz, small_stress_zx, small_stress_zy, small_stress_zz, strain_xx, strain_xy, strain_xz, strain_yx, strain_yy, strain_yz, strain_zx, strain_zy, strain_zz, stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz, effective_plastic_strain, effective_creep_strain, firstinv_stress, firstinv_cauchy_stress, firstinv_pk1_stress, firstinv_pk2_stress, firstinv_small_stress, firstinv_strain, hydrostatic_stress, hydrostatic_cauchy_stress, hydrostatic_pk1_stress, hydrostatic_pk2_stress, hydrostatic_small_stress, intensity_stress, intensity_cauchy_stress, intensity_pk1_stress, intensity_pk2_stress, intensity_small_stress, l2norm_mechanical_strain, l2norm_stress, l2norm_cauchy_stress, l2norm_pk1_stress, l2norm_strain, l2norm_elastic_strain, l2norm_plastic_strain, l2norm_creep_strain, max_principal_mechanical_strain, max_principal_stress, max_principal_cauchy_stress, max_principal_pk1_stress, max_principal_pk2_stress, max_principal_small_stress, max_principal_strain, maxshear_stress, maxshear_cauchy_stress, maxshear_pk1_stress, maxshear_pk2_stress, maxshear_small_stress, mid_principal_mechanical_strain, mid_principal_stress, mid_principal_cauchy_stress, mid_principal_pk1_stress, mid_principal_pk2_stress, mid_principal_small_stress, mid_principal_strain, min_principal_mechanical_strain, min_principal_stress, min_principal_cauchy_stress, min_principal_pk1_stress, min_principal_pk2_stress, min_principal_small_stress, min_principal_strain, secondinv_stress, secondinv_cauchy_stress, secondinv_pk1_stress, secondinv_pk2_stress, secondinv_small_stress, secondinv_strain, thirdinv_stress, thirdinv_cauchy_stress, thirdinv_pk1_stress, thirdinv_pk2_stress, thirdinv_small_stress, thirdinv_strain, triaxiality_stress, triaxiality_cauchy_stress, triaxiality_pk1_stress, triaxiality_pk2_stress, triaxiality_small_stress, volumetric_mechanical_strain, volumetric_strain, vonmises_stress, vonmises_cauchy_stress, vonmises_pk1_stress, vonmises_pk2_stress, directional_stress, directional_strain, axial_stress, axial_strain, axial_plastic_strain, axial_creep_strain, axial_elastic_strain, hoop_stress, hoop_strain, hoop_plastic_strain, hoop_creep_strain, hoop_elastic_strain, radial_stress, radial_strain, spherical_hoop_stress, spherical_hoop_strain, spherical_hoop_plastic_strain, spherical_hoop_creep_strain, spherical_hoop_elastic_strain, spherical_radial_stress, spherical_radial_strain

    Controllable:No

    Description:Add scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)

  • blockThe list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to

  • displacementsThe displacements appropriate for the simulation geometry and coordinate system: Used in density and strain models

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacements appropriate for the simulation geometry and coordinate system: Used in density and strain models

  • volumetric_locking_correctionFalseFlag to correct volumetric locking

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Flag to correct volumetric locking

Mechanics Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

Advanced Parameters

  • output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type).

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of material properties, from this material, to output (outputs must also be defined to an output type).

  • outputsall Vector of output names where you would like to restrict the output of variables(s) associated with this object

    Default:all

    C++ Type:std::vector<OutputName>

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

Outputs. Parameters