NuclearMaterialNTP

Sets up the material objects needed to define the thermomechanical properties of Nuclear Thermal Propulsion (NTP) materials

Description

This action reduces the input file size for Nuclear Thermal Propulsion (NTP) simulations by generating a set of material classes. The action can be used to generate material properties for cladding and ceramic-metal (cermet) composites composed of the following materials:

  • Fuels: uranium mononitride (UN)

  • Refractory metals:

    • Tungsten

    • Molybdenum

    • Alloy 366 (Mo-30W weight-percent)

The user must specify one or more materials using the material_types parameter. If one material is specified, it must be a refractory metal, and the action sets up material classes for a cladding. If two materials are specified, they must be a fuel and a refractory metal, and the action sets up material classes for a cermet by applying a volume-averaged mixture rule.

The action uses material-specific Thermal, ElasticityTensor, and ThermalExpansionEigenstrain classes to calculate the thermal conductivity, isobaric specific heat capacity, elasticity tensor, and thermal expansion of each material. One notable exception is that the elasticity tensor of Alloy 366 is defined by applying a volume-averaged mixture rule to the elasticity tensors of tungsten and molybdenum. This will be updated when data for the elastic properties of Alloy 366 become available.

Table 1 shows an example of the material classes generated when material_types = 'UN Molybdenum'. Regardless of whether the action is applied to generate the material properties of a cladding or cermet, the material properties and their derivatives are defined using common naming conventions: thermal_conductivity, specific_heat, and elasticity_tensor.

Fission Operation

commentnote

This required parameter describes the characteristic type of fission study that will occur. For NTP 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 NTP.

Table 1: Example of the material classes created by the NuclearMaterialNTP action when material_types = 'UN Molybdenum'

Created ClassesBlock NameMaterial Property Name(s)
UNThermalUN_thermal_propertiesUN_thermal_conductivity
UN_specific_heat
MolybdenumThermalMolybdenum_thermal_propertiesMolybdenum_thermal_conductivity
Molybdenum_specific_heat
GenericConstantMaterialCermet_weightsfuel_fraction
matrix_fraction
ParsedMaterialCermet_thermal_conductivitythermal_conductivity
ParsedMaterialCermet_specific_heatspecific_heat
UNElasticityTensorUN_elasticity_tensorUN_elasticity_tensor
MolybdenumElasticityTensorMolybdenum_elasticity_tensorMolybdenum_elasticity_tensor
CompositeElasticityTensorCermet_elasticity_tensorelasticity_tensor
UNThermalExpansionEigenstrainUN_thermal_expansionUN_thermal_expansion
MolybdenumThermalExpansionEigenstrainMolybdenum_thermal_expansionMolybdenum_thermal_expansion
CompositeEigenstrainCermet_thermal_expansionthermal_expansion
StrainAdjustedDensitydensity

Example Input Syntax

An example of the expanded and simplified input syntax is provided below for material_types = 'UN Alloy366' and fuel_fraction = 0.6.

Expanded Syntax

[Materials]
# This input file sets up a nuclear thermal propulsion problem by calculating
# the material properties of a tungsten clad Alloy366-UN cermet at various
# temperatures ranging from 200 to 2800 K.  These are used along with the
# following objects to set up a simple stress divergence problem:
# - solid mechanics quasi-static action
# - linear elastic stress formulation
# - fixed displacement boundary condition on the left side of the 1D domain
# - heat conduction kernels
# - a generic value for density

[GlobalParams]
  displacements = disp_x
  value_range_behavior = IGNORE
[]

[Mesh]
  use_displaced_mesh = false
  [generated_mesh]
    type = GeneratedMeshGenerator
    dim = 1
    nx = 2
  []
  [block_0]
    type = ParsedSubdomainMeshGenerator
    input = generated_mesh
    block_id = 0
    block_name = block_0
    combinatorial_geometry = 'x <= 0.5'
  []
  [block_1]
    type = ParsedSubdomainMeshGenerator
    input = block_0
    block_id = 1
    block_name = block_1
    combinatorial_geometry = 'x > 0.5'
  []
  uniform_refine = 4
[]

[Variables]
  [temperature]
    [InitialCondition]
      type = FunctionIC
      function = temperature_function
    []
  []
[]

[AuxVariables]
  [elasticity_tensor_0000]
    family = MONOMIAL
    order = CONSTANT
  []
  [thermal_expansion_000]
    family = MONOMIAL
    order = CONSTANT
  []
[]

[BCs]
  [fix_left]
    type = DirichletBC
    variable = disp_x
    value = 0
    boundary = left
  []
[]

[Physics]
  [SolidMechanics/QuasiStatic/All]
    strain = SMALL
    add_variables = true
    eigenstrain_names = thermal_expansion
    temperature = temperature
  []
[]

[Kernels]
  [heat_time_derivative]
    type = HeatConductionTimeDerivative
    variable = temperature
    density_name = density
    specific_heat = specific_heat
  []
  [heat_conduction]
    type = HeatConduction
    variable = temperature
    diffusion_coefficient = specific_heat
    diffusion_coefficient_dT = specific_heat_dT
  []
[]

[AuxKernels]
  [elasticity_tensor_0000_auxkernel]
    type = RankFourAux
    variable = elasticity_tensor_0000
    rank_four_tensor = elasticity_tensor
    index_i = 0
    index_j = 0
    index_k = 0
    index_l = 0
  []
  [thermal_expansion_000_auxkernel]
    type = RankTwoAux
    variable = thermal_expansion_000
    rank_two_tensor = thermal_expansion
    index_i = 0
    index_j = 0
  []
[]

[Functions]
  [temperature_function]
    type = ParsedFunction
    expression = '200 + (2800 - 200) * x'
  []
[]

[Materials]
  [stress]
    type = ComputeLinearElasticStress
  []
  [block_0_Alloy366_thermal_properties]
    type = Alloy366Thermal
    base_name = Alloy366
    block = block_0
    silence_warnings = true
    temperature = temperature
  []
  [block_0_Tungsten_elasticity_tensor]
    type = TungstenElasticityTensor
    base_name = Tungsten
    block = block_0
    silence_warnings = true
    temperature = temperature
  []
  [block_0_Molybdenum_elasticity_tensor]
    type = MolybdenumElasticityTensor
    base_name = Molybdenum
    block = block_0
    silence_warnings = true
    temperature = temperature
  []
  [block_0_Alloy366_weights]
    type = GenericConstantMaterial
    block = block_0
    prop_names = 'Tungsten_fraction Molybdenum_fraction'
    prop_values = '0.3 0.7'
  []
  [block_0_Alloy366_elasticity_tensor]
    type = CompositeElasticityTensor
    coupled_variables = temperature
    base_name = Alloy366
    block = block_0
    tensors = 'Tungsten Molybdenum'
    weights = 'Tungsten_fraction Molybdenum_fraction'
  []
  [block_0_Alloy366_thermal_expansion]
    type = Alloy366ThermalExpansionEigenstrain
    base_name = Alloy366
    block = block_0
    eigenstrain_name = thermal_expansion
    silence_warnings = true
    stress_free_temperature = 293
    temperature = temperature
  []
  [block_0_UN_thermal_properties]
    type = MNThermal
    formulation = NASAGRC
    base_name = UN
    block = block_0
    temperature = temperature
    porosity = 0
  []
  [block_0_UN_elasticity_tensor]
    type = UNElasticityTensor
    base_name = UN
    block = block_0
    silence_warnings = true
    temperature = temperature
  []
  [block_0_UN_thermal_expansion]
    type = UNThermalExpansionEigenstrain
    base_name = UN
    block = block_0
    eigenstrain_name = thermal_expansion
    silence_warnings = true
    stress_free_temperature = 293
    temperature = temperature
  []
  [block_0_Cermet_weights]
    type = GenericConstantMaterial
    block = block_0
    prop_names = 'fuel_fraction matrix_fraction'
    prop_values = '0.6 0.4'
  []
  [block_0_Cermet_thermal_conductivity]
    type = ParsedMaterial
    block = block_0
    property_name = thermal_conductivity
    expression = 'fuel_fraction * UN_thermal_conductivity + matrix_fraction * Alloy366_thermal_conductivity'
    material_property_names = 'fuel_fraction UN_thermal_conductivity matrix_fraction Alloy366_thermal_conductivity'
    output_properties = thermal_conductivity
    outputs = exodus
  []
  [block_0_Cermet_thermal_conductivity_dT]
    type = ParsedMaterial
    block = block_0
    property_name = thermal_conductivity_dT
    expression = 'fuel_fraction * UN_thermal_conductivity_dT + matrix_fraction * Alloy366_thermal_conductivity_dT'
    material_property_names = 'fuel_fraction UN_thermal_conductivity_dT matrix_fraction Alloy366_thermal_conductivity_dT'
    output_properties = thermal_conductivity_dT
    outputs = exodus
  []
  [block_0_Cermet_density]
    type = StrainAdjustedDensity
    strain_free_density = 11916
  []
  [block_0_Cermet_specific_heat]
    type = ParsedMaterial
    block = block_0
    property_name = specific_heat
    expression = 'fuel_fraction * UN_specific_heat + matrix_fraction * Alloy366_specific_heat'
    material_property_names = 'fuel_fraction UN_specific_heat matrix_fraction Alloy366_specific_heat'
    output_properties = specific_heat
    outputs = exodus
  []
  [block_0_Cermet_specific_heat_dT]
    type = ParsedMaterial
    block = block_0
    property_name = specific_heat_dT
    expression = 'fuel_fraction * UN_specific_heat_dT + matrix_fraction * Alloy366_specific_heat_dT'
    material_property_names = 'fuel_fraction UN_specific_heat_dT matrix_fraction Alloy366_specific_heat_dT'
    output_properties = specific_heat_dT
    outputs = exodus
  []
  [block_0_Cermet_elasticity_tensor]
    type = CompositeElasticityTensor
    coupled_variables = temperature
    block = block_0
    tensors = 'UN Alloy366'
    weights = 'fuel_fraction matrix_fraction'
  []
  [block_0_Cermet_thermal_expansion]
    type = CompositeEigenstrain
    coupled_variables = temperature
    block = block_0
    eigenstrain_name = thermal_expansion
    tensors = 'UN_thermal_expansion Alloy366_thermal_expansion'
    weights = 'fuel_fraction matrix_fraction'
  []
  [block_0_Cermet_thermal_expansion_dT]
    type = GenericConstantRankTwoTensor
    block = block_0
    tensor_name = 'dthermal_expansion/dtemperature'
    tensor_values = '0 0 0 0 0 0 0 0 0'
  []
  [block_1_Tungsten_thermal_properties]
    type = TungstenThermal
    block = block_1
    output_properties = 'thermal_conductivity thermal_conductivity_dT specific_heat specific_heat_dT'
    outputs = exodus
    silence_warnings = true
    temperature = temperature
  []
  [block_1_Tungsten_elasticity_tensor]
    type = TungstenElasticityTensor
    block = block_1
    silence_warnings = true
    temperature = temperature
  []
  [block_1_Tungsten_thermal_expansion]
    type = TungstenThermalExpansionEigenstrain
    block = block_1
    eigenstrain_name = thermal_expansion
    silence_warnings = true
    stress_free_temperature = 293
    temperature = temperature
  []
[]

[Executioner]
  type = Transient
  solve_type = NEWTON
  dt = 1
  num_steps = 1
[]

[Outputs]
  exodus = true
[]
(test/tests/nuclearMaterialNTPAction/two_blocks_manual.i)

Simplified Syntax

[NuclearMaterials<<<{"href": "../index.html"}>>>]
  [NTP<<<{"href": "index.html"}>>>]
    [block_0]
      block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = block_0
      ntp_models<<<{"description": "Type(s) of physics models used on this block.   The choices are: LinearElastic ThermalExpansion"}>>> = 'ThermalExpansion LinearElastic'
      material_types<<<{"description": "Type(s) of materials on this block.  Specify one material for claddings or two materials (a fuel and a refractory metal) for cermets.  The choices are: UN MN Tungsten Molybdenum Alloy366"}>>> = 'Alloy366 UN'
      # fuel_fraction = 0.6  //removed for testing conditions. see tests
      silence_warnings<<<{"description": "Whether to silence correlation out of bound warnings"}>>> = true
      outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = exodus
      output_properties<<<{"description": "List of material properties to output"}>>> = 'thermal_conductivity thermal_conductivity_dT specific_heat specific_heat_dT'
    []
  []
[]
(test/tests/nuclearMaterialNTPAction/two_blocks.i)

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

Input Parameters

  • material_typesType(s) of materials on this block. Specify one material for claddings or two materials (a fuel and a refractory metal) for cermets. The choices are: UN MN Tungsten Molybdenum Alloy366

    C++ Type:MultiMooseEnum

    Options:UN, MN, Tungsten, Molybdenum, Alloy366

    Controllable:No

    Description:Type(s) of materials on this block. Specify one material for claddings or two materials (a fuel and a refractory metal) for cermets. The choices are: UN MN Tungsten Molybdenum Alloy366

  • ntp_modelsType(s) of physics models used on this block. The choices are: LinearElastic ThermalExpansion

    C++ Type:MultiMooseEnum

    Options:LinearElastic, ThermalExpansion

    Controllable:No

    Description:Type(s) of physics models used on this block. The choices are: LinearElastic ThermalExpansion

Required Parameters

  • 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.

  • 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 material density [kg/m3].

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial material 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.

  • 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.

  • 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

  • fuel_fraction0.6Volume fraction of fuel (required only if block contains a cermet material)

    Default:0.6

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Volume fraction of fuel (required only if block contains a cermet material)

  • 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

  • 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.

  • 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)

  • output_propertiesnone List of material properties to output

    Default:none

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

    Controllable:No

    Description:List of material properties to output

  • 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.

  • porosity0Fractional porosity required by the uranium mononitride (UN) thermal conductivity, Young's modulus, and shear modulus correlations (required only if block contains UN or MN)

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fractional porosity required by the uranium mononitride (UN) thermal conductivity, Young's modulus, and shear modulus correlations (required only if block contains UN or MN)

  • silence_warningsFalseWhether to silence correlation out of bound warnings

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to silence correlation out of bound warnings

  • 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: Used in multiple models

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled temperature: Used in multiple models

  • 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.

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

    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

Advanced Parameters