Nuclear Material Particle Fuel

Reduces the Material block length for TRISO fuel within input files.

Description

This NuclearMaterialParticleFuel action reduces BISON input file length by internally generating the Materials required for simulating TRISO nuclear fuel.

warningwarning:For TRISO Use Only

This action is designed for use with only TRISO simulations.

User-based Interface

To reduce the length and complexity of necessary blocks for simulations, an extensive standardization of operating conditions has been utilized within the NuclearMaterials.

All of the blocks, generated with the default parameter settings, are shown in Table 1, Table 2, and Table 3. These blocks are created internally, based on the Fuel Models and/or physics conditions shown. Additional parameters for each created class can be found below.

commentnote

Certain parameters are determined internally to further reduce input length and complexity.

The classes in Table 1 are automatically created when using NuclearMaterialParticleFuel depending on the Fuel Models and Fission operation used as well as what occurs under Physics conditions.

Table 1: Material classes created by the NuclearMaterialParticleFuel action

Created ClassesPre-Set ParametersBlock NameLayers ModelsFission Operation
StrainAdjustedDensity'fuel_block_name' + "_density"Normal
GenericFunctionMaterialprop_name = fission_ratefission_rateNormal
prop_values = fission_rate
GenericFunctionMaterialprop_name = fast_neutron_fluencefast_neutron_fluenceNormal
prop_values = fast_neutron_fluence
FastNeutronFluxprop_name = fast_neutron_fluxfast_neutron_fluxNormal
prop_values = fast_neutron_flux
UCOFGRfission_gas_releaseNormal
ArrheniusDiffusionCoefarrhenius_prpty_name = "arrhenius_diffusion_coef_" + 'elem_name''fuel_block_name' + "_conc_" + 'elem_name'DiffusionNormal
SpeciesSourceMaterialproperty_name = 'elem_name' + "_generation""mass_source" + 'elem_name' + "_property"DiffusionNormal
BufferThermalBuffer_thermalThermalNormal
MonolithicSiCThermalSiC_thermalThermalNormal
HeatConductionMaterialIPyC_thermal/OPyC_thermalThermalNormal
commentnote

Either the fast_neutron_flux or fast_neutron_fluence should be selected, but not both at the same time. When either flux or fluence is selected, a function describing it must be included.

The classes in Table 2 are only created when Thermal or if any Fission occurs under the Fission Operation conditions.

Table 2: Auxiliary classes created by the NuclearMaterialParticleFuel action

Created Auxiliary ClassesTypePre-Set ParametersBlock NamePhysics/Layers Models
StrainAdjustedDensityAuxKernelvariable = density'fuel_block_name' + "_density"
property = density
StrainAdjustedDensityAuxVariabledensity
Diffusion CoefficientAuxKernelvariable = 'elem_name' + "_diff_coef"'fuel_block_name' + "_" + 'elem_name' + diff_coef| Diffusion
property = "arrhenius_diffusion_coef_" + 'elem_name'
Diffusion CoefficientAuxVariable'elem_name' + diff_coefDiffusion
Thermal ConductivityAuxKernelvariable = thermal_conductivity'fuel_block_name' + "_thermal_conductivity"Thermal
property = thermal_conductivity
Thermal ConductivityAuxVariablethermal_conductivityThermal
Specific HeatAuxKernelvariable = specific_heat'fuel_block_name' + "_specific_heat"Thermal
property = specific_heat
Specific HeatAuxVariablespecific_heatThermal
Fast Neutron FluenceAuxKernel|fast_neutron_fluenceNormal (Fission)
Fast Neutron FluenceAuxVariable|fast_neutron_fluenceNormal (Fission)
ConcentrationVariableconc + 'elem_name'Diffusion
TemperatureVariabletemperatureThermal
HeatConductionKernelvariable = temperaturefuel_heatThermal
extra_vector_tags = ref
HeatConductionTimeDerivativeKernelvariable = temperaturefuel_heat_dtThermal
extra_vector_tags = ref
ArrheniusDiffusionKernelarrhenius_prpty_name = arrhenius_diffusion_coef_" + 'elem_name''fuel_block_name' + "_mass_" + 'elem_name'Diffusion
variable = "conc_" + 'elem_name'
extra_vector_tags = ref
TimeDerivative / MassLumpedTimeDerivativeKernelvariable = "conc_" + 'elem_name''fuel_block_name' + "_mass_" + 'elem_name' + _dtDiffusion

Table 3: Actions created by the NuclearMaterialParticleFuel action

Created ActionsPre-Set ParametersBlock NamePhysics/Layers Model Conditions
TensorMechanicsActionvolumetric_locking_correction = falsePhysics/SolidMechanics/QuasiStaticMechanics
automatic_eigenstrain_names = true
decomposition_method = EigenSolution
strain = FINITE
## Example Simple Input Syntax

NuclearMaterials simplifies Material block inputs by applying standard parameter and classes depending on the simulation. It is possible to only replace the Materials blocks in an input file with the equivalent NuclearMaterialParticleFuel. This procedure greatly reduces the length and complexity of the the necessary inputs while fully retaining the same functionality and end results. An example of this can be seen below.

Fission Operation

commentnote

This required parameter describes the characteristic type of fission study that will occur, i.e. Normal. This must be placed under the NuclearMaterials block heading and cannot be placed under sub-blocks such as UCO.

Fuel Model Parameters

  • Diffusion : Models diffusion of specified elements through the fuel.

  • Burnup : Models fission rate equations describing the evolution of the concentrations of each heavy element with fuel.

Expanded Fuel Material Block


[Materials]
  [fission_rate]
    type = GenericFunctionMaterial
    prop_names = fission_rate
    prop_values = fission_rate
  []
  [fast_neutron_fluence]
    type = GenericFunctionMaterial
    prop_names = fast_neutron_fluence
    prop_values = fast_neutron_fluence
  []
  [UCO_burnup]
    type = TRISOBurnup
    initial_density = 10400.0
  []
  [UCO_thermal]
    type = UCOThermal
    block = fuel
    temperature = temperature
  []
  [UCO_density]
    type = StrainAdjustedDensity
    block = fuel
    density = 10400.0
  []
  [fission_gas_release]
    type = UCOFGR
    block = fuel
    average_grain_radius = 10e-6
    temperature = temperature
    triso_geometry = particle_geometry
  []
  [fuel_conc_Ag]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 6.7e-9               # m^2/s
    q1 = 165e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
  []
  [mass_source_Ag_property]
    type = SpeciesSourceMaterial
    property_name = Ag_generation
    kind = Ag
    block = fuel
  []
  [fuel_conc_Cs]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 5.6e-8               # m^2/s
    q1 = 209e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
  []
  [mass_source_Cs_property]
    type = SpeciesSourceMaterial
    property_name = Cs_generation
    kind = Cs
    block = fuel
  []
  [fuel_conc_Sr]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 2.2e-3               # m^2/s
    q1 = 488e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
  []
  [mass_source_Sr_property]
    type = SpeciesSourceMaterial
    property_name = Sr_generation
    kind = Sr
    block = fuel
  []
[]

Equivalent Simplified NuclearMaterial Fuel Block

[NuclearMaterials<<<{"href": "../index.html"}>>>]
  fission_operation<<<{"description": "Type of fission occuring in this simulation."}>>> = 'Normal'
  physics<<<{"description": "Type(s) of physics used on this block."}>>> = 'Thermal'
  initial_temperature<<<{"description": "Initial temperature in Kelvins."}>>> = 923.15
  elements_tracked<<<{"description": "The elements tracked within TRISO simulations."}>>> = 'Ag'
  elements_initial_concentration<<<{"description": "Relative ratio of element concentration"}>>> = '0.0'
  element_scaling<<<{"description": "Relative scaling of element percentages"}>>> = '1e14'
  use_automatic_differentiation<<<{"description": "Flag to use automatic differentiation (AD) objects when possible"}>>> = false
  [ParticleFuel<<<{"href": "index.html"}>>>]
    [UCO]
      fuel_type<<<{"description": "Type of fuel used in TRISO simulation.  The choices are: UO2 UCO"}>>> = UCO
      particle_fuel_models<<<{"description": "Type(s) of physics models used on this block.   The choices are: Burnup Diffusion Swelling ThermalExpansion Creep"}>>> = 'Burnup Diffusion'
      diffusion_1st_coefficients<<<{"description": "1st diffusion coefficient."}>>> = '6.7e-9'
      diffusion_1st_activation_energies<<<{"description": "Diffusion activation energies."}>>> = '165e3'
      diffusion_2nd_coefficients<<<{"description": "2nd diffusion coefficient"}>>> = '0'
      diffusion_2nd_activation_energies<<<{"description": "Second diffusion activation energy"}>>> = '0'
      block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
      fission_rate_function<<<{"description": "The function that describes the fission rate."}>>> = fission_rate
      fast_neutron_fluence_function<<<{"description": "Function that describes the fast neutron fluence."}>>> = fast_neutron_fluence
      initial_density<<<{"description": "Initial density in kg-UO2/m^3"}>>> = 10400.0
      average_grain_radius<<<{"description": "Average grain radius of fuel"}>>> = 10e-6
      triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    []
  []
[]
(assessment/TRISO/validation/AGR-1/AGR-1_action.i)

Example Fully Reduced Input Syntax

Input file length and complexity can be reduced even further by use of additional Physics and/or LayersModels block parameters, in addition to applying common parameters to sub-blocks under the NuclearMaterials header.

Physics parameters

  • Mechanics : This will create the TensorMechanicsAction block(s) under which it is listed. If listed under the NuclearMaterial block header, then this will be applied to all blocks under the header.

  • Thermal : This will create the temperature variable, the Kernel blocks HeatConduction and HeatConductionTimeDerivative needed to model thermal effects for fuel materials.

Expanded Fuel Block


[Variables]
  [temperature]
    initial_condition = 923.15
  []
[]
[AuxVariables]
  [fission_rate]
    block = fuel
    order = CONSTANT
    family = MONOMIAL
  []
  [burnup]
    block = fuel
    order = CONSTANT
    family = MONOMIAL
  []
  [fast_neutron_fluence]
    order = CONSTANT
    family = MONOMIAL
  []
  [density]
    order = CONSTANT
    family = MONOMIAL
  []
  [thermal_conductivity]
    order = CONSTANT
    family = MONOMIAL
  []
  [specific_heat]
    order = CONSTANT
    family = MONOMIAL
  []
  [fis_gas_produced]
    order = CONSTANT
    family = MONOMIAL
  []
  [fis_gas_released]
    order = CONSTANT
    family = MONOMIAL
  []
[]
[Kernels]
  [heat_dt]
    type = HeatConductionTimeDerivative
    variable = temperature
  []
  [heat]
    type = HeatConduction
    variable = temperature
    extra_vector_tags = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource
    variable = temperature
    block = fuel
    fission_rate = fission_rate
    extra_vector_tags = 'ref'
  []
[]
[AuxKernels]
  [fissionrate]
    type = MaterialRealAux
    variable = fission_rate
    property = fission_rate
    block = fuel
    execute_on = timestep_begin
  []
  [burnup]
    type = MaterialRealAux
    variable = burnup
    property = burnup
    block = fuel
    execute_on = timestep_begin
  []
  [fast_neutron_fluence]
    type = MaterialRealAux
    variable = fast_neutron_fluence
    property = fast_neutron_fluence
    block = 'fuel buffer IPyC SiC OPyC'
    execute_on = timestep_begin
  []
  [density]
    type = MaterialRealAux
    variable = density
    property = density
    block = 'fuel buffer IPyC SiC OPyC'
    execute_on = 'initial linear'
  []
  [thermal_conductivity]
    type = MaterialRealAux
    variable = thermal_conductivity
    property = thermal_conductivity
    block = 'fuel buffer IPyC SiC OPyC'
    execute_on = timestep_end
  []
  [specific_heat]
    type = MaterialRealAux
    variable = specific_heat
    property = specific_heat
    block = 'fuel buffer IPyC SiC OPyC'
    execute_on = timestep_end
  []
  [fis_gas_produced]
    type = MaterialRealAux
    variable = fis_gas_produced
    property = fis_gas_produced
    block = fuel
    execute_on = linear
  []
  [fis_gas_released]
    type = MaterialRealAux
    variable = fis_gas_released
    property = fis_gas_released
    block = fuel
    execute_on = linear
  []
[]
[Materials]
  [fission_rate]
    type = GenericFunctionMaterial
    prop_names = fission_rate
    prop_values = fission_rate
  []
  [fast_neutron_fluence]
    type = GenericFunctionMaterial
    prop_names = fast_neutron_fluence
    prop_values = fast_neutron_fluence
  []
  [UCO_burnup]
    type = TRISOBurnup
    initial_density = 10400.0
  []
  [UCO_thermal]
    type = UCOThermal
    block = fuel
    temperature = temperature
  []
  [UCO_density]
    type = StrainAdjustedDensity
    block = fuel
    density = 10400.0
  []
  [fission_gas_release]
    type = UCOFGR
    block = fuel
    average_grain_radius = 10e-6
    temperature = temperature
    triso_geometry = particle_geometry
  []
  [fuel_conc_Ag]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 6.7e-9               # m^2/s
    q1 = 165e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
  []
  [mass_source_Ag_property]
    type = SpeciesSourceMaterial
    property_name = Ag_generation
    kind = Ag
    block = fuel
  []
  [fuel_conc_Cs]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 5.6e-8               # m^2/s
    q1 = 209e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
  []
  [mass_source_Cs_property]
    type = SpeciesSourceMaterial
    property_name = Cs_generation
    kind = Cs
    block = fuel
  []
  [fuel_conc_Sr]
    type = ArrheniusDiffusionCoef
    block = fuel
    d1 = 2.2e-3               # m^2/s
    q1 = 488e3                # J/mol
    temperature = temperature
    arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
  []
  [mass_source_Sr_property]
    type = SpeciesSourceMaterial
    property_name = Sr_generation
    kind = Sr
    block = fuel
  []
[]

Fully Simplified Fuel Block

[NuclearMaterials<<<{"href": "../index.html"}>>>]
  fission_operation<<<{"description": "Type of fission occuring in this simulation."}>>> = 'Normal'
  physics<<<{"description": "Type(s) of physics used on this block."}>>> = 'Thermal'
  initial_temperature<<<{"description": "Initial temperature in Kelvins."}>>> = 923.15
  elements_tracked<<<{"description": "The elements tracked within TRISO simulations."}>>> = 'Ag'
  elements_initial_concentration<<<{"description": "Relative ratio of element concentration"}>>> = '0.0'
  element_scaling<<<{"description": "Relative scaling of element percentages"}>>> = '1e14'
  use_automatic_differentiation<<<{"description": "Flag to use automatic differentiation (AD) objects when possible"}>>> = false
  [ParticleFuel<<<{"href": "index.html"}>>>]
    [UCO]
      fuel_type<<<{"description": "Type of fuel used in TRISO simulation.  The choices are: UO2 UCO"}>>> = UCO
      particle_fuel_models<<<{"description": "Type(s) of physics models used on this block.   The choices are: Burnup Diffusion Swelling ThermalExpansion Creep"}>>> = 'Burnup Diffusion'
      diffusion_1st_coefficients<<<{"description": "1st diffusion coefficient."}>>> = '6.7e-9'
      diffusion_1st_activation_energies<<<{"description": "Diffusion activation energies."}>>> = '165e3'
      diffusion_2nd_coefficients<<<{"description": "2nd diffusion coefficient"}>>> = '0'
      diffusion_2nd_activation_energies<<<{"description": "Second diffusion activation energy"}>>> = '0'
      block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
      fission_rate_function<<<{"description": "The function that describes the fission rate."}>>> = fission_rate
      fast_neutron_fluence_function<<<{"description": "Function that describes the fast neutron fluence."}>>> = fast_neutron_fluence
      initial_density<<<{"description": "Initial density in kg-UO2/m^3"}>>> = 10400.0
      average_grain_radius<<<{"description": "Average grain radius of fuel"}>>> = 10e-6
      triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    []
  []
[]
(assessment/TRISO/validation/AGR-1/AGR-1_action.i)

The eigenstrain names must be included in the SolidMechanics QuasiStatic Action following the naming convention created by this class. The easiest method to ensure this continutity is to include Mechanics in the physics input parameter. By default, this will select automatic_eigenstrain_names = true.

warningwarning

automatic_eigenstrain_names = true, the eigenstrain_names will be populated under restrictive conditions for classes such as CompositeEigenstrain, ComputeReducedOrderEigenstrain, and RankTwoTensorMaterialADConverter. The input components for these classes are not included in the eigenstrain_names passed to the TensorMechanicsAction. Set the automatic_eigenstrain_names = false and populate this list manually if these components need to be included.

Example Input File Syntax

-!listing test/tests/triso/base_irradiation/triso_accident_action.i block=NuclearMaterials/ParticleFuel/UO2-

Input Parameters

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

    C++ Type:MultiMooseEnum

    Options:Burnup, Diffusion, Swelling, ThermalExpansion, Creep

    Controllable:No

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

Required Parameters

  • C_UCarbon to uranium ratio

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Carbon to uranium ratio

  • O_UOxygen to uranium ratio

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Oxygen to uranium ratio

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

  • average_grain_radius1e-05Average grain radius of fuel

    Default:1e-05

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Average grain radius of fuel

  • axial_power_profileFunction that describes the axial power profile as a function of axial position and time.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function that describes the axial power profile as a function of axial position and time.

  • burnup_functionBurnup function

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Burnup function

  • concentration_density1Coefficient to multiply by the body force term

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Coefficient to multiply by the body force term

  • cutoff_neutron_flux0The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions.

  • 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

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial fuel density

  • 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 Released per Fission

    Default:3.28451e-11

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Energy Released 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.

  • fast_neutron_fluence_functionFunction that describes the fast neutron fluence.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function that describes the fast neutron fluence.

  • fast_neutron_fluxfast_neutron_fluxThe fast neutron flux (neutrons/m^2/s) material property

    Default:fast_neutron_flux

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:The fast neutron flux (neutrons/m^2/s) material property

  • fission_rate_functionThe function that describes the fission rate.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The function that describes the fission rate.

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

  • fuel_typeUCOType of fuel used in TRISO simulation. The choices are: UO2 UCO

    Default:UCO

    C++ Type:MooseEnum

    Options:UO2, UCO

    Controllable:No

    Description:Type of fuel used in TRISO simulation. The choices are: UO2 UCO

  • gas_constant8.31446Universal gas constant (J/mol-K)

    Default:8.31446

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Universal gas constant (J/mol-K)

  • gas_swelling_model_typeSIFGRSWhich type of model to use to calculate the gaseous swelling. Choices are SIFGRS MATPRO SIFGRS_IG. If you select SIFGRS or SIFGRS_IG, the SIFGRS model must be included in the input file.

    Default:SIFGRS

    C++ Type:MooseEnum

    Options:SIFGRS, MATPRO, SIFGRS_IG

    Controllable:No

    Description:Which type of model to use to calculate the gaseous swelling. Choices are SIFGRS MATPRO SIFGRS_IG. If you select SIFGRS or SIFGRS_IG, the SIFGRS model must be included in the input file.

  • 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_densityInitial density in kg-UO2/m^3

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial density in kg-UO2/m^3

  • initial_enrichmentinitial enrichment fraction of U235 (wt percent)

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:initial enrichment fraction of U235 (wt percent)

  • initial_porosity0.05Initial porosity. Must be between 0.0 and 1.0.

    Default:0.05

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial porosity. Must be between 0.0 and 1.0.

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

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

  • q_variableVariable holding linear heat rate in pellet in W/m

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Variable holding linear heat rate in pellet in W/m

  • rod_ave_lin_powFunction that describes the linear power as a function of time.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function that describes the linear power as a function of time.

  • 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

  • thermal_conductivity_modelFINK_LUCUTAThe thermal conductivity model.

    Default:FINK_LUCUTA

    C++ Type:MooseEnum

    Options:FINK_LUCUTA, HALDEN, NFIR, MODIFIED_NFI, RONCHI, STAICU, TOPTAN

    Controllable:No

    Description:The thermal conductivity model.

  • triso_geometryTRISOGeometry user object name

    C++ Type:UserObjectName

    Controllable:No

    Description:TRISOGeometry user object name

  • 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