TRISO Tutorial

The TRISO fuel particle geometry consists of a fuel kernel (made of either UO or UCO) surrounded by a buffer and three coating layers, which is shown in Figure 1. These particles are embedded in a spherical, cylindrical, or plate-type graphite matrix, referred to as a fuel element. It is common to model many TRISO particles and evaluate particle failure probabilities. When modeling a fuel element, homogenized properties are typically used, rather than modeling each TRISO particle in the fuel element.

This tutorial has two parts. The first focuses on analysis of a single particle. The second looks at computing failure probabilities.

Figure 1: TRISO particle has a fuel kernel that is surrounded by a buffer and three coating layers: (1) an inner layer of high strength PyC, (2) a layer of SiC, and (3) an outer layer of PyC.

Single TRISO Particle Analysis

This tutorial shows an analysis meant to replicate the way PARFUME models a TRISO particle.

TRISO Mesh

TRISO particles may be represented as 1D, 2D, or 3D meshes. For 1D and 2D -symmetric and -aspherical meshes, it is possible to use mesh generation capabilities in BISON. In all cases, it is possible to use a mesh generated by an external mesh generation tool such as CUBIT.

[Mesh<<<{"href": "../../../syntax/Mesh/index.html"}>>>]
  coord_type = RSPHERICAL
  [gen]
    type = TRISO1DMeshGenerator<<<{"description": "Creates a 1D mesh for use with TRISO analysis.", "href": "../../../source/meshgenerators/TRISO1DMeshGenerator.html"}>>>
    elem_type<<<{"description": "The type of element from libMesh to generate"}>>> = EDGE3
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0 2.125e-4 3.125e-4 3.125e-4 3.525e-4 3.875e-4 4.275e-4'
    mesh_density<<<{"description": "A list giving the number of elements in each interval (could be zero for a gap)."}>>> = '6 6 0 6 8 6'
    block_names<<<{"description": "A list of names to be assigned to the mesh blocks."}>>> = 'fuel buffer IPyC SiC OPyC'
  []
[]
(examples/TRISO/parfume/parfume.i)

Geometry Setup

The TRISOGeometry user object reports the dimensions of the TRISO particle to other models. If the standard TRISO1DMeshGenerator, TRISO1DFiveLayerMeshGenerator or TRISO2DMeshGenerator are used, setting up TRISOGeometry is simplified due to the use of default side set numbers.

[UserObjects<<<{"href": "../../../syntax/UserObjects/index.html"}>>>]
  [particle_geometry]
    type = TRISOGeometry<<<{"description": "Computes TRISO Geometry.", "href": "../../../source/userobject/TRISOGeometry.html"}>>>
  []
[]
(examples/TRISO/parfume/parfume.i)

Kernel

Thermal and mechanical properties of UCO are:

  • Thermal properties

  • Thermal expansion coefficient is set to -/K (value for UO from Olander (1976).

  • Elastic properties

  • Irradiation-induced dimensional change eigenstrain

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [UCO_thermal]
    type = UCOThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for UCO.", "href": "../../../source/materials/UCOThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_thermal_strain]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10e-6 # check this value for UCO
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_elasticity_tensor]
    type = UCOElasticityTensor<<<{"description": "Computes the Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_VolumetricSwellingEigenstrain]
    type = UCOVolumetricSwellingEigenstrain<<<{"description": "Computes fission-induced swelling (percent per percent FIMA) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_swelling_eigenstrain
  []
[]
(examples/TRISO/parfume/parfume.i)

Burnup and fission gas production and release models are:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [UCO_burnup]
    type = TRISOBurnup<<<{"description": "Computes burnup given fission rate density and initial density, initial enrichment, and molar mass of the kernel.", "href": "../../../source/materials/TRISOBurnup.html"}>>>
    initial_density<<<{"description": "initial density of the kernel (kg/m^3)"}>>> = ${initial_fuel_density}
  []

  [fission_gas_release]
    type = UCOFGR<<<{"description": "Fission gas release model for UCO", "href": "../../../source/materials/UCOFGR.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    average_grain_radius<<<{"description": "Average grain radius (m)"}>>> = 10e-6
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    cutoff_neutron_flux<<<{"description": "The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions."}>>> = 0.0
  []
[]
(examples/TRISO/parfume/parfume.i)

The Arrhenius diffusion model is:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [fuel_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 5.6e-8 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 209.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 5.2e-4 # m^2/s
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 362.0e+3 # J/mol
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

Buffer Layer

Thermal and mechanical properties of the buffer are:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [buffer_thermal]
    type = BufferThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for Buffer.", "href": "../../../source/materials/BufferThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    initial_density<<<{"description": "Initial density for Buffer."}>>> = 1050.0
  []

  [buffer_thermal_strain]
    type = BufferThermalExpansionEigenstrain<<<{"description": "Computes thermal expansion (/K) and associated eigenstrain (dimensionless) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = buffer_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_elasticity_tensor]
    type = BufferElasticityTensor<<<{"description": "Computes Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for the buffer layer in TRISO fuels.", "href": "../../../source/materials/solid_mechanics/BufferElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_stress]
    type = BufferCEGACreep<<<{"description": "Computes irradiation-induced creep ((MPa-n/m^2)^-1) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_IIDC_strain]
    type = BufferCEGAIrradiationEigenstrain<<<{"description": "Irradiation eigenstrain for Buffer", "href": "../../../source/materials/solid_mechanics/BufferCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = buffer_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

The Arrhenius diffusion model is:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [buffer_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 1.0e-12 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 0.0
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 0.0
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 0.0
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

PyC Layer

Pyrolytic carbon makes up the inner PyC (IPyC) and outer PyC (OPyC) layers.

Thermal and mechanical properties of PyC are:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [IPyC_thermal]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []

  [IPyC_thermal_strain]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.045
  []

  [IPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_IIDC_strain]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

The Arrhenius diffusion model is:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [IPyC_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 6.3e-8 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 222.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 0.0
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 0.0
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

SiC Layer

Thermal and mechanical properties of SiC are:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [SiC_thermal]
    type = MonolithicSiCThermal<<<{"description": "Computes thermal conductivity and specific heat of monolithic silicon carbide.", "href": "../../../source/materials/MonolithicSiCThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled Temperature"}>>> = temperature
    thermal_conductivity_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = miller
  []

  [SiC_thermal_strain]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 4.9e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = SiC_thermal_eigenstrain
  []

  [SiC_elasticity_tensor]
    type = MonolithicSiCElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for monolithic silicon carbide (CVD) cladding using relations as a function of temperature.", "href": "../../../source/materials/solid_mechanics/MonolithicSiCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    elastic_modulus_model<<<{"description": "Options for the correlation used to calculate the Young's modulus."}>>> = miller
  []
[]
(examples/TRISO/parfume/parfume.i)

The Arrhenius diffusion model is:

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [SiC_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 5.5e-14 # m^2/s
    d1_function<<<{"description": "Function to be multiplied by d1"}>>> = d1_function
    d1_function_variable<<<{"description": "Variable to be used when evaluating d1_function. If not given, time will be used."}>>> = fast_neutron_fluence
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 125.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 1.6e-2 # m^2/s
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 514.0e+3 # J/mol
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]
(examples/TRISO/parfume/parfume.i)

Graphite Matrix

Graphite is not modeled in this tutorial, but its properties are listed below for completeness.

Thermal and mechanical properties of graphite matrix are:

Complete Input File Example

Note that a complete input file includes several sections not mentioned above:

  • GlobalParams where parameters can be set and referenced by any other input block

  • Problem where the coordinate system type is defined

  • Variables where solution variables are defined

  • AuxVariables where other field variables are defined, often for output

  • Functions where defined functions are listed

  • Physics/SolidMechanics/QuasiStatic where connections between stress and strain are listed

  • Kernels where the terms in the partial differential equations being solved are given

  • AuxKernels where the instructions for computing AuxVariables are given

  • Contact and ThermalContact where the interactions between the outer buffer and inner IPyC surfaces are declared

  • BCs where boundary conditions are defined

  • Dampers, Debug, Preconditioning, and Executioner where solver controls and requests for information about the solver are listed

  • Postprocessors where scalar-valued outputs requested

  • Outputs where output files are defined

Details about these sections are found in the BISON Syntax and Reference Manual.

The complete input file is shown below.

# UCO TRISO particle using several PARFUME models

initial_fuel_density = 10400

[GlobalParams<<<{"href": "../../../syntax/GlobalParams/index.html"}>>>]
  order = SECOND
  family = LAGRANGE
  displacements = 'disp_x'
  initial_enrichment = 0.1955 # [wt-]
  flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
  stress_free_temperature = 923.15 # used for thermal expansion
  energy_per_fission = 3.204e-11 # [J/fission]
  O_U = 1.5 # Initial Oxygen to Uranium atom ratio
  C_U = 0.4 # Initial Carbon to Uranium atom ratio
[]

[Mesh<<<{"href": "../../../syntax/Mesh/index.html"}>>>]
  coord_type = RSPHERICAL
  [gen]
    type = TRISO1DMeshGenerator<<<{"description": "Creates a 1D mesh for use with TRISO analysis.", "href": "../../../source/meshgenerators/TRISO1DMeshGenerator.html"}>>>
    elem_type<<<{"description": "The type of element from libMesh to generate"}>>> = EDGE3
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0 2.125e-4 3.125e-4 3.125e-4 3.525e-4 3.875e-4 4.275e-4'
    mesh_density<<<{"description": "A list giving the number of elements in each interval (could be zero for a gap)."}>>> = '6 6 0 6 8 6'
    block_names<<<{"description": "A list of names to be assigned to the mesh blocks."}>>> = 'fuel buffer IPyC SiC OPyC'
  []
[]

[Problem<<<{"href": "../../../syntax/Problem/index.html"}>>>]
  type = ReferenceResidualProblem
  reference_vector = 'ref'
  extra_tag_vectors = 'ref'
[]

[UserObjects<<<{"href": "../../../syntax/UserObjects/index.html"}>>>]
  [particle_geometry]
    type = TRISOGeometry<<<{"description": "Computes TRISO Geometry.", "href": "../../../source/userobject/TRISOGeometry.html"}>>>
  []
[]

[Variables<<<{"href": "../../../syntax/Variables/index.html"}>>>]
  [temperature]
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 923.15
  []
  [conc]
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 0.0
    scaling<<<{"description": "Specifies a scaling factor to apply to this variable"}>>> = 1e18
  []
[]

[AuxVariables<<<{"href": "../../../syntax/AuxVariables/index.html"}>>>]
  [disp_y]
  []
  [disp_z]
  []

  [fission_rate]
    block = fuel
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [burnup]
    block = fuel
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [fast_neutron_flux]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [fast_neutron_fluence]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [gap_condSlave]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [density]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [thermal_conductivity]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [swelling]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [specific_heat]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [volumetric_IIDC_strain]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [radial_IIDC_strain]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [tangential_IIDC_strain]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [BAF]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [fis_gas_produced]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [fis_gas_released]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [gap_HTC]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []

  [gap_distance]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
[]

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [power_history]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    x<<<{"description": "The abscissa values"}>>> = '0 76e6 76.001e6'
    y<<<{"description": "The ordinate values"}>>> = '1 1     0'
  []
  [fission_rate]
    type = LinearCombinationFunction<<<{"description": "Returns the linear combination of the functions", "href": "../../../source/functions/LinearCombinationFunction.html"}>>>
    functions<<<{"description": "This function will return Sum_over_i(w_i * functions_i)"}>>> = power_history
    w<<<{"description": "This function will return Sum_over_i(w_i * functions_i)"}>>> = 3.89e19
  []
  [temp_bc]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    x<<<{"description": "The abscissa values"}>>> = '0    76e6  76.001e6 84.641e6 84.6482e6'
    y<<<{"description": "The ordinate values"}>>> = '1500 1500  300      300      2073'
  []
  [k_function]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    x<<<{"description": "The abscissa values"}>>> = '0     200e6'
    y<<<{"description": "The ordinate values"}>>> = '4e-37 4e-37'
  []
  [d1_function]
    type = ParsedFunction<<<{"description": "Function created by parsing a string", "href": "../../../source/functions/MooseParsedFunction.html"}>>>
    expression<<<{"description": "The user defined function."}>>> = 'exp(t/4.5e25)'
  []
  [d_gap]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    x<<<{"description": "The abscissa values"}>>> = '1500  2100'
    y<<<{"description": "The ordinate values"}>>> = '1e-14 1e-12'
  []
[]

[Physics<<<{"href": "../../../syntax/Physics/index.html"}>>>/SolidMechanics<<<{"href": "../../../syntax/Physics/SolidMechanics/index.html"}>>>/QuasiStatic<<<{"href": "../../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
  [fuel]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
    add_variables<<<{"description": "Add the displacement variables"}>>> = true
    strain<<<{"description": "Strain formulation"}>>> = FINITE
    incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
    generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'hydrostatic_stress stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz'
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'UCO_swelling_eigenstrain UCO_thermal_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [buffer]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = buffer
    add_variables<<<{"description": "Add the displacement variables"}>>> = true
    strain<<<{"description": "Strain formulation"}>>> = FINITE
    incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
    generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'hydrostatic_stress stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz'
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'buffer_IIDC_strain buffer_thermal_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [IPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = IPyC
    add_variables<<<{"description": "Add the displacement variables"}>>> = true
    strain<<<{"description": "Strain formulation"}>>> = FINITE
    incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
    generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'hydrostatic_stress stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz'
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'IPyC_IIDC_strain IPyC_thermal_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [SiC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = SiC
    add_variables<<<{"description": "Add the displacement variables"}>>> = true
    strain<<<{"description": "Strain formulation"}>>> = FINITE
    incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
    generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'hydrostatic_stress stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz'
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'SiC_thermal_eigenstrain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [OPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = OPyC
    add_variables<<<{"description": "Add the displacement variables"}>>> = true
    strain<<<{"description": "Strain formulation"}>>> = FINITE
    incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
    generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'hydrostatic_stress stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz'
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'OPyC_IIDC_strain OPyC_thermal_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
[]

[Kernels<<<{"href": "../../../syntax/Kernels/index.html"}>>>]
  [heat_ie]
    type = HeatConductionTimeDerivative<<<{"description": "Time derivative term $\\rho c_p \\frac{\\partial T}{\\partial t}$ of the thermal energy conservation equation.", "href": "../../../source/kernels/HeatConductionTimeDerivative.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat]
    type = HeatConduction<<<{"description": "Diffusive heat conduction term $-\\nabla\\cdot(k\\nabla T)$ of the thermal energy conservation equation", "href": "../../../source/kernels/HeatConduction.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "../../../source/kernels/NeutronHeatSource.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    fission_rate<<<{"description": "Coupled Fission Rate"}>>> = fission_rate
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [mass_ie]
    type = TimeDerivative<<<{"description": "The time derivative operator with the weak form of $(\\psi_i, \\frac{\\partial u_h}{\\partial t})$.", "href": "../../../source/kernels/TimeDerivative.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = conc
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [mass]
    type = ArrheniusDiffusion<<<{"description": "Diffusion with Arrhenius coefficient", "href": "../../../source/kernels/ArrheniusDiffusion.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = conc
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [mass_source]
    type = BodyForce<<<{"description": "Demonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form $(\\psi_i, -f)$.", "href": "../../../source/kernels/BodyForce.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = conc
    function<<<{"description": "A function that describes the body force"}>>> = power_history
    value<<<{"description": "Coefficient to multiply by the body force term"}>>> = 1.22e-5 # units of mol/m**3-s
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [mass_decay]
    type = Decay<<<{"description": "Computes changing concentration due to radioactive decay.", "href": "../../../source/kernels/Decay.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = conc
    radioactive_decay_constant<<<{"description": "Radioactive decay constant"}>>> = 7.297e-10 # units:(1/sec)  The constant for Cesium
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
[]

[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [fissionrate]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate
    property<<<{"description": "The material property name."}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []

  [burnup]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = burnup
    property<<<{"description": "The material property name."}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []

  [fast_neutron_flux]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_flux
    property<<<{"description": "The material property name."}>>> = fast_neutron_flux
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []

  [fast_neutron_fluence]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_fluence
    property<<<{"description": "The material property name."}>>> = fast_neutron_fluence
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []

  [conductanceSlave]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    property<<<{"description": "The material property name."}>>> = gap_conductance
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = gap_condSlave
    boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = buffer_outer_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [density]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = density
    property<<<{"description": "The material property name."}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
  []

  [thermal_conductivity]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = thermal_conductivity
    property<<<{"description": "The material property name."}>>> = thermal_conductivity
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [specific_heat]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = specific_heat
    property<<<{"description": "The material property name."}>>> = specific_heat
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [swelling]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = swelling
    property<<<{"description": "The material property name."}>>> = swelling
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = linear
  []

  [volumetric_IIDC_strain]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = volumetric_IIDC_strain
    property<<<{"description": "The material property name."}>>> = volumetric_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [radial_IIDC_strain]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = radial_IIDC_strain
    property<<<{"description": "The material property name."}>>> = radial_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [tangential_IIDC_strain]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = tangential_IIDC_strain
    property<<<{"description": "The material property name."}>>> = tangential_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [BAF]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = BAF
    property<<<{"description": "The material property name."}>>> = BAF
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []

  [fis_gas_produced]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fis_gas_produced
    property<<<{"description": "The material property name."}>>> = fis_gas_produced
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = linear
  []

  [fis_gas_released]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fis_gas_released
    property<<<{"description": "The material property name."}>>> = fis_gas_released
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = linear
  []

  [gap_HTC]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    property<<<{"description": "The material property name."}>>> = gap_conductance
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = gap_HTC
    boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = buffer_outer_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [gap_distance]
    type = PenetrationAux<<<{"description": "Auxiliary Kernel for computing several geometry related quantities between two contacting bodies.", "href": "../../../source/auxkernels/PenetrationAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = gap_distance
    boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = buffer_outer_boundary
    paired_boundary<<<{"description": "The boundary to be penetrated"}>>> = IPyC_inner_boundary
    quantity<<<{"description": "The quantity to recover from the available penetration information"}>>> = distance
    tangential_tolerance<<<{"description": "Tangential distance to extend edges of contact surfaces"}>>> = 1e-6
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
[]

[Contact<<<{"href": "../../../syntax/Contact/index.html"}>>>]
  [mechanical]
    primary<<<{"description": "The list of boundary IDs referring to primary sidesets"}>>> = IPyC_inner_boundary
    secondary<<<{"description": "The list of boundary IDs referring to secondary sidesets"}>>> = buffer_outer_boundary
    penalty<<<{"description": "The penalty to apply.  This can vary depending on the stiffness of your materials"}>>> = 1e5
    model<<<{"description": "The contact model to use"}>>> = frictionless
    formulation<<<{"description": "The contact formulation"}>>> = kinematic
  []
[]

[ThermalContact<<<{"href": "../../../syntax/Modules/HeatTransfer/ThermalContact/index.html"}>>>]
  [thermal_contact]
    type = GasGapHeatTransfer
    variable = temperature
    primary = IPyC_inner_boundary
    secondary = buffer_outer_boundary
    initial_moles = initial_moles # coupling to a postprocessor which supplies the initial plenum/gap gas mass
    initial_gas_types = 'Kr Xe'
    initial_fractions = '0.185 0.815'
    gas_released = 'fis_gas_released'
    released_gas_types = 'Kr Xe'
    released_fractions = '0.185 0.815'
    tangential_tolerance = 1e-6
    roughness_primary = 0e-6
    roughness_secondary = 0e-6
    jumpdistance_primary = 0
    jumpdistance_secondary = 0
    quadrature = true
    emissivity_secondary = 0.0
    emissivity_primary = 0.0
    min_gap = 1e-7
    max_gap = 50e-6
    gap_geometry_type = sphere
  []

  [cesium_contact]
    type = GapHeatTransfer
    variable = conc
    primary = IPyC_inner_boundary
    secondary = buffer_outer_boundary
    tangential_tolerance = 1e-6
    gap_conductivity_function = d_gap
    gap_conductivity_function_variable = temperature
    appended_property_name = _conc
    quadrature = true
    gap_geometry_type = sphere
    emissivity_primary = 0.0
    emissivity_secondary = 0.0
    min_gap = 1e-7
  []
[]

[BCs<<<{"href": "../../../syntax/NuclearMaterials/BCs/index.html"}>>>]
  # pin particle along symmetry planes
  [no_disp_x]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = xzero
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []

  # fix temperature on free surface
  [freesurf_temp]
    type = FunctionDirichletBC<<<{"description": "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ is a (possibly) time and space-dependent MOOSE Function.", "href": "../../../source/bcs/FunctionDirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    function<<<{"description": "The forcing function."}>>> = temp_bc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []

  # fix concentration on free surface
  [freesurf_conc]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = conc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []

  # exterior and internal pressures
  [exterior_pressure_x]
    type = Pressure<<<{"description": "Applies a pressure on a given boundary in a given direction", "href": "../../../source/bcs/Pressure.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
    factor<<<{"description": "The magnitude to use in computing the pressure"}>>> = 0.1e6
  []

  [PlenumPressure<<<{"href": "../../../syntax/BCs/PlenumPressure/index.html"}>>>] #  apply gas pressure on buffer and IPyC boundaries
    [plenumPressure]
      boundary<<<{"description": "The list of boundary IDs from the mesh where the pressure will be applied"}>>> = buffer_IPyC_boundary
      initial_pressure<<<{"description": "The initial pressure in the cavity.  If not given, a zero initial pressure will be used."}>>> = 100.0
      startup_time<<<{"description": "The amount of time during which the pressure will ramp from zero to its true value."}>>> = 0
      R<<<{"description": "The universal gas constant for the units used."}>>> = 8.3145
      output_initial_moles<<<{"description": "The name to use when reporting the initial moles of gas"}>>> = initial_moles
      temperature<<<{"description": "The name of the average temperature postprocessor value."}>>> = ave_gas_temp
      volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = 'gap_volume buffer_void_volume kernel_void_volume'
      material_input<<<{"description": "The name of the postprocessor(s) that holds the amount of material injected into the plenum."}>>> = 'fis_gas_released'
      output<<<{"description": "The name to use for the cavity pressure value"}>>> = gas_pressure
    []
  []
[]

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]

  [fission_rate]
    type = GenericFunctionMaterial<<<{"description": "Material object for declaring properties that are populated by evaluation of Function object.", "href": "../../../source/materials/GenericFunctionMaterial.html"}>>>
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = fission_rate
    prop_values<<<{"description": "The corresponding names of the functions that are going to provide the values for the variables"}>>> = fission_rate
  []

  [fast_neutron_flux]
    type = FastNeutronFlux<<<{"description": "Computes fast neutron flux.", "href": "../../../source/materials/FastNeutronFlux.html"}>>>
    calculate_fluence<<<{"description": "Flag to calculate fluence from the flux."}>>> = true
    flux_function<<<{"description": "The function that describes the fast neutron flux"}>>> = power_history
    factor<<<{"description": "Constant multiplied against the function, rod average linear power, or q_variable."}>>> = 5e17
  []

  [normal_vectors_triso]
    type = NormalVectorsTRISO<<<{"description": "Computes the normal vectors for TRISO layers.", "href": "../../../source/materials/NormalVectorsTRISO.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'buffer IPyC OPyC'
  []

  ### UCO properties

  [UCO_burnup]
    type = TRISOBurnup<<<{"description": "Computes burnup given fission rate density and initial density, initial enrichment, and molar mass of the kernel.", "href": "../../../source/materials/TRISOBurnup.html"}>>>
    initial_density<<<{"description": "initial density of the kernel (kg/m^3)"}>>> = ${initial_fuel_density}
  []

  [UCO_thermal]
    type = UCOThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for UCO.", "href": "../../../source/materials/UCOThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_elasticity_tensor]
    type = UCOElasticityTensor<<<{"description": "Computes the Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []

  [UCO_VolumetricSwellingEigenstrain]
    type = UCOVolumetricSwellingEigenstrain<<<{"description": "Computes fission-induced swelling (percent per percent FIMA) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_swelling_eigenstrain
  []

  [UCO_thermal_strain]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10e-6 # check this value for UCO
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [UCO_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = ${initial_fuel_density}
  []

  [fission_gas_release]
    type = UCOFGR<<<{"description": "Fission gas release model for UCO", "href": "../../../source/materials/UCOFGR.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    average_grain_radius<<<{"description": "Average grain radius (m)"}>>> = 10e-6
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    cutoff_neutron_flux<<<{"description": "The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions."}>>> = 0.0
  []

  [fuel_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 5.6e-8 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 209.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 5.2e-4 # m^2/s
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 362.0e+3 # J/mol
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  ### Buffer Properties

  [buffer_elasticity_tensor]
    type = BufferElasticityTensor<<<{"description": "Computes Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for the buffer layer in TRISO fuels.", "href": "../../../source/materials/solid_mechanics/BufferElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_stress]
    type = BufferCEGACreep<<<{"description": "Computes irradiation-induced creep ((MPa-n/m^2)^-1) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_thermal]
    type = BufferThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for Buffer.", "href": "../../../source/materials/BufferThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    initial_density<<<{"description": "Initial density for Buffer."}>>> = 1050.0
  []

  [buffer_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1050.0
  []

  [buffer_thermal_strain]
    type = BufferThermalExpansionEigenstrain<<<{"description": "Computes thermal expansion (/K) and associated eigenstrain (dimensionless) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = buffer_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_IIDC_strain]
    type = BufferCEGAIrradiationEigenstrain<<<{"description": "Irradiation eigenstrain for Buffer", "href": "../../../source/materials/solid_mechanics/BufferCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = buffer_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [buffer_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 1.0e-12 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 0.0
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 0.0
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 0.0
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  ### IPyC  properties

  [IPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.045
  []

  [IPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_thermal]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []

  [IPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1900.0
  []

  [IPyC_IIDC_strain]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [BAF_IPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.045
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
  []

  [BAF_OPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.045
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
  []

  [IPyC_thermal_strain]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 6.3e-8 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 222.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 0.0
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 0.0
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  ### SiC properties

  [SiC_elasticity_tensor]
    type = MonolithicSiCElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for monolithic silicon carbide (CVD) cladding using relations as a function of temperature.", "href": "../../../source/materials/solid_mechanics/MonolithicSiCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    elastic_modulus_model<<<{"description": "Options for the correlation used to calculate the Young's modulus."}>>> = miller
  []

  [SiC_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
  []

  [SiC_thermal]
    type = MonolithicSiCThermal<<<{"description": "Computes thermal conductivity and specific heat of monolithic silicon carbide.", "href": "../../../source/materials/MonolithicSiCThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled Temperature"}>>> = temperature
    thermal_conductivity_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = miller
  []

  [SiC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 3200.0
  []

  [SiC_thermal_strain]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 4.9e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = SiC_thermal_eigenstrain
  []

  [SiC_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 5.5e-14 # m^2/s
    d1_function<<<{"description": "Function to be multiplied by d1"}>>> = d1_function
    d1_function_variable<<<{"description": "Variable to be used when evaluating d1_function. If not given, time will be used."}>>> = fast_neutron_fluence
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 125.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 1.6e-2 # m^2/s
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 514.0e+3 # J/mol
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  ###  OPyC properties

  [OPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.045
  []

  [OPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [OPyC_thermal_conductivity]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []

  [OPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1900.0
  []

  [OPyC_IIDC_strain]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [OPyC_thermal_strain]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_thermal_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [OPyC_conc]
    type = ArrheniusDiffusionCoef<<<{"description": "Computes a two-term Arrhenius diffusion coefficient", "href": "../../../source/materials/ArrheniusDiffusionCoef.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    d1<<<{"description": "First coefficient (m**2/s)"}>>> = 6.3e-8 # m^2/s
    q1<<<{"description": "First activation energy (J/mol)"}>>> = 222.0e+3 # J/mol
    d2<<<{"description": "Second coefficient (m**2/s)"}>>> = 0.0
    q2<<<{"description": "Second activation energy (J/mol)"}>>> = 0.0
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
[]

[Dampers<<<{"href": "../../../syntax/Dampers/index.html"}>>>]
  [temp]
    type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../../source/dampers/MaxIncrement.html"}>>>
    variable<<<{"description": "The name of the variable that this damper operates on"}>>> = temperature
    max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 50
  []
  [disp_x]
    type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../../source/dampers/MaxIncrement.html"}>>>
    variable<<<{"description": "The name of the variable that this damper operates on"}>>> = disp_x
    max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 1e-6
  []
[]

[Debug<<<{"href": "../../../syntax/Debug/index.html"}>>>]
  show_var_residual_norms<<<{"description": "Print the residual norms of the individual solution variables at each nonlinear iteration"}>>> = true
  show_var_residual<<<{"description": "Variables for which residuals will be sent to the output file."}>>> = 'disp_x temperature conc'
[]

[Preconditioning<<<{"href": "../../../syntax/Preconditioning/index.html"}>>>]
  [smp]
    type = SMP<<<{"description": "Single matrix preconditioner (SMP) builds a preconditioner using user defined off-diagonal parts of the Jacobian.", "href": "../../../source/preconditioners/SingleMatrixPreconditioner.html"}>>>
    full<<<{"description": "Set to true if you want the full set of couplings between variables simply for convenience so you don't have to set every off_diag_row and off_diag_column combination."}>>> = true
  []
[]

[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
  type = Transient
  solve_type = 'PJFNK'

  petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
  petsc_options_value = 'lu superlu_dist'

  line_search = 'none'

  nl_rel_tol = 1e-8
  nl_abs_tol = 1e-7 #1e-12
  nl_max_its = 15

  l_tol = 1e-4 #1e-8
  l_max_its = 50

  start_time = 0.0
  end_time = 85.3682e6 #5.0e7
  num_steps = 1000

  dtmax = 2e6
  dtmin = 1

  [TimeStepper<<<{"href": "../../../syntax/Executioner/TimeStepper/index.html"}>>>]
    type = IterationAdaptiveDT
    dt = 20
    growth_factor = 1.5
    optimal_iterations = 8 #6
    linear_iteration_ratio = 100
    time_t = '0    76e6  76.001e6 84.641e6 84.6482e6'
    time_dt = '20  20     20      20       20'
  []

  [Quadrature<<<{"href": "../../../syntax/Executioner/Quadrature/index.html"}>>>]
    order<<<{"description": "Order of the quadrature"}>>> = THIRD
  []
[]

[Postprocessors<<<{"href": "../../../syntax/Postprocessors/index.html"}>>>]
  [_dt]
    type = TimestepSize<<<{"description": "Reports the timestep size", "href": "../../../source/postprocessors/TimestepSize.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_end
  []
  [cs_release]
    type = SideIntegralMassFlux<<<{"description": "Computes the integrated mass flux over a given surface.", "href": "../../../source/postprocessors/SideIntegralMassFlux.html"}>>>
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = conc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [int_cs_release]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "../../../source/postprocessors/TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = cs_release
  []
  [cs_release_fuel]
    type = SideIntegralMassFlux<<<{"description": "Computes the integrated mass flux over a given surface.", "href": "../../../source/postprocessors/SideIntegralMassFlux.html"}>>>
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = conc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = fuel_outer_boundary
  []
  [int_cs_release_fuel]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "../../../source/postprocessors/TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = cs_release_fuel
  []
  [cs_release_PyCGapBndry]
    type = SideIntegralMassFlux<<<{"description": "Computes the integrated mass flux over a given surface.", "href": "../../../source/postprocessors/SideIntegralMassFlux.html"}>>>
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = conc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = IPyC_inner_boundary
  []
  [int_cs_release_PyCGapBndry]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "../../../source/postprocessors/TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = cs_release_PyCGapBndry
  []

  [ave_gas_temp]
    type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../../../source/postprocessors/ElementAverageValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [ave_gap_temp]
    type = SideAverageValue<<<{"description": "Computes the average value of a variable on a sideset. Note that this cannot be used on the centerline of an axisymmetric model.", "href": "../../../source/postprocessors/SideAverageValue.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [fis_gas_produced]
    type = ElementIntegralMaterialProperty<<<{"description": "Compute the integral of the material property over the domain", "href": "../../../source/postprocessors/ElementIntegralMaterialProperty.html"}>>>
    mat_prop<<<{"description": "The name of the material property"}>>> = fis_gas_produced
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [fis_gas_released]
    type = ElementIntegralMaterialProperty<<<{"description": "Compute the integral of the material property over the domain", "href": "../../../source/postprocessors/ElementIntegralMaterialProperty.html"}>>>
    mat_prop<<<{"description": "The name of the material property"}>>> = fis_gas_released
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [gap_volume]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []

  [buffer_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = 2250
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []

  [kernel_th_density]
    type = UCOTheoreticalDensity<<<{"description": "Computes UCO theoretical density.", "href": "../../../source/postprocessors/UCOTheoreticalDensity.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = initial
  []

  [kernel_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = kernel_th_density
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []

  [volumeTotal]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    scale_factor<<<{"description": "A scale factor to be applied to the internal volume calculation"}>>> = -1
  []
  [volumeFuel]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = fuel_outer_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    scale_factor<<<{"description": "A scale factor to be applied to the internal volume calculation"}>>> = -1
  []
  [volumeGas]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_outer_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    scale_factor<<<{"description": "A scale factor to be applied to the internal volume calculation"}>>> = -1
    addition<<<{"description": "An additional volume to be included in the internal volume calculation. A time-dependent function is expected."}>>> = 4.67e-11
  []
  [volumeBufferShell]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_outer_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [ave_temp_interior]
    type = SideAverageValue<<<{"description": "Computes the average value of a variable on a sideset. Note that this cannot be used on the centerline of an axisymmetric model.", "href": "../../../source/postprocessors/SideAverageValue.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_outer_boundary
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [gap_HTC]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = gap_HTC
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  ### Postprocessors for CO production
  [total_fission_rate]
    type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "../../../source/postprocessors/ElementIntegralPower.html"}>>>
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    fission_rate<<<{"description": "Coupled fission rate"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    energy_per_fission<<<{"description": "Energy released per fission (J/fission)"}>>> = 1.0
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = exodus
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [total_fissions]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "../../../source/postprocessors/TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = total_fission_rate
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = exodus
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [avg_surface_temp]
    type = SideAverageValue<<<{"description": "Computes the average value of a variable on a sideset. Note that this cannot be used on the centerline of an axisymmetric model.", "href": "../../../source/postprocessors/SideAverageValue.html"}>>>
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = exodus
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [time_int_surf_temp]
    type = TimeIntegratedPostprocessor<<<{"description": "Integrate a Postprocessor value over time using trapezoidal rule.", "href": "../../../source/postprocessors/TimeIntegratedPostprocessor.html"}>>>
    value<<<{"description": "The name of the postprocessor"}>>> = avg_surface_temp
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = exodus
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  ##### irradiation conditions

  [particle_power]
    type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "../../../source/postprocessors/ElementIntegralPower.html"}>>>
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    use_material_fission_rate<<<{"description": "Flag to use the material 'fission_rate_material' instead of variable fission rate"}>>> = true
    fission_rate_material<<<{"description": "Fission rate material property name"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_fluence]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = fast_neutron_fluence
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_burnup]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  #### II strain

  [OPyC_radial_IIDC_strain]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = radial_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [OPyC_tangential_IIDC_strain]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = tangential_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [IPyC_radial_IIDC_strain]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = radial_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [IPyC_tangential_IIDC_strain]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = tangential_IIDC_strain
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  #### temperatures

  [max_T_kernel]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_T_buffer]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [min_T_buffer]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'min'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_T_IPyC]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_T_SiC]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  #### displacement BCs

  [max_disp_kernel]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = disp_x
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [min_disp_buffer]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = disp_x
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'min'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [max_disp_IPyC]
    type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/NodalExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = disp_x
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  #### hoop stresses

  [hoop_opyc_max]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_sic_max]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_ipyc_max]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_buffer_max]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_opyc_min]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = min
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_sic_min]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = min
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_ipyc_min]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = min
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [hoop_buffer_min]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = stress_yy
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = min
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  ### Check warning for Density

  [oPyC_density]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [sic_density]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [IPyC_density]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [buffer_density]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [kernel_density]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = density
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []

  [pd_penetration]
    type = PdPenetration<<<{"description": "Penetration depth of palladium into the SiC layer of TRISO fuel particles", "href": "../../../source/postprocessors/PdPenetration.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = SiC_inner_boundary
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
[]

[Outputs<<<{"href": "../../../syntax/Outputs/index.html"}>>>]
  print_linear_residuals<<<{"description": "Enable printing of linear residuals to the screen (Console)"}>>> = true
  time_step_interval<<<{"description": "The interval (number of time steps) at which output occurs"}>>> =  1
  exodus<<<{"description": "Output the results using the default settings for Exodus output."}>>> = true
  csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
  perf_graph<<<{"description": "Enable printing of the performance graph to the screen (Console)"}>>> = true
[]
(examples/TRISO/parfume/parfume.i)

Failure Probability Calculation

Monte Carlo

A Monte Carlo scheme is used to compute failure probability for a statistically sampled batch of particles. For each realization of the randomized parameters, a 1D TRISO model is run to compute stresses and determine whether failure has occurred. The final probability is computed as a the ratio of the number of failed particles to the total number of particles. The Monte Carlo simulation requires two input files as provided below.

1D TRISO Input

The complete input file for the 1D TRISO problem is provided in Listing 1.

Listing 1: Complete input file for 1D TRISO.

initial_fuel_density = 5

[GlobalParams<<<{"href": "../../../syntax/GlobalParams/index.html"}>>>]
  order = FIRST
  family = LAGRANGE
  displacements = 'disp_x'
  initial_enrichment = 0.14029 # [wt-]
  flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
  stress_free_temperature = 481 # used for thermal expansion
  energy_per_fission = 3.204e-11 # [J/fission]
  O_U = 1.428 # Initial Oxygen to Uranium atom ratio
  C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]

[Mesh<<<{"href": "../../../syntax/Mesh/index.html"}>>>]
  coord_type = RSPHERICAL
  [gen]
    type = TRISO1DFiveLayerMeshGenerator<<<{"description": "Creates a 1D mesh for use with five-layer TRISO analysis.", "href": "../../../source/meshgenerators/TRISO1DFiveLayerMeshGenerator.html"}>>>
    elem_type<<<{"description": "The type of element from libMesh to generate"}>>> = EDGE3
    kernel_radius<<<{"description": "Radius of fuel kernel."}>>> = 213.35e-6
    buffer_thickness<<<{"description": "Thickness of buffer layer."}>>> = 98.9e-6
    IPyC_thickness<<<{"description": "Thickness of IPyC layer."}>>> = 40.4e-6
    SiC_thickness<<<{"description": "Thickness of SiC layer."}>>> = 35.2e-6
    OPyC_thickness<<<{"description": "Thickness of OPyC layer."}>>> = 43.4e-6
    kernel_mesh_density<<<{"description": "Number of elements in the kernel mesh."}>>> = ${initial_fuel_density}
    buffer_mesh_density<<<{"description": "Number of elements in the buffer mesh."}>>> = 3
    IPyC_mesh_density<<<{"description": "Number of elements in the IPyC mesh."}>>> = 5
    SiC_mesh_density<<<{"description": "Number of elements in the SiC mesh."}>>> = 3
    OPyC_mesh_density<<<{"description": "Number of elements in the OPyC mesh."}>>> = 4
  []
[]

[Problem<<<{"href": "../../../syntax/Problem/index.html"}>>>]
  type = ReferenceResidualProblem
  reference_vector = 'ref'
  extra_tag_vectors = 'ref'
[]

[UserObjects<<<{"href": "../../../syntax/UserObjects/index.html"}>>>]
  [particle_geometry]
    type = TRISOGeometry<<<{"description": "Computes TRISO Geometry.", "href": "../../../source/userobject/TRISOGeometry.html"}>>>
    outer_OPyC<<<{"description": "Sideset for outer OPyC"}>>> = OPyC_outer_boundary
    outer_SiC<<<{"description": "Sideset for outer SiC"}>>> = SiC_outer_boundary
    outer_IPyC<<<{"description": "Sideset for outer IPyC"}>>> = IPyC_outer_boundary
    inner_IPyC<<<{"description": "Sideset for inner IPyC"}>>> = IPyC_inner_boundary
    outer_buffer<<<{"description": "Sideset for outer buffer"}>>> = buffer_outer_boundary
    outer_kernel<<<{"description": "Sideset for outer kernel"}>>> = fuel_outer_boundary
    include_particle<<<{"description": "Set as true to output particle geometry."}>>> = true
    include_pebble<<<{"description": "Set as true to output pebble geometry."}>>> = false
    IPyC_thickness_mean<<<{"description": "IPyC thickness mean value."}>>> = 40.4e-6
    SiC_thickness_mean<<<{"description": "SiC thickness mean value."}>>> = 35.2e-6
    OPyC_thickness_mean<<<{"description": "OPyC thickness mean value."}>>> = 43.4e-6
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'INITIAL TIMESTEP_END'
  []
  [sic_failure_terminator]
    type = Terminator<<<{"description": "Requests termination of the current solve based on the evaluation of a parsed logical expression of the Postprocessor value(s).", "href": "../../../source/userobjects/Terminator.html"}>>>
    expression<<<{"description": "FParser expression to process Postprocessor values into a boolean value. Termination of the simulation occurs when this returns true."}>>> = 'sic_failure_overall > 0'
  []
[]

[Variables<<<{"href": "../../../syntax/Variables/index.html"}>>>]
  [temperature]
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 481
  []
[]

[AuxVariables<<<{"href": "../../../syntax/AuxVariables/index.html"}>>>]
  [fission_rate]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [burnup]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_flux]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_fluence]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
[]

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [temp_bc]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    data_file<<<{"description": "File holding CSV data"}>>> = outer_temp.csv
    x_index_in_file<<<{"description": "The abscissa index in the data file"}>>> = 0
    y_index_in_file<<<{"description": "The ordinate index in the data file"}>>> = 1
    format<<<{"description": "Format of csv data file that is in either in columns or rows"}>>> = columns
  []
  [fission_rate]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = 5.75e19
  []
  [high_fidelity_strength_crackedIPyC]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1403604095.0794'
  []
  [stress_correlation_crackedIPyC]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 5.95176524e3 -2.25337303e8'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.43220859e4 -5.17689523e7'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.25870267e4 1.81620484e8'
    correlation_factor<<<{"description": "The correlation factor."}>>> = -1.2447543093270736
  []
  [high_fidelity_strength_debonding]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1705800293.3578'
  []
  [stress_correlation_debonding]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    correlation_factor<<<{"description": "The correlation factor."}>>> = -0.14916368684964607
  []
  [high_fidelity_strength_asphericity]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1371700806.9481'
  []
  [stress_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.00595402e3 1.43530004e7'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 3.27925856e3 -2.02308753e8'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 2.07404580e3 -6.12612615e6'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.5191967993808713
  []
  [stress_change_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -5.81891553e3 -2.81628655e7'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.00990700e4 -5.55290343e8'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -3.59151050e3 -2.65952373e7'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.3915168526633837
  []
[]

[Physics<<<{"href": "../../../syntax/Physics/index.html"}>>>/SolidMechanics<<<{"href": "../../../syntax/Physics/SolidMechanics/index.html"}>>>/QuasiStatic<<<{"href": "../../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
  generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
  add_variables<<<{"description": "Add the displacement variables"}>>> = true
  strain<<<{"description": "Strain formulation"}>>> = FINITE
  incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
  [fuel]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'UCO_swelling_eigenstrain UCO_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [buffer]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = buffer
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'Buffer_IIDC_strain Buffer_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [IPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = IPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'IPyC_IIDC_strain IPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [SiC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = SiC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'SiC_thermal_eigenstrain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [OPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = OPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'OPyC_IIDC_strain OPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
[]

[Kernels<<<{"href": "../../../syntax/Kernels/index.html"}>>>]
  [heat_ie]
    type = HeatConductionTimeDerivative<<<{"description": "Time derivative term $\\rho c_p \\frac{\\partial T}{\\partial t}$ of the thermal energy conservation equation.", "href": "../../../source/kernels/HeatConductionTimeDerivative.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat]
    type = HeatConduction<<<{"description": "Diffusive heat conduction term $-\\nabla\\cdot(k\\nabla T)$ of the thermal energy conservation equation", "href": "../../../source/kernels/HeatConduction.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "../../../source/kernels/NeutronHeatSource.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    fission_rate<<<{"description": "Coupled Fission Rate"}>>> = fission_rate
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
[]

[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [fissionrate]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate
    property<<<{"description": "The material property name."}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [burnup]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = burnup
    property<<<{"description": "The material property name."}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_flux]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_flux
    property<<<{"description": "The material property name."}>>> = fast_neutron_flux
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_fluence]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_fluence
    property<<<{"description": "The material property name."}>>> = fast_neutron_fluence
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
[]

[ThermalContact<<<{"href": "../../../syntax/Modules/HeatTransfer/ThermalContact/index.html"}>>>]
  [thermal_contact]
    type = GasGapHeatTransfer
    variable = temperature
    primary = IPyC_inner_boundary
    secondary = buffer_outer_boundary
    initial_moles = initial_moles
    gas_released = 'fis_gas_released'
    released_gas_types = 'Kr Xe'
    released_fractions = '0.185 0.815'
    tangential_tolerance = 1e-6
    quadrature = false
    min_gap = 1e-7
    max_gap = 50e-6
    gap_geometry_type = sphere
  []
[]

[BCs<<<{"href": "../../../syntax/NuclearMaterials/BCs/index.html"}>>>]
  [no_disp_x]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = xzero
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []
  [freesurf_temp]
    type = FunctionDirichletBC<<<{"description": "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ is a (possibly) time and space-dependent MOOSE Function.", "href": "../../../source/bcs/FunctionDirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    function<<<{"description": "The forcing function."}>>> = temp_bc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [exterior_pressure_x]
    type = Pressure<<<{"description": "Applies a pressure on a given boundary in a given direction", "href": "../../../source/bcs/Pressure.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
    factor<<<{"description": "The magnitude to use in computing the pressure"}>>> = 0.1e6
  []
  [PlenumPressure<<<{"href": "../../../syntax/BCs/PlenumPressure/index.html"}>>>]
    [plenumPressure]
      boundary<<<{"description": "The list of boundary IDs from the mesh where the pressure will be applied"}>>> = buffer_IPyC_boundary
      startup_time<<<{"description": "The amount of time during which the pressure will ramp from zero to its true value."}>>> = 1e4
      initial_pressure<<<{"description": "The initial pressure in the cavity.  If not given, a zero initial pressure will be used."}>>> = 0
      R<<<{"description": "The universal gas constant for the units used."}>>> = 8.3145
      output_initial_moles<<<{"description": "The name to use when reporting the initial moles of gas"}>>> = initial_moles
      temperature<<<{"description": "The name of the average temperature postprocessor value."}>>> = ave_gas_temp
      volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = 'gap_volume buffer_void_volume kernel_void_volume'
      material_input<<<{"description": "The name of the postprocessor(s) that holds the amount of material injected into the plenum."}>>> = 'fis_gas_released'
      output<<<{"description": "The name to use for the cavity pressure value"}>>> = gas_pressure
    []
  []
[]

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [radial_stress]
    type = RankTwoCylindricalComponent<<<{"description": "Compute components of a rank-2 tensor in a cylindrical coordinate system", "href": "../../../source/materials/RankTwoCylindricalComponent.html"}>>>
    rank_two_tensor<<<{"description": "The rank two material property tensor name"}>>> = stress
    cylindrical_axis_point1<<<{"description": "Start point for determining axis of rotation for cylindrical stress/strain components"}>>> = '0 0 0'
    cylindrical_axis_point2<<<{"description": "End point for determining axis of rotation for cylindrical stress/strain components"}>>> = '0 0 1'
    cylindrical_component<<<{"description": "Type of cylindrical scalar output"}>>> = RadialStress
    property_name<<<{"description": "Name of the material property computed by this model"}>>> = radial_stress
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = all
  []
  [fission_rate]
    type = GenericFunctionMaterial<<<{"description": "Material object for declaring properties that are populated by evaluation of Function object.", "href": "../../../source/materials/GenericFunctionMaterial.html"}>>>
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = fission_rate
    prop_values<<<{"description": "The corresponding names of the functions that are going to provide the values for the variables"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [fast_neutron_flux]
    type = FastNeutronFlux<<<{"description": "Computes fast neutron flux.", "href": "../../../source/materials/FastNeutronFlux.html"}>>>
    calculate_fluence<<<{"description": "Flag to calculate fluence from the flux."}>>> = true
    factor<<<{"description": "Constant multiplied against the function, rod average linear power, or q_variable."}>>> = 6.2425e+17
  []
  [UCO_burnup]
    type = TRISOBurnup<<<{"description": "Computes burnup given fission rate density and initial density, initial enrichment, and molar mass of the kernel.", "href": "../../../source/materials/TRISOBurnup.html"}>>>
    initial_density<<<{"description": "initial density of the kernel (kg/m^3)"}>>> = 10966
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_thermal]
    type = UCOThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for UCO.", "href": "../../../source/materials/UCOThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_elasticity_tensor]
    type = UCOElasticityTensor<<<{"description": "Computes the Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_VolumetricSwellingEigenstrain]
    type = UCOVolumetricSwellingEigenstrain<<<{"description": "Computes fission-induced swelling (percent per percent FIMA) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_swelling_eigenstrain
  []
  [fuel_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10.0e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_TE_strain
  []
  [UCO_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 10966
  []
  [fission_gas_release]
    type = UCOFGR<<<{"description": "Fission gas release model for UCO", "href": "../../../source/materials/UCOFGR.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    average_grain_radius<<<{"description": "Average grain radius (m)"}>>> = 10e-6
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    cutoff_neutron_flux<<<{"description": "The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions."}>>> = 0.0
  []
  [BAF_IPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0465
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
  []
  [BAF_OPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0429
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
  []
  [buffer_elasticity_tensor]
    type = BufferElasticityTensor<<<{"description": "Computes Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for the buffer layer in TRISO fuels.", "href": "../../../source/materials/solid_mechanics/BufferElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_stress]
    type = BufferCEGACreep<<<{"description": "Computes irradiation-induced creep ((MPa-n/m^2)^-1) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_thermal]
    type = BufferThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for Buffer.", "href": "../../../source/materials/BufferThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    initial_density<<<{"description": "Initial density for Buffer."}>>> = 1050.0
  []
  [buffer_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1050.0
  []
  [buffer_TE]
    type = BufferThermalExpansionEigenstrain<<<{"description": "Computes thermal expansion (/K) and associated eigenstrain (dimensionless) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_IIDC]
    type = BufferCEGAIrradiationEigenstrain<<<{"description": "Irradiation eigenstrain for Buffer", "href": "../../../source/materials/solid_mechanics/BufferCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [IPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
  []
  [IPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_thermal]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [IPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1890
  []
  [normal_vectors_triso]
    type = NormalVectorsTRISO<<<{"description": "Computes the normal vectors for TRISO layers.", "href": "../../../source/materials/NormalVectorsTRISO.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'buffer IPyC OPyC'
  []
  [IPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [IPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [SiC_elasticity_tensor]
    type = MonolithicSiCElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for monolithic silicon carbide (CVD) cladding using relations as a function of temperature.", "href": "../../../source/materials/solid_mechanics/MonolithicSiCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    elastic_modulus_model<<<{"description": "Options for the correlation used to calculate the Young's modulus."}>>> = miller
  []
  [SiC_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
  []
  [SiC_thermal]
    type = MonolithicSiCThermal<<<{"description": "Computes thermal conductivity and specific heat of monolithic silicon carbide.", "href": "../../../source/materials/MonolithicSiCThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled Temperature"}>>> = temperature
    thermal_conductivity_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = miller
  []
  [SiC_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 3200.0
  []
  [SiC_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 4.9e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = SiC_thermal_eigenstrain
  []
  [OPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.0
  []
  [OPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [OPyC_thermal_conductivity]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [OPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1900
  []
  [OPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [OPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [characteristic_strength_SiC]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    prop_values<<<{"description": "The values associated with the named properties"}>>> = '9640000'
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'characteristic_strength'
  []
  [characteristic_strength_PyC]
    type = PyCCharacteristicStrength<<<{"description": "Computes characteristic strength of pyrocarbons: Pa-m^(3/modulus).", "href": "../../../source/materials/PyCCharacteristicStrength.html"}>>>
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    X<<<{"description": "Fitting parameter."}>>> = 1.02
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
  []
[]

[Dampers<<<{"href": "../../../syntax/Dampers/index.html"}>>>]
  [temp]
    type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../../source/dampers/MaxIncrement.html"}>>>
    variable<<<{"description": "The name of the variable that this damper operates on"}>>> = temperature
    max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 100
  []
[]

[Preconditioning<<<{"href": "../../../syntax/Preconditioning/index.html"}>>>]
  [smp]
    type = SMP<<<{"description": "Single matrix preconditioner (SMP) builds a preconditioner using user defined off-diagonal parts of the Jacobian.", "href": "../../../source/preconditioners/SingleMatrixPreconditioner.html"}>>>
    full<<<{"description": "Set to true if you want the full set of couplings between variables simply for convenience so you don't have to set every off_diag_row and off_diag_column combination."}>>> = true
  []
[]

[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
  type = Transient
  solve_type = 'PJFNK'

  petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
  petsc_options_value = 'lu superlu_dist'

  line_search = 'none'

  nl_rel_tol = 5e-6
  nl_abs_tol = 1e-8
  nl_max_its = 20

  l_tol = 1e-4
  l_max_its = 50

  start_time = 0.0
  end_time = 4.831315e7

  dtmin = 1e-4
  dt = 5e5
[]

[Postprocessors<<<{"href": "../../../syntax/Postprocessors/index.html"}>>>]
  [ave_gas_temp]
    type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../../../source/postprocessors/ElementAverageValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [fis_gas_released]
    type = ElementIntegralMaterialProperty<<<{"description": "Compute the integral of the material property over the domain", "href": "../../../source/postprocessors/ElementIntegralMaterialProperty.html"}>>>
    mat_prop<<<{"description": "The name of the material property"}>>> = fis_gas_released
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = false
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [gap_volume]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [buffer_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = 2250
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [kernel_th_density]
    type = UCOTheoreticalDensity<<<{"description": "Computes UCO theoretical density.", "href": "../../../source/postprocessors/UCOTheoreticalDensity.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = initial
  []
  [kernel_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = kernel_th_density
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [particle_power]
    type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "../../../source/postprocessors/ElementIntegralPower.html"}>>>
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    use_material_fission_rate<<<{"description": "Flag to use the material 'fission_rate_material' instead of variable fission rate"}>>> = true
    fission_rate_material<<<{"description": "Fission rate material property name"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_fluence]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = fast_neutron_fluence
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_burnup]
    type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
    variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [SiC_stress]
    type = ElementExtremeMaterialProperty<<<{"description": "Determines the minimum or maximum of a material property over a volume.", "href": "../../../source/postprocessors/ElementExtremeMaterialProperty.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    value_type<<<{"description": "Type of extreme value to return: 'max' returns the maximum value and 'min' returns the minimum value."}>>> = min
    mat_prop<<<{"description": "Material property for which to find the extreme"}>>> = stress_yy
  []
  [strength_SiC]
    type = WeibullEffectiveMeanStrength<<<{"description": "Computes Weibull effective mean strength, which is used by the WeibullFailureOutputUsingCorrelation Postprocessor.", "href": "../../../source/postprocessors/WeibullEffectiveMeanStrength.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
  []
  [failure_indicator_SiC]
    type = WeibullFailureOutputUsingCorrelation<<<{"description": "Computes failure indicator of a TRISO layer using a correlation function.", "href": "../../../source/postprocessors/WeibullFailureOutputUsingCorrelation.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    stress_name<<<{"description": "Name of the stress property."}>>> = stress_yy
    high_fidelity_analysis_strength<<<{"description": "The effective mean strength obtained from a high-fidelity analysis."}>>> = 'high_fidelity_strength_asphericity'
    stress_correlation_function<<<{"description": "The stress correlation function obtained from a high-fidelity analysis."}>>> = 'stress_correlation_asphericity'
    stress_change_correlation_function<<<{"description": "Correlation function of stress change from minumum to maximum during the irradiation history obtained from a high-fidelity analysis."}>>> = 'stress_change_correlation_asphericity'
  []
  [strength_IPyC]
    type = WeibullEffectiveMeanStrength<<<{"description": "Computes Weibull effective mean strength, which is used by the WeibullFailureOutputUsingCorrelation Postprocessor.", "href": "../../../source/postprocessors/WeibullEffectiveMeanStrength.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 9.5
  []
  [failure_indicator_IPyC]
    type = WeibullFailureOutputUsingCorrelation<<<{"description": "Computes failure indicator of a TRISO layer using a correlation function.", "href": "../../../source/postprocessors/WeibullFailureOutputUsingCorrelation.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 9.5
    stress_name<<<{"description": "Name of the stress property."}>>> = max_principal_stress
    effective_mean_strength<<<{"description": "The name of the postprocessor calculating the effective mean strength."}>>> = strength_IPyC
  []
  [failure_indicator_SiC_crackedIPyC]
    type = WeibullFailureOutputUsingCorrelation<<<{"description": "Computes failure indicator of a TRISO layer using a correlation function.", "href": "../../../source/postprocessors/WeibullFailureOutputUsingCorrelation.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    stress_name<<<{"description": "Name of the stress property."}>>> = stress_yy
    high_fidelity_analysis_strength<<<{"description": "The effective mean strength obtained from a high-fidelity analysis."}>>> = 'high_fidelity_strength_crackedIPyC'
    stress_correlation_function<<<{"description": "The stress correlation function obtained from a high-fidelity analysis."}>>> = 'stress_correlation_crackedIPyC'
  []
  [failure_indicator_debonding]
    type = TRISODebondingFailureIndicator<<<{"description": "Computes debonding failure indicator of TRISO layers.", "href": "../../../source/postprocessors/TRISODebondingFailureIndicator.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = IPyC_outer_boundary
    bond_strength<<<{"description": "bond strength is treated as a parameter having a Gaussian distribution with a specific mean value and standard deviation."}>>> = 10e6
    stress_name<<<{"description": "Name of the stress property."}>>> = radial_stress
  []
  [failure_indicator_SiC_debonding]
    type = WeibullFailureOutputUsingCorrelation<<<{"description": "Computes failure indicator of a TRISO layer using a correlation function.", "href": "../../../source/postprocessors/WeibullFailureOutputUsingCorrelation.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    stress_name<<<{"description": "Name of the stress property."}>>> = stress_yy
    high_fidelity_analysis_strength<<<{"description": "The effective mean strength obtained from a high-fidelity analysis."}>>> = 'high_fidelity_strength_debonding'
    stress_correlation_function<<<{"description": "The stress correlation function obtained from a high-fidelity analysis."}>>> = 'stress_correlation_debonding'
  []
  [sic_failure_overall]
    type = TRISOFailureEvaluation<<<{"description": "Computes particle failure based on Weibull statistical theory. It returns either 1 or 0, indicating fails or not fail.", "href": "../../../source/postprocessors/TRISOFailureEvaluation.html"}>>>
    IPyC_failure<<<{"description": "The name of the postprocessor calculating the IPyC failure."}>>> = failure_indicator_IPyC
    SiC_failure_crackedIPyC<<<{"description": "The name of the postprocessor calculating the SiC failure due to cracked IPyC."}>>> = failure_indicator_SiC_crackedIPyC
    SiC_failure<<<{"description": "The name of the postprocessor calculating the SiC failure."}>>> = failure_indicator_SiC
    SiC_failure_pd_penetration<<<{"description": "The name of the postprocessor calculating the SiC failure due to palladium penetration."}>>> = failure_indicator_pd_penetration
    SiC_failure_kernel_migration<<<{"description": "The name of the postprocessor calculating the SiC failure due to kernel migration."}>>> = failure_indicator_kernel_migration
    failure_type<<<{"description": "The TRISO failure type"}>>> = SIC_FAILURE_OVERALL
  []
  [ipyc_cracking]
    type = TRISOFailureEvaluation<<<{"description": "Computes particle failure based on Weibull statistical theory. It returns either 1 or 0, indicating fails or not fail.", "href": "../../../source/postprocessors/TRISOFailureEvaluation.html"}>>>
    IPyC_failure<<<{"description": "The name of the postprocessor calculating the IPyC failure."}>>> = failure_indicator_IPyC
    SiC_failure_crackedIPyC<<<{"description": "The name of the postprocessor calculating the SiC failure due to cracked IPyC."}>>> = failure_indicator_SiC_crackedIPyC
    SiC_failure<<<{"description": "The name of the postprocessor calculating the SiC failure."}>>> = failure_indicator_SiC
    failure_type<<<{"description": "The TRISO failure type"}>>> = IPYC_CRACKING
  []
  [sic_failure_due_to_pressure]
    type = TRISOFailureEvaluation<<<{"description": "Computes particle failure based on Weibull statistical theory. It returns either 1 or 0, indicating fails or not fail.", "href": "../../../source/postprocessors/TRISOFailureEvaluation.html"}>>>
    IPyC_failure<<<{"description": "The name of the postprocessor calculating the IPyC failure."}>>> = failure_indicator_IPyC
    SiC_failure_crackedIPyC<<<{"description": "The name of the postprocessor calculating the SiC failure due to cracked IPyC."}>>> = failure_indicator_SiC_crackedIPyC
    SiC_failure<<<{"description": "The name of the postprocessor calculating the SiC failure."}>>> = failure_indicator_SiC
    failure_type<<<{"description": "The TRISO failure type"}>>> = SIC_FAILURE_DUE_TO_PRESSURE
  []
  [sic_failure_due_to_ipyc_cracking]
    type = TRISOFailureEvaluation<<<{"description": "Computes particle failure based on Weibull statistical theory. It returns either 1 or 0, indicating fails or not fail.", "href": "../../../source/postprocessors/TRISOFailureEvaluation.html"}>>>
    IPyC_failure<<<{"description": "The name of the postprocessor calculating the IPyC failure."}>>> = failure_indicator_IPyC
    SiC_failure_crackedIPyC<<<{"description": "The name of the postprocessor calculating the SiC failure due to cracked IPyC."}>>> = failure_indicator_SiC_crackedIPyC
    SiC_failure<<<{"description": "The name of the postprocessor calculating the SiC failure."}>>> = failure_indicator_SiC
    failure_type<<<{"description": "The TRISO failure type"}>>> = SIC_FAILURE_DUE_TO_IPYC_CRACKING
  []
  [debonding]
    type = TRISOFailureEvaluation<<<{"description": "Computes particle failure based on Weibull statistical theory. It returns either 1 or 0, indicating fails or not fail.", "href": "../../../source/postprocessors/TRISOFailureEvaluation.html"}>>>
    IPyC_failure<<<{"description": "The name of the postprocessor calculating the IPyC failure."}>>> = failure_indicator_IPyC
    SiC_failure_crackedIPyC<<<{"description": "The name of the postprocessor calculating the SiC failure due to cracked IPyC."}>>> = failure_indicator_SiC_crackedIPyC
    SiC_failure<<<{"description": "The name of the postprocessor calculating the SiC failure."}>>> = failure_indicator_SiC
    IPyC_SiC_debonding<<<{"description": "The name of the postprocessor calculating the IPyC-SiC debonding."}>>> = failure_indicator_debonding
    SiC_failure_debonding<<<{"description": "The name of the postprocessor calculating the SiC failure due to IPyC-SiC debonding."}>>> = failure_indicator_SiC_debonding
    failure_type<<<{"description": "The TRISO failure type"}>>> = IPYC_SIC_DEBONDING
  []
  [fluence_at_failure]
    type = TRISOFailureOccurrenceStatus<<<{"description": "This postprocessor returns the status at the time when a specified failure occurs.", "href": "../../../source/postprocessors/TRISOFailureOccurrenceStatus.html"}>>>
    failure_evaluation<<<{"description": "The name of the postprocessor calculating the failure evaluation."}>>> = ipyc_cracking
    failure_information<<<{"description": "The name of the postprocessor calculating failure information."}>>> = max_fluence
  []
  [weibull_failure_probability_IPyC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "../../../source/postprocessors/WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 9.5
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength
  []
  [weibull_failure_probability_SiC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "../../../source/postprocessors/WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength
  []
  [pd_penetration]
    type = PdPenetration<<<{"description": "Penetration depth of palladium into the SiC layer of TRISO fuel particles", "href": "../../../source/postprocessors/PdPenetration.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = SiC_inner_boundary
    variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [failure_indicator_pd_penetration]
    type = PdPenetrationFailureIndicator<<<{"description": "Determines whether the SiC layer fails based on palladium penetration depth.", "href": "../../../source/postprocessors/PdPenetrationFailureIndicator.html"}>>>
    triso_geometry<<<{"description": "User object containing the TrisoGeometry"}>>> = particle_geometry
    pd_penetration<<<{"description": "The name of the postprocessor that computes palladium penetration depth."}>>> = pd_penetration
  []
  [kernel_migration_distance]
    type = KernelMigrationDistance<<<{"description": "Calculates the kernel migration distance.", "href": "../../../source/postprocessors/KernelMigrationDistance.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'fuel buffer IPyC SiC OPyC'
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    temperature_gradient<<<{"description": "The Postprocessor that will give the temperature gradient across the particle."}>>> = 15000
    kernel_type<<<{"description": "Kernel type"}>>> = UCO
  []
  [failure_indicator_kernel_migration]
    type = KernelMigrationFailureIndicator<<<{"description": "Determines whether the SiC layer fails based on kernel migration distance.", "href": "../../../source/postprocessors/KernelMigrationFailureIndicator.html"}>>>
    kernel_migration_distance<<<{"description": "The name of the postprocessor that computes kernel migration distance."}>>> = kernel_migration_distance
    triso_geometry<<<{"description": "User object containing the TrisoGeometry"}>>> = particle_geometry
  []
[]

[Outputs<<<{"href": "../../../syntax/Outputs/index.html"}>>>]
  print_linear_residuals<<<{"description": "Enable printing of linear residuals to the screen (Console)"}>>> = false
  time_step_interval<<<{"description": "The interval (number of time steps) at which output occurs"}>>> =  1
  csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = false
  exodus<<<{"description": "Output the results using the default settings for Exodus output."}>>> = false
  perf_graph<<<{"description": "Enable printing of the performance graph to the screen (Console)"}>>> = true
  print_linear_converged_reason<<<{"description": "Enable/disable printing of the linear solver convergence reason to the screen. This parameter only affects the output of the third-party solver (e.g. PETSc), not MOOSE itself."}>>> = false
  print_nonlinear_converged_reason<<<{"description": "Enable/disable printing of the nonlinear solver convergence reason to the screen. This parameter only affects the output of the third-party solver (e.g. PETSc), not MOOSE itself."}>>> = false
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
15929.1625453347   481
95574.9752720079   899
175220.787998681   990
270795.763270689   963
350441.575997362   962
 446016.55126937   965
525662.363996044   969
621237.339268051   981
700883.151994725   991
796458.127266733  1145
 892033.10253874  1338
971678.915265414  1318
1067253.89053742  1324
1162828.86580943  1333
 1242474.6785361  1334
1338049.65380811  1335
1433624.62908012  1350
1513270.44180679  1337
 1608845.4170788  1333
1704420.39235081  1330
1799995.36762282  1333
1879641.18034949  1343
 1975216.1556215  1338
2054861.96834817  1355
2150436.94362018  1365
2246011.91889219  1360
2325657.73161886  1362
2421232.70689087  1372
2516807.68216288  1356
2596453.49488955  1255
2692028.47016156  1093
2707957.63270689  1303
2755745.12034289   910
 2851320.0956149  1318
2930965.90834158  1333
3026540.88361358  1314
3122115.85888559  1341
3201761.67161227  1346
3281407.48433894  1338
3376982.45961095  1346
3456628.27233762  1345
3552203.24760963  1343
3647778.22288164  1351
3727424.03560831  1340
3822999.01088032  1345
3902644.82360699  1330
  3998219.798879  1328
4077865.61160567  1328
4173440.58687768  1307
4269015.56214969  1322
4348661.37487636  1322
4444236.35014837  1335
4476094.67523904  1292
4555740.48796571   942
4635386.30069238  1352
4715032.11341906  1346
4794677.92614573  1346
 4874323.7388724  1352
4953969.55159908  1359
5033615.36432575  1371
5113261.17705242  1382
5208836.15232443  1368
5288481.96505111  1352
5368127.77777778  1343
5447773.59050445  1352
5527419.40323112  1359
 5607065.2159578  1356
5702640.19122981  1335
5782286.00395648  1344
5861931.81668315  1348
5941577.62940983  1357
 6021223.4421365  1363
6100869.25486317  1350
6196444.23013518  1337
6276090.04286185  1348
6355735.85558853  1355
 6435381.6683152  1342
6515027.48104187  1337
6594673.29376855  1348
6690248.26904055  1349
6769894.08176723  1348
 6849539.8944939  1352
6929185.70722057  1186
7024760.68249258  1012
7104406.49521925  1009
7184052.30794593  1001
 7263698.1206726  1007
7343343.93339928  1002
7422989.74612595  1004
7502635.55885262  1096
7582281.37157929  1350
 7677856.3468513  1352
7757502.15957798  1339
7837147.97230465  1354
7900864.62248599  1354
7916793.78503132   759
8012368.76030333  1235
   8092014.57303  1358
8171660.38575668  1356
8251306.19848335  1354
8330952.01121002  1340
8362810.33630069  1283
8378739.49884603   555
 8458385.3115727   949
8538031.12429938  1138
8617676.93702605  1354
8697322.74975272  1359
8776968.56247939  1368
8856614.37520607  1375
8952189.35047808  1362
9031835.16320475  1364
9127410.13847676  1369
9207055.95120343  1377
9302630.92647544  1380
9382276.73920211  1381
9477851.71447412  1376
9557497.52720079  1375
9637143.33992746  1365
9732718.31519947  1346
9812364.12792614  1364
9892009.94065282  1359
9987584.91592483  1356
10067230.7286515  1362
10162805.7039235  1362
10242451.5166502  1329
10338026.4919222  1336
10417672.3046489  1344
10497318.1173755  1357
10576963.9301022  1355
10672538.9053742  1335
10752184.7181009  1337
10847759.6933729  1354
10927405.5060996  1354
11007051.3188262  1348
11102626.2940983  1354
11182272.1068249  1368
11277847.0820969  1368
11357492.8948236  1359
11437138.7075503  1362
11532713.6828223  1353
 11612359.495549  1351
 11707934.470821  1356
11787580.2835476  1351
11867226.0962743  1360
11962801.0715463  1345
 12042446.884273  1363
12122092.6969997  1367
12201738.5097263  1377
12297313.4849984  1374
 12376959.297725  1397
12456605.1104517  1395
12552180.0857237  1420
12631825.8984504  1435
12727400.8737224  1448
12759259.1988131  1434
12791117.5239037   723
12886692.4991757  1258
12966338.3119024  1372
13061913.2871744  1379
13141559.0999011  1385
13237134.0751731  1371
13332709.0504451  1380
13412354.8631718  1314
13507929.8384438  1268
13587575.6511705  1278
13683150.6264425  1283
13762796.4391691  1293
13858371.4144411  1320
13953946.3897132  1351
14033592.2024398  1342
14129167.1777118  1351
14224742.1529838  1360
14304387.9657105  1368
14399962.9409825  1358
14479608.7537092  1366
14575183.7289812  1369
14654829.5417079  1373
14750404.5169799  1378
14845979.4922519  1374
14925625.3049786  1367
15021200.2802506  1365
15100846.0929772  1385
15196421.0682493  1415
15291996.0435213  1420
15371641.8562479  1424
15467216.8315199  1421
15546862.6442466  1408
15642437.6195186  1396
15722083.4322453  1411
15817658.4075173  1413
 15897304.220244  1423
 15992879.195516  1399
16024737.5206067  1336
 16040666.683152   659
16120312.4958787  1157
16215887.4711507  1252
16311462.4464227  1254
16391108.2591494  1254
16486683.2344214  1260
 16566329.047148  1261
  16661904.02242  1274
16741549.8351467  1267
16837124.8104187  1271
16916770.6231454  1272
17012345.5984174  1277
17091991.4111441  1283
17187566.3864161  1298
17283141.3616881  1306
17362787.1744148  1305
17458362.1496868  1314
17553937.1249588  1333
17633582.9376855  1327
17729157.9129575  1324
17808803.7256841  1319
17904378.7009562  1350
17999953.6762282  1358
18079599.4889548  1364
18175174.4642268  1363
18254820.2769535  1369
18350395.2522255  1377
18430041.0649522  1351
18525616.0402242  1371
18621191.0154962  1349
18700836.8282229  1367
18796411.8034949  1369
18876057.6162216  1369
18955703.4289482  1365
19051278.4042202  1355
19130924.2169469  1362
19226499.1922189  1357
19306145.0049456  1370
19401719.9802176  1358
19481365.7929443  1369
 19561011.605671  1378
 19656586.580943  1388
19736232.3936696  1360
19831807.3689416  1346
19911453.1816683  1355
20007028.1569403  1353
 20086673.969667  1361
20166319.7823937  1372
20261894.7576657  1384
20341540.5703924  1387
20437115.5456644  1397
 20516761.358391  1475
 20612336.333663  1420
20691982.1463897  1401
20739769.6340257  1390
20771627.9591164   766
20867202.9343884  1344
20962777.9096604  1415
21058352.8849324  1507
21153927.8602044  1392
21249502.8354764  1403
21345077.8107484  1418
21440652.7860204  1423
21536227.7612925  1417
21631802.7365645  1430
21727377.7118365  1420
21822952.6871085  1426
21918527.6623805  1425
22014102.6376525  1433
22109677.6129245  1417
22205252.5881965  1407
22300827.5634685  1431
22396402.5387405  1455
22491977.5140125  1447
22587552.4892845  1438
22683127.4645565  1449
22778702.4398286  1463
22874277.4151006  1480
22969852.3903726  1500
23065427.3656446  1497
23161002.3409166  1416
23256577.3161886  1264
23352152.2914606  1279
23447727.2667326  1402
23543302.2420046  1395
23638877.2172766  1351
23718523.0300033  1283
23830027.1678206  1304
23925602.1430926  1346
24005247.9558193  1411
24116752.0936367  1451
24212327.0689087  1446
24291972.8816353  1437
24387547.8569073  1402
24483122.8321794  1524
24578697.8074514  1531
24674272.7827234  1476
24722060.2703594  1465
24785776.9205407   972
24881351.8958127  1183
24976926.8710847  1211
25072501.8463567  1210
25168076.8216287  1221
25247722.6343554  1232
25343297.6096274  1237
25438872.5848994  1233
25534447.5601714  1278
25630022.5354435  1249
25725597.5107155  1262
25757455.8358061  1267
25821172.4859875   933
25916747.4612595  1242
26012322.4365315  1275
26107897.4118035  1244
26187543.2245302  1222
26283118.1998022  1216
26378693.1750742  1219
26474268.1503462  1209
26553913.9630729  1204
26649488.9383449  1221
26745063.9136169  1240
26840638.8888889  1242
26936213.8641609  1252
27031788.8394329  1236
27127363.8147049  1276
27222938.7899769  1382
27318513.7652489  1477
27414088.7405209  1477
27493734.5532476  1422
27589309.5285196  1427
27684884.5037916  1488
27780459.4790636  1440
27876034.4543356  1428
27971609.4296077  1439
28051255.2423343  1454
28146830.2176063  1455
28242405.1928783  1430
28337980.1681503  1432
28433555.1434224  1444
 28513200.956149  1447
 28608775.931421  1423
 28704350.906693  1435
28783996.7194197  1446
28879571.6946917  1437
28975146.6699637  1447
29070721.6452357  1441
29150367.4579624  1449
29245942.4332344  1434
29341517.4085064  1425
29437092.3837784  1430
29532667.3590504  1452
29628242.3343225  1439
29723817.3095945  1470
29819392.2848665  1481
29914967.2601385  1470
29946825.5852291  1471
29994613.0728652   922
30090188.0481372  1205
30185763.0234092  1236
30281337.9986812  1243
30376912.9739532  1251
30472487.9492252  1254
30568062.9244972  1257
30663637.8997692  1256
30743283.7124959  1262
30838858.6877679  1256
30934433.6630399  1235
31030008.6383119  1293
31125583.6135839  1395
31205229.4263106  1386
31300804.4015826  1393
31396379.3768546  1400
31491954.3521266  1404
31571600.1648533  1385
31667175.1401253  1403
31762750.1153973  1438
31858325.0906693  1445
31874254.2532146  1418
31922041.7408506   943
32017616.7161226  1421
32065404.2037587  1425
32145050.0164853  1096
 32224695.829212  1446
 32320270.804484  1454
 32415845.779756  1424
32495491.5924827  1414
32591066.5677547  1401
32686641.5430267  1417
32766287.3557534  1406
32861862.3310254  1391
32941508.1437521  1396
33037083.1190241  1404
33116728.9317507  1383
33212303.9070228  1367
33307878.8822948  1380
33403453.8575668  1371
33483099.6702934  1393
33578674.6455655  1370
33658320.4582921  1375
33753895.4335641  1372
33833541.2462908  1373
33929116.2215628  1357
34008762.0342895  1358
34104337.0095615  1325
34183982.8222882  1311
34279557.7975602  1328
34359203.6102868  1347
34454778.5855588  1358
34534424.3982855  1374
34582211.8859215  1379
34614070.2110122   811
34709645.1862842  1210
34805220.1615562  1383
34900795.1368282  1402
34996370.1121002  1392
35091945.0873722  1394
35187520.0626443  1391
35283095.0379163  1402
35378670.0131883  1395
35474244.9884603  1379
35553890.8011869  1380
 35649465.776459  1376
 35745040.751731  1378
 35840615.727003  1368
 35936190.702275  1373
36015836.5150017  1373
36111411.4902737  1384
36206986.4655457  1387
36302561.4408177  1388
36398136.4160897  1391
36477782.2288164  1384
36573357.2040884  1380
36668932.1793604  1386
36764507.1546324  1393
36844152.9673591  1407
36939727.9426311  1388
37035302.9179031  1395
37130877.8931751  1386
37210523.7059017  1394
37306098.6811738  1388
37401673.6564458  1383
37481319.4691724  1394
37576894.4444444  1397
37672469.4197165  1374
37768044.3949885  1371
37847690.2077151  1379
37943265.1829871  1368
38038840.1582591  1363
38118485.9709858  1378
38214060.9462578  1372
38293706.7589845  1374
38389281.7342565  1342
38484856.7095285  1351
38564502.5222552  1356
38660077.4975272  1362
38755652.4727992  1352
38851227.4480712  1357
38930873.2607979  1349
39026448.2360699  1354
39122023.2113419  1332
39201669.0240686  1338
39249456.5117046  1247
39265385.6742499  1021
39281314.8367953  1290
39313173.1618859  1188
39329102.3244313  1243
39345031.4869766  1246
39360960.6495219  1242
39376889.8120673  1243
39392818.9746126  1233
39408748.1371579  1244
39424677.2997033  1246
39440606.4622486  1252
39456535.6247939  1243
39472464.7873393  1251
39520252.2749753   824
39615827.2502473  1235
39631756.4127926   551
39711402.2255193  1201
 39791048.038246  1428
39870693.8509726  1433
39966268.8262446  1420
40045914.6389713  1416
 40125560.451698  1427
40205206.2644247  1425
40300781.2396967  1417
40380427.0524233  1431
  40460072.86515  1416
40539718.6778767  1414
40635293.6531487  1418
40714939.4658754  1412
 40794585.278602  1411
40874231.0913287  1395
40953876.9040554  1403
41049451.8793274  1398
41129097.6920541  1404
41208743.5047807  1402
41288389.3175074  1405
41368035.1302341  1410
41463610.1055061  1390
41543255.9182328  1384
41622901.7309594  1386
41702547.5436861  1398
41782193.3564128  1419
41861839.1691395  1421
41941484.9818661  1398
42037059.9571381  1412
42116705.7698648  1406
42196351.5825915  1410
42275997.3953182  1424
42371572.3705902  1433
42451218.1833168  1428
42530863.9960435  1412
42610509.8087702  1413
42690155.6214969  1417
42769801.4342235  1425
42849447.2469502  1412
42945022.2222222  1406
43024668.0349489  1415
43104313.8476756  1427
43183959.6604022  1419
43263605.4731289  1422
43343251.2858556  1423
43422897.0985823  1409
43502542.9113089  1402
43582188.7240356  1401
43661834.5367623  1391
 43741480.349489  1392
43773338.6745796  1320
 43789267.837125   523
43868913.6498516   968
43948559.4625783  1274
 44028205.275305  1482
 44123780.250577  1492
44203426.0633037  1487
44299001.0385757  1493
44378646.8513023  1495
44474221.8265743  1497
 44553867.639301  1482
 44649442.614573  1483
44729088.4272997  1488
44824663.4025717  1482
44904309.2152984  1478
44999884.1905704  1485
45079530.0032971  1489
45175104.9785691  1504
45254750.7912958  1489
45350325.7665678  1493
45429971.5792944  1477
45509617.3920211  1485
45605192.3672931  1488
45684838.1800198  1475
45780413.1552918  1487
45860058.9680185  1477
45939704.7807451  1486
46035279.7560171  1483
46114925.5687438  1481
46210500.5440158  1476
46290146.3567425  1473
46369792.1694692  1486
46465367.1447412  1478
46545012.9574679  1464
46624658.7701945  1486
46704304.5829212  1478
46783950.3956479  1475
46879525.3709199  1475
46959171.1836466  1464
47038816.9963732  1463
47118462.8090999  1458
47214037.7843719  1451
47293683.5970986  1445
47373329.4098253  1440
47452975.2225519  1441
47548550.1978239  1443
47628196.0105506  1441
47707841.8232773  1434
 47787487.636004  1425
47867133.4487306  1421
47946779.2614573  1428
48042354.2367293  1423
 48122000.049456  1433
48201645.8621827  1426
48281291.6749093  1438
        48313150  1312
(examples/TRISO/failure_probability_monte_carlo/outer_temp.csv)

Monte Carlo Input

The Monte Carlo input is used to define the samplers and distributions. The complete input file is provided in Listing 2. The failure index for each particle will be output in a csv file (default name is monte_carlo_out_failure_results_0001.csv) and a python script used to read the csv file and compute failure probability is included in examples/TRISO/failure_probability_monte_carlo (probability.py).

Listing 2: Complete input file for Monte Carlo.

[StochasticTools<<<{"href": "../../../syntax/StochasticTools/index.html"}>>>]
  auto_create_executioner<<<{"description": "Automatically setup the Executioner block for a master application without a simulation."}>>> = false
[]

[Distributions<<<{"href": "../../../syntax/Distributions/index.html"}>>>]
  [normal_kernel_r]
    type = TruncatedNormal<<<{"description": "Truncated normal distribution", "href": "../../../source/distributions/TruncatedNormal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 213.35e-6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 4.4e-6
    lower_bound<<<{"description": "Lower bound of the distribution "}>>> = 1.9575e-04
    upper_bound<<<{"description": "Upper bound of the distribution "}>>> = 2.3095e-04
  []
  [normal_buffer_t]
    type = TruncatedNormal<<<{"description": "Truncated normal distribution", "href": "../../../source/distributions/TruncatedNormal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 98.9e-6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 8.4e-6
    lower_bound<<<{"description": "Lower bound of the distribution "}>>> = 6.53e-05
    upper_bound<<<{"description": "Upper bound of the distribution "}>>> = 1.325e-04
  []
  [normal_ipyc_t]
    type = TruncatedNormal<<<{"description": "Truncated normal distribution", "href": "../../../source/distributions/TruncatedNormal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 40.4e-6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 2.5e-6
    lower_bound<<<{"description": "Lower bound of the distribution "}>>> = 3.0400e-05
    upper_bound<<<{"description": "Upper bound of the distribution "}>>> = 5.0400e-05
  []
  [normal_sic_t]
    type = TruncatedNormal<<<{"description": "Truncated normal distribution", "href": "../../../source/distributions/TruncatedNormal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 35.2e-6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 1.2e-6
    lower_bound<<<{"description": "Lower bound of the distribution "}>>> = 3.0400e-05
    upper_bound<<<{"description": "Upper bound of the distribution "}>>> = 4.0000e-05
  []
  [normal_opyc_t]
    type = TruncatedNormal<<<{"description": "Truncated normal distribution", "href": "../../../source/distributions/TruncatedNormal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 43.4e-6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 2.9e-6
    lower_bound<<<{"description": "Lower bound of the distribution "}>>> = 3.1800e-05
    upper_bound<<<{"description": "Upper bound of the distribution "}>>> = 5.5000e-05
  []
  [uniform]
    type = Uniform<<<{"description": "Continuous uniform distribution.", "href": "../../../source/distributions/Uniform.html"}>>>
  []
  [normal_bond_strength]
    type = Normal<<<{"description": "Normal distribution", "href": "../../../source/distributions/Normal.html"}>>>
    mean<<<{"description": "Mean (or expectation) of the distribution."}>>> = 20e6
    standard_deviation<<<{"description": "Standard deviation of the distribution "}>>> = 1e5
  []
[]

[Samplers<<<{"href": "../../../syntax/Samplers/index.html"}>>>]
  [sample]
    type = MonteCarlo<<<{"description": "Monte Carlo Sampler.", "href": "../../../source/samplers/MonteCarloSampler.html"}>>>
    num_rows<<<{"description": "The number of rows per matrix to generate."}>>> = 100 # Number of Monte Carlo samples
    distributions<<<{"description": "The distribution names to be sampled, the number of distributions provided defines the number of columns per matrix."}>>> = 'normal_kernel_r normal_buffer_t normal_ipyc_t normal_sic_t normal_opyc_t uniform uniform uniform normal_bond_strength'
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'PRE_MULTIAPP_SETUP'
  []
[]

[MultiApps<<<{"href": "../../../syntax/MultiApps/index.html"}>>>]
  [sub]
    type = SamplerFullSolveMultiApp<<<{"description": "Creates a full-solve type sub-application for each row of each Sampler matrix.", "href": "../../../source/multiapps/SamplerFullSolveMultiApp.html"}>>>
    input_files<<<{"description": "The input file for each App.  If this parameter only contains one input file it will be used for all of the Apps.  When using 'positions_from_file' it is also admissable to provide one input_file per file."}>>> = triso_1d_function.i
    sampler<<<{"description": "The Sampler object to utilize for creating MultiApps."}>>> = sample
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_BEGIN'
    mode<<<{"description": "The operation mode, 'normal' creates one sub-application for each row in the Sampler and 'batch-reset' and 'batch-restore' creates N sub-applications, where N is the minimum of 'num_rows' in the Sampler and floor(number of processes / min_procs_per_app). To run the rows in the Sampler, 'batch-reset' will destroy and re-create sub-apps as needed, whereas the 'batch-restore' will backup and restore sub-apps to the initial state prior to execution, without destruction."}>>> = batch-reset
  []
[]

[Transfers<<<{"href": "../../../syntax/Transfers/index.html"}>>>]
  [sic_failure_overall]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = sic_failure_overall
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = sic_failure_overall
  []
  [ipyc_cracking]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = ipyc_cracking
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = ipyc_cracking
  []
  [debonding]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = debonding
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = debonding
  []
  [sic_failure_due_to_pressure]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = sic_failure_due_to_pressure
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = sic_failure_due_to_pressure
  []
  [sic_failure_due_to_ipyc_cracking]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = sic_failure_due_to_ipyc_cracking
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = sic_failure_due_to_ipyc_cracking
  []
  [max_fluence]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = max_fluence
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = max_fluence
  []
  [fluence_at_failure]
    type = SamplerPostprocessorTransfer<<<{"description": "Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.", "href": "../../../source/transfers/SamplerPostprocessorTransfer.html"}>>>
    from_multi_app<<<{"description": "The name of the MultiApp to receive data from"}>>> = sub
    sampler<<<{"description": "A the Sampler object that Transfer is associated.."}>>> = sample
    to_vector_postprocessor<<<{"description": "The name of the VectorPostprocessor in the MultiApp to transfer values to."}>>> = fluence_at_failure
    from_postprocessor<<<{"description": "The name(s) of the Postprocessor(s) on the sub-app to transfer from."}>>> = fluence_at_failure
  []
[]

[Controls<<<{"href": "../../../syntax/Controls/index.html"}>>>]
  [cmdline]
    type = MultiAppSamplerControl<<<{"description": "Control for modifying the command line arguments of MultiApps.", "href": "../../../source/controls/MultiAppSamplerControl.html"}>>>
    multi_app<<<{"description": "The name of the MultiApp to control."}>>> = sub
    sampler<<<{"description": "The Sampler object to utilize for altering the command line options of the MultiApp."}>>> = sample
    param_names<<<{"description": "The names of the command line parameters to set via the sampled data."}>>> = 'Mesh/gen/kernel_radius Mesh/gen/buffer_thickness Mesh/gen/IPyC_thickness Mesh/gen/SiC_thickness Mesh/gen/OPyC_thickness Postprocessors/failure_indicator_IPyC/quantile Postprocessors/failure_indicator_SiC_crackedIPyC/quantile Postprocessors/failure_indicator_SiC/quantile Postprocessors/failure_indicator_debonding/bond_strength'
  []
[]

[VectorPostprocessors<<<{"href": "../../../syntax/VectorPostprocessors/index.html"}>>>]
  [sic_failure_overall]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [ipyc_cracking]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [debonding]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [sic_failure_due_to_pressure]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [sic_failure_due_to_ipyc_cracking]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [sampler_data]
    type = SamplerData<<<{"description": "Tool for extracting Sampler object data and storing in VectorPostprocessor vectors.", "href": "../../../source/vectorpostprocessors/SamplerData.html"}>>>
    sampler<<<{"description": "The sample from which to extract distribution data."}>>> = sample
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [max_fluence]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
  [fluence_at_failure]
    type = StochasticResults<<<{"description": "Storage container for stochastic simulation results coming from a Postprocessor.", "href": "../../../source/vectorpostprocessors/StochasticResults.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  []
[]

[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
  type = Steady
[]

[Outputs<<<{"href": "../../../syntax/Outputs/index.html"}>>>]
  perf_graph<<<{"description": "Enable printing of the performance graph to the screen (Console)"}>>> = true
  csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
  exodus<<<{"description": "Output the results using the default settings for Exodus output."}>>> = false
  execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'TIMESTEP_END'
  print_linear_converged_reason<<<{"description": "Enable/disable printing of the linear solver convergence reason to the screen. This parameter only affects the output of the third-party solver (e.g. PETSc), not MOOSE itself."}>>> = false
  print_nonlinear_converged_reason<<<{"description": "Enable/disable printing of the nonlinear solver convergence reason to the screen. This parameter only affects the output of the third-party solver (e.g. PETSc), not MOOSE itself."}>>> = false
[]
(examples/TRISO/failure_probability_monte_carlo/monte_carlo.i)

High-fidelity Analysis

The current TRISO failure model implementation includes failure mechanisms due to pressure driven failure (with asphericity) and cracking of the IPyC layer. To account for these multi-dimensional phenomena within a 1D TRISO model, a high-fidelity analysis is first performed to obtain the mean strength based on the multi-dimensional stress distribution and stress correlation function.

The stress in the multi-dimensional particle having parameter that varies from its mean value by an amount is approximated as: where is the stress of the SiC layer for a multi-dimensional particle having all parameters set at the mean values, is the stress of the SiC layer for an intact 1D spherical particle having all parameters set at the mean values. is stress of the SiC layer for 1D spherical particle having statistically varying parameters, and is a fitted function that describes the variation of maximum stress in the SiC layer of a cracked/aspherical particle with parameter :

The function for each statistically varying parameter needs to be calculated prior to Monte Carlo simulation. The calculation involves running several 1D and 2D simulations. For cases where statistical variations are not considered in the stress correlation, can be simplified as one term (constant). Otherwise, the coefficients of linear and quadratic terms will be computed to obtain a higher-order correlation function.

Constant Correlation Function

IPyC Cracking

The maximum tangential stress histories in the SiC layer for both a cracked particle (near the crack tip) and an intact particle are shown in Figure 2. The maximum SiC stress in a cracked particle is approximated as: where and are the maximum stress calculated in the 2-D and 1-D analyses at the mean values for a specified batch of particles, respectively. Upon varying statistical parameters, the maximum stress in the SiC layer is determined from the 1-D finite element solution for . The mean strength of the 2-D model, as evaluated at the maximum tangential stress state, will be used for 1-D analysis.

commentnote

The crack formation and propagation is calculated by XFEM, and currently requires a mesh with linear (first order) elements.

Figure 2: IPyC cracking: tangential stress in SiC layer.

The complete 2D input file for IPyC cracking is provided in Listing 3.

Listing 3: Complete input file for 2D IPyC cracking.

kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6

coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'

initial_fuel_density = 10966

[GlobalParams<<<{"href": "../../../syntax/GlobalParams/index.html"}>>>]
  order = FIRST
  family = LAGRANGE
  displacements = 'disp_x disp_y'
  initial_enrichment = 0.14029 # [wt-]
  flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
  stress_free_temperature = 481 # used for thermal expansion
  energy_per_fission = 3.204e-11 # [J/fission]
  O_U = 1.428 # Initial Oxygen to Uranium atom ratio
  C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]

[Mesh<<<{"href": "../../../syntax/Mesh/index.html"}>>>]
  coord_type = RZ
  [mesh]
    type = TRISO2DMeshGenerator<<<{"description": "Generates an axisymmetric mesh of a TRISO particle.", "href": "../../../source/meshgenerators/TRISO2DMeshGenerator.html"}>>>
    elem_type<<<{"description": "Whether to generate quad8 or quad4 elements."}>>> = quad4
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
    mesh_density<<<{"description": "A list giving the number of elements in each interval (zero for a gap). The first entry is the number of radial elements outside the inner quadrilateral portion of the fuel mesh."}>>> = '20 8 0 4 4 4'
    block_names<<<{"description": "A list of names to be assigned to the mesh blocks."}>>> = 'fuel buffer IPyC SiC OPyC'
    num_sectors<<<{"description": "Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number."}>>> = 60
    all_bottom_left<<<{"description": "Whether to generate sidesets for every bottom and left surface of mesh blocks."}>>> = True
  []
[]

[XFEM<<<{"href": "../../../syntax/XFEM/index.html"}>>>]
  qrule<<<{"description": "XFEM quadrature rule to use"}>>> = volfrac
  output_cut_plane<<<{"description": "Output the XFEM cut plane and volume fraction"}>>> = true
[]

[Problem<<<{"href": "../../../syntax/Problem/index.html"}>>>]
  type = ReferenceResidualProblem
  reference_vector = 'ref'
  extra_tag_vectors = 'ref'
[]

[UserObjects<<<{"href": "../../../syntax/UserObjects/index.html"}>>>]
  [ipyc_crack]
    type = LineSegmentCutUserObject<<<{"description": "Creates a UserObject for a line segment cut on 2D meshes for XFEM", "href": "../../../source/userobjects/LineSegmentCutUserObject.html"}>>>
    cut_data<<<{"description": "Vector of Real values providing cut information"}>>> = '0.0000 0 0.001 0'
    time_start_cut<<<{"description": "Start time of geometric cut propagation"}>>> = 0.0
    time_end_cut<<<{"description": "End time of geometric cut propagation"}>>> = 0.0
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
  []
  [particle_geometry]
    type = TRISOGeometry<<<{"description": "Computes TRISO Geometry.", "href": "../../../source/userobject/TRISOGeometry.html"}>>>
    outer_OPyC<<<{"description": "Sideset for outer OPyC"}>>> = OPyC_outer_boundary
    outer_SiC<<<{"description": "Sideset for outer SiC"}>>> = SiC_outer_boundary
    outer_IPyC<<<{"description": "Sideset for outer IPyC"}>>> = IPyC_outer_boundary
    inner_IPyC<<<{"description": "Sideset for inner IPyC"}>>> = IPyC_inner_boundary
    outer_buffer<<<{"description": "Sideset for outer buffer"}>>> = buffer_outer_boundary
    outer_kernel<<<{"description": "Sideset for outer kernel"}>>> = fuel_outer_boundary
    include_particle<<<{"description": "Set as true to output particle geometry."}>>> = true
    include_pebble<<<{"description": "Set as true to output pebble geometry."}>>> = false
    mesh_generator<<<{"description": "The name of the TRISO 2D mesh generator."}>>> = mesh
  []
[]

[Variables<<<{"href": "../../../syntax/Variables/index.html"}>>>]
  [temperature]
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 481
  []
[]

[AuxVariables<<<{"href": "../../../syntax/AuxVariables/index.html"}>>>]
  [fission_rate]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [burnup]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_flux]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_fluence]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
[]

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [temp_bc]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    data_file<<<{"description": "File holding CSV data"}>>> = outer_temp.csv
    x_index_in_file<<<{"description": "The abscissa index in the data file"}>>> = 0
    y_index_in_file<<<{"description": "The ordinate index in the data file"}>>> = 1
    format<<<{"description": "Format of csv data file that is in either in columns or rows"}>>> = columns
  []
  [fission_rate]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = 5.75e19
  []
[]

[Physics<<<{"href": "../../../syntax/Physics/index.html"}>>>/SolidMechanics<<<{"href": "../../../syntax/Physics/SolidMechanics/index.html"}>>>/QuasiStatic<<<{"href": "../../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
  generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress min_principal_stress'
  add_variables<<<{"description": "Add the displacement variables"}>>> = true
  strain<<<{"description": "Strain formulation"}>>> = FINITE
  incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
  [fuel]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'UCO_swelling_eigenstrain UCO_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [buffer]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = buffer
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'Buffer_IIDC_strain Buffer_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [IPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = IPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'IPyC_IIDC_strain IPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [SiC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = SiC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'SiC_thermal_eigenstrain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [OPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = OPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'OPyC_IIDC_strain OPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
[]

[Kernels<<<{"href": "../../../syntax/Kernels/index.html"}>>>]
  [heat_ie]
    type = HeatConductionTimeDerivative<<<{"description": "Time derivative term $\\rho c_p \\frac{\\partial T}{\\partial t}$ of the thermal energy conservation equation.", "href": "../../../source/kernels/HeatConductionTimeDerivative.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat]
    type = HeatConduction<<<{"description": "Diffusive heat conduction term $-\\nabla\\cdot(k\\nabla T)$ of the thermal energy conservation equation", "href": "../../../source/kernels/HeatConduction.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "../../../source/kernels/NeutronHeatSource.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    fission_rate<<<{"description": "Coupled Fission Rate"}>>> = fission_rate
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
[]

[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [fissionrate]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate
    property<<<{"description": "The material property name."}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [burnup]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = burnup
    property<<<{"description": "The material property name."}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_flux]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_flux
    property<<<{"description": "The material property name."}>>> = fast_neutron_flux
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_fluence]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_fluence
    property<<<{"description": "The material property name."}>>> = fast_neutron_fluence
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
[]

[ThermalContact<<<{"href": "../../../syntax/Modules/HeatTransfer/ThermalContact/index.html"}>>>]
  [thermal_contact]
    type = GasGapHeatTransfer
    variable = temperature
    primary = IPyC_inner_boundary
    secondary = buffer_outer_boundary
    initial_moles = initial_moles
    gas_released = 'fis_gas_released'
    released_gas_types = 'Kr Xe'
    released_fractions = '0.185 0.815'
    tangential_tolerance = 5e-6
    quadrature = false
    min_gap = 1e-7
    max_gap = 50e-6
    gap_geometry_type = sphere
    sphere_origin = '0 0 0'
  []
[]

[BCs<<<{"href": "../../../syntax/NuclearMaterials/BCs/index.html"}>>>]
  [no_disp_x]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = xzero
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []
  [no_disp_y]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_y
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = '2001 2002 2004 2005'
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []
  [freesurf_temp]
    type = FunctionDirichletBC<<<{"description": "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ is a (possibly) time and space-dependent MOOSE Function.", "href": "../../../source/bcs/FunctionDirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    function<<<{"description": "The forcing function."}>>> = temp_bc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [Pressure<<<{"href": "../../../syntax/BCs/Pressure/index.html"}>>>]
    [exterior]
      boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = exterior
      factor<<<{"description": "The magnitude to use in computing the pressure"}>>> = 0.1e6
    []
  []
  [PlenumPressure<<<{"href": "../../../syntax/BCs/PlenumPressure/index.html"}>>>]
    [plenumPressure]
      boundary<<<{"description": "The list of boundary IDs from the mesh where the pressure will be applied"}>>> = buffer_IPyC_boundary
      startup_time<<<{"description": "The amount of time during which the pressure will ramp from zero to its true value."}>>> = 1e4
      initial_pressure<<<{"description": "The initial pressure in the cavity.  If not given, a zero initial pressure will be used."}>>> = 0
      R<<<{"description": "The universal gas constant for the units used."}>>> = 8.3145
      output_initial_moles<<<{"description": "The name to use when reporting the initial moles of gas"}>>> = initial_moles
      temperature<<<{"description": "The name of the average temperature postprocessor value."}>>> = ave_gas_temp
      volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = 'gap_volume buffer_void_volume kernel_void_volume'
      material_input<<<{"description": "The name of the postprocessor(s) that holds the amount of material injected into the plenum."}>>> = 'fis_gas_released'
      output<<<{"description": "The name to use for the cavity pressure value"}>>> = gas_pressure
    []
  []
[]

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [fission_rate]
    type = GenericFunctionMaterial<<<{"description": "Material object for declaring properties that are populated by evaluation of Function object.", "href": "../../../source/materials/GenericFunctionMaterial.html"}>>>
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = fission_rate
    prop_values<<<{"description": "The corresponding names of the functions that are going to provide the values for the variables"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [fast_neutron_flux]
    type = FastNeutronFlux<<<{"description": "Computes fast neutron flux.", "href": "../../../source/materials/FastNeutronFlux.html"}>>>
    calculate_fluence<<<{"description": "Flag to calculate fluence from the flux."}>>> = true
    factor<<<{"description": "Constant multiplied against the function, rod average linear power, or q_variable."}>>> = 6.2425e+17
  []
  [UCO_burnup]
    type = TRISOBurnup<<<{"description": "Computes burnup given fission rate density and initial density, initial enrichment, and molar mass of the kernel.", "href": "../../../source/materials/TRISOBurnup.html"}>>>

    initial_density<<<{"description": "initial density of the kernel (kg/m^3)"}>>> = ${initial_fuel_density}
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_thermal]
    type = UCOThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for UCO.", "href": "../../../source/materials/UCOThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_elasticity_tensor]
    type = UCOElasticityTensor<<<{"description": "Computes the Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_VolumetricSwellingEigenstrain]
    type = UCOVolumetricSwellingEigenstrain<<<{"description": "Computes fission-induced swelling (percent per percent FIMA) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_swelling_eigenstrain
  []
  [fuel_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10.0e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_TE_strain
  []
  [UCO_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = ${initial_fuel_density}
  []
  [fission_gas_release]
    type = UCOFGR<<<{"description": "Fission gas release model for UCO", "href": "../../../source/materials/UCOFGR.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    average_grain_radius<<<{"description": "Average grain radius (m)"}>>> = 10e-6
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    cutoff_neutron_flux<<<{"description": "The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions."}>>> = 0.0
  []
  [normal_vectors_triso]
    type = NormalVectorsTRISO<<<{"description": "Computes the normal vectors for TRISO layers.", "href": "../../../source/materials/NormalVectorsTRISO.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'buffer IPyC OPyC'
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
  []
  [BAF_IPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0465
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
  []
  [BAF_OPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0429
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
  []
  [buffer_elasticity_tensor]
    type = BufferElasticityTensor<<<{"description": "Computes Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for the buffer layer in TRISO fuels.", "href": "../../../source/materials/solid_mechanics/BufferElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_stress]
    type = BufferCEGACreep<<<{"description": "Computes irradiation-induced creep ((MPa-n/m^2)^-1) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_thermal]
    type = BufferThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for Buffer.", "href": "../../../source/materials/BufferThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    initial_density<<<{"description": "Initial density for Buffer."}>>> = 1050.0
  []
  [buffer_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1050.0
  []
  [buffer_TE]
    type = BufferThermalExpansionEigenstrain<<<{"description": "Computes thermal expansion (/K) and associated eigenstrain (dimensionless) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_IIDC]
    type = BufferCEGAIrradiationEigenstrain<<<{"description": "Irradiation eigenstrain for Buffer", "href": "../../../source/materials/solid_mechanics/BufferCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [IPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
  []
  [IPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []

  [IPyC_thermal]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [IPyC_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1890
  []
  [IPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [IPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [SiC_elasticity_tensor]
    type = MonolithicSiCElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for monolithic silicon carbide (CVD) cladding using relations as a function of temperature.", "href": "../../../source/materials/solid_mechanics/MonolithicSiCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    elastic_modulus_model<<<{"description": "Options for the correlation used to calculate the Young's modulus."}>>> = miller
  []
  [SiC_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
  []
  [SiC_thermal]
    type = MonolithicSiCThermal<<<{"description": "Computes thermal conductivity and specific heat of monolithic silicon carbide.", "href": "../../../source/materials/MonolithicSiCThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled Temperature"}>>> = temperature
    thermal_conductivity_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = miller
  []
  [SiC_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 3200.0
  []
  [SiC_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 4.9e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = SiC_thermal_eigenstrain
  []
  [OPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.0
  []
  [OPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [OPyC_thermal_conductivity]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [OPyC_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1900
  []
  [OPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [OPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [characteristic_strength_SiC]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    prop_values<<<{"description": "The values associated with the named properties"}>>> = '9640000'
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'characteristic_strength'
  []
  [characteristic_strength_PyC]
    type = PyCCharacteristicStrength<<<{"description": "Computes characteristic strength of pyrocarbons: Pa-m^(3/modulus).", "href": "../../../source/materials/PyCCharacteristicStrength.html"}>>>
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    X<<<{"description": "Fitting parameter."}>>> = 1.02
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
  []
[]

[Dampers<<<{"href": "../../../syntax/Dampers/index.html"}>>>]
  [temp]
    type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../../source/dampers/MaxIncrement.html"}>>>
    variable<<<{"description": "The name of the variable that this damper operates on"}>>> = temperature
    max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 100
  []
[]

[Preconditioning<<<{"href": "../../../syntax/Preconditioning/index.html"}>>>]
  [smp]
    type = SMP<<<{"description": "Single matrix preconditioner (SMP) builds a preconditioner using user defined off-diagonal parts of the Jacobian.", "href": "../../../source/preconditioners/SingleMatrixPreconditioner.html"}>>>
    full<<<{"description": "Set to true if you want the full set of couplings between variables simply for convenience so you don't have to set every off_diag_row and off_diag_column combination."}>>> = true
  []
[]

[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
  type = Transient
  solve_type = NEWTON

  petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
  petsc_options_value = 'lu superlu_dist'

  line_search = 'none'

  nl_rel_tol = 5e-6
  nl_abs_tol = 1e-8
  nl_max_its = 20

  l_tol = 1e-4
  l_max_its = 50

  start_time = 0.0
  end_time = 4.831315e7

  dtmin = 1e-4
  dt = 6e5

  automatic_scaling = true
[]

[Postprocessors<<<{"href": "../../../syntax/Postprocessors/index.html"}>>>]
  [ave_gas_temp]
    type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../../../source/postprocessors/ElementAverageValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [fis_gas_released]
    type = ElementIntegralMaterialProperty<<<{"description": "Compute the integral of the material property over the domain", "href": "../../../source/postprocessors/ElementIntegralMaterialProperty.html"}>>>
    mat_prop<<<{"description": "The name of the material property"}>>> = fis_gas_released
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = false
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [gap_volume]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [buffer_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = 2250
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [kernel_th_density]
    type = UCOTheoreticalDensity<<<{"description": "Computes UCO theoretical density.", "href": "../../../source/postprocessors/UCOTheoreticalDensity.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = initial
  []
  [kernel_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = kernel_th_density
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [particle_power]
     type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "../../../source/postprocessors/ElementIntegralPower.html"}>>>
     variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
     use_material_fission_rate<<<{"description": "Flag to use the material 'fission_rate_material' instead of variable fission rate"}>>> = true
     fission_rate_material<<<{"description": "Fission rate material property name"}>>> = fission_rate
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_fluence]
     type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
     variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = fast_neutron_fluence
     value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_burnup]
     type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
     variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = burnup
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
     value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [SiC_stress]
    type = ElementExtremeMaterialProperty<<<{"description": "Determines the minimum or maximum of a material property over a volume.", "href": "../../../source/postprocessors/ElementExtremeMaterialProperty.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    value_type<<<{"description": "Type of extreme value to return: 'max' returns the maximum value and 'min' returns the minimum value."}>>> = max
    mat_prop<<<{"description": "Material property for which to find the extreme"}>>> = max_principal_stress
  []
  [strength_SiC]
     type = WeibullEffectiveMeanStrength<<<{"description": "Computes Weibull effective mean strength, which is used by the WeibullFailureOutputUsingCorrelation Postprocessor.", "href": "../../../source/postprocessors/WeibullEffectiveMeanStrength.html"}>>>
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
     weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
  []
  [weibull_failure_probability_SiC]
    type = WeibullFailureProbability<<<{"description": "Computes Weibull failure probability using principle of independent action (PIA) model.", "href": "../../../source/postprocessors/WeibullFailureProbability.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
    characteristic_strength<<<{"description": "The material name of characteristic strength."}>>> = characteristic_strength
  []
[]

[Outputs<<<{"href": "../../../syntax/Outputs/index.html"}>>>]
  print_linear_residuals<<<{"description": "Enable printing of linear residuals to the screen (Console)"}>>> = true
  time_step_interval<<<{"description": "The interval (number of time steps) at which output occurs"}>>> =  1
  csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
  perf_graph<<<{"description": "Enable printing of the performance graph to the screen (Console)"}>>> = true
  exodus<<<{"description": "Output the results using the default settings for Exodus output."}>>> = false
[]
(examples/TRISO/correlation_function/h_ipyc_cracking/triso_cracking.i)
15929.1625453347   481
95574.9752720079   899
175220.787998681   990
270795.763270689   963
350441.575997362   962
 446016.55126937   965
525662.363996044   969
621237.339268051   981
700883.151994725   991
796458.127266733  1145
 892033.10253874  1338
971678.915265414  1318
1067253.89053742  1324
1162828.86580943  1333
 1242474.6785361  1334
1338049.65380811  1335
1433624.62908012  1350
1513270.44180679  1337
 1608845.4170788  1333
1704420.39235081  1330
1799995.36762282  1333
1879641.18034949  1343
 1975216.1556215  1338
2054861.96834817  1355
2150436.94362018  1365
2246011.91889219  1360
2325657.73161886  1362
2421232.70689087  1372
2516807.68216288  1356
2596453.49488955  1255
2692028.47016156  1093
2707957.63270689  1303
2755745.12034289   910
 2851320.0956149  1318
2930965.90834158  1333
3026540.88361358  1314
3122115.85888559  1341
3201761.67161227  1346
3281407.48433894  1338
3376982.45961095  1346
3456628.27233762  1345
3552203.24760963  1343
3647778.22288164  1351
3727424.03560831  1340
3822999.01088032  1345
3902644.82360699  1330
  3998219.798879  1328
4077865.61160567  1328
4173440.58687768  1307
4269015.56214969  1322
4348661.37487636  1322
4444236.35014837  1335
4476094.67523904  1292
4555740.48796571   942
4635386.30069238  1352
4715032.11341906  1346
4794677.92614573  1346
 4874323.7388724  1352
4953969.55159908  1359
5033615.36432575  1371
5113261.17705242  1382
5208836.15232443  1368
5288481.96505111  1352
5368127.77777778  1343
5447773.59050445  1352
5527419.40323112  1359
 5607065.2159578  1356
5702640.19122981  1335
5782286.00395648  1344
5861931.81668315  1348
5941577.62940983  1357
 6021223.4421365  1363
6100869.25486317  1350
6196444.23013518  1337
6276090.04286185  1348
6355735.85558853  1355
 6435381.6683152  1342
6515027.48104187  1337
6594673.29376855  1348
6690248.26904055  1349
6769894.08176723  1348
 6849539.8944939  1352
6929185.70722057  1186
7024760.68249258  1012
7104406.49521925  1009
7184052.30794593  1001
 7263698.1206726  1007
7343343.93339928  1002
7422989.74612595  1004
7502635.55885262  1096
7582281.37157929  1350
 7677856.3468513  1352
7757502.15957798  1339
7837147.97230465  1354
7900864.62248599  1354
7916793.78503132   759
8012368.76030333  1235
   8092014.57303  1358
8171660.38575668  1356
8251306.19848335  1354
8330952.01121002  1340
8362810.33630069  1283
8378739.49884603   555
 8458385.3115727   949
8538031.12429938  1138
8617676.93702605  1354
8697322.74975272  1359
8776968.56247939  1368
8856614.37520607  1375
8952189.35047808  1362
9031835.16320475  1364
9127410.13847676  1369
9207055.95120343  1377
9302630.92647544  1380
9382276.73920211  1381
9477851.71447412  1376
9557497.52720079  1375
9637143.33992746  1365
9732718.31519947  1346
9812364.12792614  1364
9892009.94065282  1359
9987584.91592483  1356
10067230.7286515  1362
10162805.7039235  1362
10242451.5166502  1329
10338026.4919222  1336
10417672.3046489  1344
10497318.1173755  1357
10576963.9301022  1355
10672538.9053742  1335
10752184.7181009  1337
10847759.6933729  1354
10927405.5060996  1354
11007051.3188262  1348
11102626.2940983  1354
11182272.1068249  1368
11277847.0820969  1368
11357492.8948236  1359
11437138.7075503  1362
11532713.6828223  1353
 11612359.495549  1351
 11707934.470821  1356
11787580.2835476  1351
11867226.0962743  1360
11962801.0715463  1345
 12042446.884273  1363
12122092.6969997  1367
12201738.5097263  1377
12297313.4849984  1374
 12376959.297725  1397
12456605.1104517  1395
12552180.0857237  1420
12631825.8984504  1435
12727400.8737224  1448
12759259.1988131  1434
12791117.5239037   723
12886692.4991757  1258
12966338.3119024  1372
13061913.2871744  1379
13141559.0999011  1385
13237134.0751731  1371
13332709.0504451  1380
13412354.8631718  1314
13507929.8384438  1268
13587575.6511705  1278
13683150.6264425  1283
13762796.4391691  1293
13858371.4144411  1320
13953946.3897132  1351
14033592.2024398  1342
14129167.1777118  1351
14224742.1529838  1360
14304387.9657105  1368
14399962.9409825  1358
14479608.7537092  1366
14575183.7289812  1369
14654829.5417079  1373
14750404.5169799  1378
14845979.4922519  1374
14925625.3049786  1367
15021200.2802506  1365
15100846.0929772  1385
15196421.0682493  1415
15291996.0435213  1420
15371641.8562479  1424
15467216.8315199  1421
15546862.6442466  1408
15642437.6195186  1396
15722083.4322453  1411
15817658.4075173  1413
 15897304.220244  1423
 15992879.195516  1399
16024737.5206067  1336
 16040666.683152   659
16120312.4958787  1157
16215887.4711507  1252
16311462.4464227  1254
16391108.2591494  1254
16486683.2344214  1260
 16566329.047148  1261
  16661904.02242  1274
16741549.8351467  1267
16837124.8104187  1271
16916770.6231454  1272
17012345.5984174  1277
17091991.4111441  1283
17187566.3864161  1298
17283141.3616881  1306
17362787.1744148  1305
17458362.1496868  1314
17553937.1249588  1333
17633582.9376855  1327
17729157.9129575  1324
17808803.7256841  1319
17904378.7009562  1350
17999953.6762282  1358
18079599.4889548  1364
18175174.4642268  1363
18254820.2769535  1369
18350395.2522255  1377
18430041.0649522  1351
18525616.0402242  1371
18621191.0154962  1349
18700836.8282229  1367
18796411.8034949  1369
18876057.6162216  1369
18955703.4289482  1365
19051278.4042202  1355
19130924.2169469  1362
19226499.1922189  1357
19306145.0049456  1370
19401719.9802176  1358
19481365.7929443  1369
 19561011.605671  1378
 19656586.580943  1388
19736232.3936696  1360
19831807.3689416  1346
19911453.1816683  1355
20007028.1569403  1353
 20086673.969667  1361
20166319.7823937  1372
20261894.7576657  1384
20341540.5703924  1387
20437115.5456644  1397
 20516761.358391  1475
 20612336.333663  1420
20691982.1463897  1401
20739769.6340257  1390
20771627.9591164   766
20867202.9343884  1344
20962777.9096604  1415
21058352.8849324  1507
21153927.8602044  1392
21249502.8354764  1403
21345077.8107484  1418
21440652.7860204  1423
21536227.7612925  1417
21631802.7365645  1430
21727377.7118365  1420
21822952.6871085  1426
21918527.6623805  1425
22014102.6376525  1433
22109677.6129245  1417
22205252.5881965  1407
22300827.5634685  1431
22396402.5387405  1455
22491977.5140125  1447
22587552.4892845  1438
22683127.4645565  1449
22778702.4398286  1463
22874277.4151006  1480
22969852.3903726  1500
23065427.3656446  1497
23161002.3409166  1416
23256577.3161886  1264
23352152.2914606  1279
23447727.2667326  1402
23543302.2420046  1395
23638877.2172766  1351
23718523.0300033  1283
23830027.1678206  1304
23925602.1430926  1346
24005247.9558193  1411
24116752.0936367  1451
24212327.0689087  1446
24291972.8816353  1437
24387547.8569073  1402
24483122.8321794  1524
24578697.8074514  1531
24674272.7827234  1476
24722060.2703594  1465
24785776.9205407   972
24881351.8958127  1183
24976926.8710847  1211
25072501.8463567  1210
25168076.8216287  1221
25247722.6343554  1232
25343297.6096274  1237
25438872.5848994  1233
25534447.5601714  1278
25630022.5354435  1249
25725597.5107155  1262
25757455.8358061  1267
25821172.4859875   933
25916747.4612595  1242
26012322.4365315  1275
26107897.4118035  1244
26187543.2245302  1222
26283118.1998022  1216
26378693.1750742  1219
26474268.1503462  1209
26553913.9630729  1204
26649488.9383449  1221
26745063.9136169  1240
26840638.8888889  1242
26936213.8641609  1252
27031788.8394329  1236
27127363.8147049  1276
27222938.7899769  1382
27318513.7652489  1477
27414088.7405209  1477
27493734.5532476  1422
27589309.5285196  1427
27684884.5037916  1488
27780459.4790636  1440
27876034.4543356  1428
27971609.4296077  1439
28051255.2423343  1454
28146830.2176063  1455
28242405.1928783  1430
28337980.1681503  1432
28433555.1434224  1444
 28513200.956149  1447
 28608775.931421  1423
 28704350.906693  1435
28783996.7194197  1446
28879571.6946917  1437
28975146.6699637  1447
29070721.6452357  1441
29150367.4579624  1449
29245942.4332344  1434
29341517.4085064  1425
29437092.3837784  1430
29532667.3590504  1452
29628242.3343225  1439
29723817.3095945  1470
29819392.2848665  1481
29914967.2601385  1470
29946825.5852291  1471
29994613.0728652   922
30090188.0481372  1205
30185763.0234092  1236
30281337.9986812  1243
30376912.9739532  1251
30472487.9492252  1254
30568062.9244972  1257
30663637.8997692  1256
30743283.7124959  1262
30838858.6877679  1256
30934433.6630399  1235
31030008.6383119  1293
31125583.6135839  1395
31205229.4263106  1386
31300804.4015826  1393
31396379.3768546  1400
31491954.3521266  1404
31571600.1648533  1385
31667175.1401253  1403
31762750.1153973  1438
31858325.0906693  1445
31874254.2532146  1418
31922041.7408506   943
32017616.7161226  1421
32065404.2037587  1425
32145050.0164853  1096
 32224695.829212  1446
 32320270.804484  1454
 32415845.779756  1424
32495491.5924827  1414
32591066.5677547  1401
32686641.5430267  1417
32766287.3557534  1406
32861862.3310254  1391
32941508.1437521  1396
33037083.1190241  1404
33116728.9317507  1383
33212303.9070228  1367
33307878.8822948  1380
33403453.8575668  1371
33483099.6702934  1393
33578674.6455655  1370
33658320.4582921  1375
33753895.4335641  1372
33833541.2462908  1373
33929116.2215628  1357
34008762.0342895  1358
34104337.0095615  1325
34183982.8222882  1311
34279557.7975602  1328
34359203.6102868  1347
34454778.5855588  1358
34534424.3982855  1374
34582211.8859215  1379
34614070.2110122   811
34709645.1862842  1210
34805220.1615562  1383
34900795.1368282  1402
34996370.1121002  1392
35091945.0873722  1394
35187520.0626443  1391
35283095.0379163  1402
35378670.0131883  1395
35474244.9884603  1379
35553890.8011869  1380
 35649465.776459  1376
 35745040.751731  1378
 35840615.727003  1368
 35936190.702275  1373
36015836.5150017  1373
36111411.4902737  1384
36206986.4655457  1387
36302561.4408177  1388
36398136.4160897  1391
36477782.2288164  1384
36573357.2040884  1380
36668932.1793604  1386
36764507.1546324  1393
36844152.9673591  1407
36939727.9426311  1388
37035302.9179031  1395
37130877.8931751  1386
37210523.7059017  1394
37306098.6811738  1388
37401673.6564458  1383
37481319.4691724  1394
37576894.4444444  1397
37672469.4197165  1374
37768044.3949885  1371
37847690.2077151  1379
37943265.1829871  1368
38038840.1582591  1363
38118485.9709858  1378
38214060.9462578  1372
38293706.7589845  1374
38389281.7342565  1342
38484856.7095285  1351
38564502.5222552  1356
38660077.4975272  1362
38755652.4727992  1352
38851227.4480712  1357
38930873.2607979  1349
39026448.2360699  1354
39122023.2113419  1332
39201669.0240686  1338
39249456.5117046  1247
39265385.6742499  1021
39281314.8367953  1290
39313173.1618859  1188
39329102.3244313  1243
39345031.4869766  1246
39360960.6495219  1242
39376889.8120673  1243
39392818.9746126  1233
39408748.1371579  1244
39424677.2997033  1246
39440606.4622486  1252
39456535.6247939  1243
39472464.7873393  1251
39520252.2749753   824
39615827.2502473  1235
39631756.4127926   551
39711402.2255193  1201
 39791048.038246  1428
39870693.8509726  1433
39966268.8262446  1420
40045914.6389713  1416
 40125560.451698  1427
40205206.2644247  1425
40300781.2396967  1417
40380427.0524233  1431
  40460072.86515  1416
40539718.6778767  1414
40635293.6531487  1418
40714939.4658754  1412
 40794585.278602  1411
40874231.0913287  1395
40953876.9040554  1403
41049451.8793274  1398
41129097.6920541  1404
41208743.5047807  1402
41288389.3175074  1405
41368035.1302341  1410
41463610.1055061  1390
41543255.9182328  1384
41622901.7309594  1386
41702547.5436861  1398
41782193.3564128  1419
41861839.1691395  1421
41941484.9818661  1398
42037059.9571381  1412
42116705.7698648  1406
42196351.5825915  1410
42275997.3953182  1424
42371572.3705902  1433
42451218.1833168  1428
42530863.9960435  1412
42610509.8087702  1413
42690155.6214969  1417
42769801.4342235  1425
42849447.2469502  1412
42945022.2222222  1406
43024668.0349489  1415
43104313.8476756  1427
43183959.6604022  1419
43263605.4731289  1422
43343251.2858556  1423
43422897.0985823  1409
43502542.9113089  1402
43582188.7240356  1401
43661834.5367623  1391
 43741480.349489  1392
43773338.6745796  1320
 43789267.837125   523
43868913.6498516   968
43948559.4625783  1274
 44028205.275305  1482
 44123780.250577  1492
44203426.0633037  1487
44299001.0385757  1493
44378646.8513023  1495
44474221.8265743  1497
 44553867.639301  1482
 44649442.614573  1483
44729088.4272997  1488
44824663.4025717  1482
44904309.2152984  1478
44999884.1905704  1485
45079530.0032971  1489
45175104.9785691  1504
45254750.7912958  1489
45350325.7665678  1493
45429971.5792944  1477
45509617.3920211  1485
45605192.3672931  1488
45684838.1800198  1475
45780413.1552918  1487
45860058.9680185  1477
45939704.7807451  1486
46035279.7560171  1483
46114925.5687438  1481
46210500.5440158  1476
46290146.3567425  1473
46369792.1694692  1486
46465367.1447412  1478
46545012.9574679  1464
46624658.7701945  1486
46704304.5829212  1478
46783950.3956479  1475
46879525.3709199  1475
46959171.1836466  1464
47038816.9963732  1463
47118462.8090999  1458
47214037.7843719  1451
47293683.5970986  1445
47373329.4098253  1440
47452975.2225519  1441
47548550.1978239  1443
47628196.0105506  1441
47707841.8232773  1434
 47787487.636004  1425
47867133.4487306  1421
47946779.2614573  1428
48042354.2367293  1423
 48122000.049456  1433
48201645.8621827  1426
48281291.6749093  1438
        48313150  1312
(examples/TRISO/correlation_function/h_ipyc_cracking/outer_temp.csv)

The Bash script (run.sh) used to obtain correlation function data and Python script (correlation_function_sic.py) used to extract the data and calculate the stress correlation factor and effective mean strength are included in examples/TRISO/correlation_function/h_ipyc_cracking/sic.

Steps to generate the IPyC cracking constant correlation function are:

  • Set the use_higher_order_correlation variable to False in both the Bash and Python scripts.

  • Next, the sic_thickness=() variable in the # CONSTANT CALCULATION section of the run.sh Bash script must be set to the user specifications.

    • The thickness is passed to the input files from run.sh, and a 1D and 2D mesh are created internally with the TRISO1DMeshGenerator and TRISO2DMeshGenerator, respectively, with the user defined layer thickness.

  • Execute run.sh .

  • Execute correlation_function_sic.py .

  • Enter the output from the correlation_function_sic.py script in to the BISON input file as seen below.

Output from correlation_function_sic.py for IPyC cracking can be seen below:


~/projects/bison/examples/TRISO/correlation_function/h_ipyc_cracking/sic$ python correlation_function_sic.py

correlation factor =  -1.2447543103484047
1D effective mean strength (Pa) =  645222154.38423
2D IPyC cracking effective mean strength (Pa) =  1403604095.5707
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_correlation_crackedIPyC]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    correlation_factor<<<{"description": "The correlation factor."}>>> = -1.2447543103484047
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [high_fidelity_strength_crackedIPyC]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1403604095.5707'
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
Aspherical Particle

The tangential stress histories for representative faceted and spherical fuel particles are shown in Figure 3. In evaluating the effect of asphericity, a second term is added to correctly estimate the maximum stress, , for an aspherical particle: where , , and are changes in the stresses , , and , going from the minimum to the end of irradiation. If a second extremum (or maximum) occurs before the end of irradiation, , , and are taken as changes in these stresses, going from minimum to maximum. The additional term is needed because pressure vessel failure of aspherical particles typically occurs after the minimum stress is reached, when shrinkage effects from the PyC are decreasing and the inner pressure keeps accumulating. The mean effective strength of the 2-D model evaluated at the end of irradiation will be used in 1-D analysis.

Figure 3: Aspherical particle: tangential stress in SiC layer.

The complete 2D input file for asphericity is provided in Listing 4.

Listing 4: Complete input file for aspherical particle.

kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
aspect_ratio = 1.04

coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'

initial_fuel_density = 10966

[GlobalParams<<<{"href": "../../../syntax/GlobalParams/index.html"}>>>]
  order = FIRST
  family = LAGRANGE
  displacements = 'disp_x disp_y'
  initial_enrichment = 0.14029 # [wt-]
  flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
  stress_free_temperature = 481 # used for thermal expansion
  energy_per_fission = 3.204e-11 # [J/fission]
  O_U = 1.428 # Initial Oxygen to Uranium atom ratio
  C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]

[Mesh<<<{"href": "../../../syntax/Mesh/index.html"}>>>]
  coord_type = RZ
  [mesh]
    type = TRISO2DMeshGenerator<<<{"description": "Generates an axisymmetric mesh of a TRISO particle.", "href": "../../../source/meshgenerators/TRISO2DMeshGenerator.html"}>>>
    elem_type<<<{"description": "Whether to generate quad8 or quad4 elements."}>>> = quad4
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
    mesh_density<<<{"description": "A list giving the number of elements in each interval (zero for a gap). The first entry is the number of radial elements outside the inner quadrilateral portion of the fuel mesh."}>>> = '20 8 0 4 4 4'
    block_names<<<{"description": "A list of names to be assigned to the mesh blocks."}>>> = 'fuel buffer IPyC SiC OPyC'
    num_sectors<<<{"description": "Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number."}>>> = 60
    aspect_ratio<<<{"description": "Aspect ratio (asphericity) of the particle, the largest particle diameter divided by the smallest particle diameter.  See the documentation for details."}>>> = ${aspect_ratio}
    all_bottom_left<<<{"description": "Whether to generate sidesets for every bottom and left surface of mesh blocks."}>>> = True
  []
[]

[Problem<<<{"href": "../../../syntax/Problem/index.html"}>>>]
  type = ReferenceResidualProblem
  reference_vector = 'ref'
  extra_tag_vectors = 'ref'
[]

[UserObjects<<<{"href": "../../../syntax/UserObjects/index.html"}>>>]
  [particle_geometry]
    type = TRISOGeometry<<<{"description": "Computes TRISO Geometry.", "href": "../../../source/userobject/TRISOGeometry.html"}>>>
    outer_OPyC<<<{"description": "Sideset for outer OPyC"}>>> = OPyC_outer_boundary
    outer_SiC<<<{"description": "Sideset for outer SiC"}>>> = SiC_outer_boundary
    outer_IPyC<<<{"description": "Sideset for outer IPyC"}>>> = IPyC_outer_boundary
    inner_IPyC<<<{"description": "Sideset for inner IPyC"}>>> = IPyC_inner_boundary
    outer_buffer<<<{"description": "Sideset for outer buffer"}>>> = buffer_outer_boundary
    outer_kernel<<<{"description": "Sideset for outer kernel"}>>> = fuel_outer_boundary
    include_particle<<<{"description": "Set as true to output particle geometry."}>>> = true
    include_pebble<<<{"description": "Set as true to output pebble geometry."}>>> = false
    mesh_generator<<<{"description": "The name of the TRISO 2D mesh generator."}>>> = mesh
  []
[]

[Variables<<<{"href": "../../../syntax/Variables/index.html"}>>>]
  [temperature]
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 481
  []
[]

[AuxVariables<<<{"href": "../../../syntax/AuxVariables/index.html"}>>>]
  [fission_rate]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [burnup]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_flux]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
  [fast_neutron_fluence]
    order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
    family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
  []
[]

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [temp_bc]
    type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../../source/functions/PiecewiseLinear.html"}>>>
    data_file<<<{"description": "File holding CSV data"}>>> = outer_temp.csv
    x_index_in_file<<<{"description": "The abscissa index in the data file"}>>> = 0
    y_index_in_file<<<{"description": "The ordinate index in the data file"}>>> = 1
    format<<<{"description": "Format of csv data file that is in either in columns or rows"}>>> = columns
  []
  [fission_rate]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = 5.75e19
  []
[]

[Physics<<<{"href": "../../../syntax/Physics/index.html"}>>>/SolidMechanics<<<{"href": "../../../syntax/Physics/SolidMechanics/index.html"}>>>/QuasiStatic<<<{"href": "../../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
  generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
  add_variables<<<{"description": "Add the displacement variables"}>>> = true
  strain<<<{"description": "Strain formulation"}>>> = FINITE
  incremental<<<{"description": "Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)"}>>> = true
  [fuel]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = fuel
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'UCO_swelling_eigenstrain UCO_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [buffer]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = buffer
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'Buffer_IIDC_strain Buffer_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [IPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = IPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'IPyC_IIDC_strain IPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [SiC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = SiC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'SiC_thermal_eigenstrain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
  [OPyC]
    block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = OPyC
    eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'OPyC_IIDC_strain OPyC_TE_strain'
    extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
  []
[]

[Kernels<<<{"href": "../../../syntax/Kernels/index.html"}>>>]
  [heat_ie]
    type = HeatConductionTimeDerivative<<<{"description": "Time derivative term $\\rho c_p \\frac{\\partial T}{\\partial t}$ of the thermal energy conservation equation.", "href": "../../../source/kernels/HeatConductionTimeDerivative.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat]
    type = HeatConduction<<<{"description": "Diffusive heat conduction term $-\\nabla\\cdot(k\\nabla T)$ of the thermal energy conservation equation", "href": "../../../source/kernels/HeatConduction.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
  [heat_source]
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "../../../source/kernels/NeutronHeatSource.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    fission_rate<<<{"description": "Coupled Fission Rate"}>>> = fission_rate
    extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
  []
[]

[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [fissionrate]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate
    property<<<{"description": "The material property name."}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [burnup]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = burnup
    property<<<{"description": "The material property name."}>>> = burnup
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_flux]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_flux
    property<<<{"description": "The material property name."}>>> = fast_neutron_flux
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
  [fast_neutron_fluence]
    type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../../source/auxkernels/MaterialRealAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_fluence
    property<<<{"description": "The material property name."}>>> = fast_neutron_fluence
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = timestep_begin
  []
[]

[ThermalContact<<<{"href": "../../../syntax/Modules/HeatTransfer/ThermalContact/index.html"}>>>]
  [thermal_contact]
    type = GasGapHeatTransfer
    variable = temperature
    primary = IPyC_inner_boundary
    secondary = buffer_outer_boundary
    initial_moles = initial_moles
    gas_released = 'fis_gas_released'
    released_gas_types = 'Kr Xe'
    released_fractions = '0.185 0.815'
    tangential_tolerance = 1e-6
    quadrature = false
    min_gap = 1e-7
    max_gap = 50e-6
    gap_geometry_type = sphere
    sphere_origin = '0 0 0'
  []
[]

[BCs<<<{"href": "../../../syntax/NuclearMaterials/BCs/index.html"}>>>]
  [no_disp_x]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = xzero
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []
  [no_disp_y]
    type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_y
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = bottom
    value<<<{"description": "Value of the BC"}>>> = 0.0
  []
  [freesurf_temp]
    type = FunctionDirichletBC<<<{"description": "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ is a (possibly) time and space-dependent MOOSE Function.", "href": "../../../source/bcs/FunctionDirichletBC.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
    function<<<{"description": "The forcing function."}>>> = temp_bc
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = exterior
  []
  [Pressure<<<{"href": "../../../syntax/BCs/Pressure/index.html"}>>>]
    [exterior]
      boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = exterior
      factor<<<{"description": "The magnitude to use in computing the pressure"}>>> = 0.1e6
    []
  []
  [PlenumPressure<<<{"href": "../../../syntax/BCs/PlenumPressure/index.html"}>>>]
    [plenumPressure]
      boundary<<<{"description": "The list of boundary IDs from the mesh where the pressure will be applied"}>>> = buffer_IPyC_boundary
      startup_time<<<{"description": "The amount of time during which the pressure will ramp from zero to its true value."}>>> = 1e4
      initial_pressure<<<{"description": "The initial pressure in the cavity.  If not given, a zero initial pressure will be used."}>>> = 0
      R<<<{"description": "The universal gas constant for the units used."}>>> = 8.3145
      output_initial_moles<<<{"description": "The name to use when reporting the initial moles of gas"}>>> = initial_moles
      temperature<<<{"description": "The name of the average temperature postprocessor value."}>>> = ave_gas_temp
      volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = 'gap_volume buffer_void_volume kernel_void_volume'
      material_input<<<{"description": "The name of the postprocessor(s) that holds the amount of material injected into the plenum."}>>> = 'fis_gas_released'
      output<<<{"description": "The name to use for the cavity pressure value"}>>> = gas_pressure
    []
  []
[]

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [tangential_stress]
    type = RankTwoCylindricalComponent<<<{"description": "Compute components of a rank-2 tensor in a cylindrical coordinate system", "href": "../../../source/materials/RankTwoCylindricalComponent.html"}>>>
    rank_two_tensor<<<{"description": "The rank two material property tensor name"}>>> = stress
    cylindrical_axis_point1<<<{"description": "Start point for determining axis of rotation for cylindrical stress/strain components"}>>> = '0 0 0'
    cylindrical_axis_point2<<<{"description": "End point for determining axis of rotation for cylindrical stress/strain components"}>>> = '0 0 1'
    cylindrical_component<<<{"description": "Type of cylindrical scalar output"}>>> = HoopStress
    property_name<<<{"description": "Name of the material property computed by this model"}>>> = tangential_stress
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = all
  []
  [fission_rate]
    type = GenericFunctionMaterial<<<{"description": "Material object for declaring properties that are populated by evaluation of Function object.", "href": "../../../source/materials/GenericFunctionMaterial.html"}>>>
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = fission_rate
    prop_values<<<{"description": "The corresponding names of the functions that are going to provide the values for the variables"}>>> = fission_rate
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [fast_neutron_flux]
    type = FastNeutronFlux<<<{"description": "Computes fast neutron flux.", "href": "../../../source/materials/FastNeutronFlux.html"}>>>
    calculate_fluence<<<{"description": "Flag to calculate fluence from the flux."}>>> = true
    factor<<<{"description": "Constant multiplied against the function, rod average linear power, or q_variable."}>>> = 6.2425e+17
  []
  [UCO_burnup]
    type = TRISOBurnup<<<{"description": "Computes burnup given fission rate density and initial density, initial enrichment, and molar mass of the kernel.", "href": "../../../source/materials/TRISOBurnup.html"}>>>
    initial_density<<<{"description": "initial density of the kernel (kg/m^3)"}>>> = ${initial_fuel_density}
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_thermal]
    type = UCOThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for UCO.", "href": "../../../source/materials/UCOThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_elasticity_tensor]
    type = UCOElasticityTensor<<<{"description": "Computes the Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [UCO_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
  []
  [UCO_VolumetricSwellingEigenstrain]
    type = UCOVolumetricSwellingEigenstrain<<<{"description": "Computes fission-induced swelling (percent per percent FIMA) for UCO.", "href": "../../../source/materials/solid_mechanics/UCOVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_swelling_eigenstrain
  []
  [fuel_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10.0e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = UCO_TE_strain
  []
  [UCO_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = ${initial_fuel_density}
  []
  [fission_gas_release]
    type = UCOFGR<<<{"description": "Fission gas release model for UCO", "href": "../../../source/materials/UCOFGR.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    average_grain_radius<<<{"description": "Average grain radius (m)"}>>> = 10e-6
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
    cutoff_neutron_flux<<<{"description": "The cutoff fast neutron flux for enabling the Booth fractional release calculations during accident simulation conditions."}>>> = 0.0
  []
  [BAF_IPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0465
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
  []
  [BAF_OPyC]
    type = BaconAnisotropyFactor<<<{"description": "Computes the bacon anistropy factor.", "href": "../../../source/materials/BaconAnisotropyFactor.html"}>>>
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than 1.0."}>>> = 1.0429
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
  []
  [buffer_elasticity_tensor]
    type = BufferElasticityTensor<<<{"description": "Computes Young's modulus (Pa) and elastic Poisson's ratio (dimensionless) for the buffer layer in TRISO fuels.", "href": "../../../source/materials/solid_mechanics/BufferElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_stress]
    type = BufferCEGACreep<<<{"description": "Computes irradiation-induced creep ((MPa-n/m^2)^-1) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_thermal]
    type = BufferThermal<<<{"description": "Computes thermal conductivity (W/m-K) and specific heat capacity (J/kg-K) for Buffer.", "href": "../../../source/materials/BufferThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    initial_density<<<{"description": "Initial density for Buffer."}>>> = 1050.0
  []
  [buffer_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 1050.0
  []
  [buffer_TE]
    type = BufferThermalExpansionEigenstrain<<<{"description": "Computes thermal expansion (/K) and associated eigenstrain (dimensionless) for Buffer.", "href": "../../../source/materials/solid_mechanics/BufferThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [buffer_IIDC]
    type = BufferCEGAIrradiationEigenstrain<<<{"description": "Irradiation eigenstrain for Buffer", "href": "../../../source/materials/solid_mechanics/BufferCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = Buffer_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [normal_vectors_triso]
    type = NormalVectorsTRISO<<<{"description": "Computes the normal vectors for TRISO layers.", "href": "../../../source/materials/NormalVectorsTRISO.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'buffer IPyC OPyC'
    triso_geometry<<<{"description": "TRISOGeometry user object name"}>>> = particle_geometry
  []
  [IPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
  []
  [IPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [IPyC_thermal]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [IPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1890
  []
  [IPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [IPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = IPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = IPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [SiC_elasticity_tensor]
    type = MonolithicSiCElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for monolithic silicon carbide (CVD) cladding using relations as a function of temperature.", "href": "../../../source/materials/solid_mechanics/MonolithicSiCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    elastic_modulus_model<<<{"description": "Options for the correlation used to calculate the Young's modulus."}>>> = miller
  []
  [SiC_stress]
    type = ComputeFiniteStrainElasticStress<<<{"description": "Compute stress using elasticity for finite strains", "href": "../../../source/materials/ComputeFiniteStrainElasticStress.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
  []
  [SiC_thermal]
    type = MonolithicSiCThermal<<<{"description": "Computes thermal conductivity and specific heat of monolithic silicon carbide.", "href": "../../../source/materials/MonolithicSiCThermal.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    temperature<<<{"description": "Coupled Temperature"}>>> = temperature
    thermal_conductivity_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = miller
  []
  [SiC_density]
    type = StrainAdjustedDensity<<<{"description": "Creates density material property", "href": "../../../source/materials/StrainAdjustedDensity.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 3200.0
  []
  [SiC_thermal_expansion]
    type = ComputeThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion with a constant coefficient", "href": "../../../source/materials/ComputeThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 4.9e-6
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = SiC_thermal_eigenstrain
  []
  [OPyC_elasticity_tensor]
    type = PyCElasticityTensor<<<{"description": "Computes PyC elasticity tensor", "href": "../../../source/materials/solid_mechanics/PyCElasticityTensor.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    initial_BAF<<<{"description": "Initial Bacon Anisotropy Factor (BAF) must be greater than or equal to 1.0."}>>> = 1.0
  []
  [OPyC_stress]
    type = PyCCEGACreep<<<{"description": "Computes the irradiation creep (Miller's model) for PyC in an implicit manner.", "href": "../../../source/materials/solid_mechanics/PyCCEGACreep.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    creep_rate_scale_factor<<<{"description": "Scale factor to be applied on the creep rate."}>>> = 1
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [OPyC_thermal_conductivity]
    type = HeatConductionMaterial<<<{"description": "General-purpose material model for heat conduction", "href": "../../../source/materials/HeatConductionMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    thermal_conductivity<<<{"description": "The thermal conductivity value"}>>> = 4.0
    specific_heat<<<{"description": "The specific heat value"}>>> = 720.0
  []
  [OPyC_density]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'density'
    prop_values<<<{"description": "The values associated with the named properties"}>>> = 1900
  []
  [OPyC_IIDC]
    type = PyCCEGAIrradiationEigenstrain<<<{"description": "Computes irradiation-induced dimensional changes (IIDC) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCCEGAIrradiationEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_IIDC_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
    irradiation_eigenstrain_scale_factor<<<{"description": "Scale factor for PyC IIDC"}>>> = 1
  []
  [OPyC_TE]
    type = PyCThermalExpansionEigenstrain<<<{"description": "Computes the thermal expansion (per K) and associated eigenstrain (dimensionless) for PyC.", "href": "../../../source/materials/solid_mechanics/PyCThermalExpansionEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = OPyC
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = OPyC_TE_strain
    temperature<<<{"description": "Coupled temperature"}>>> = temperature
  []
  [characteristic_strength_SiC]
    type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../../../source/materials/GenericConstantMaterial.html"}>>>
    prop_values<<<{"description": "The values associated with the named properties"}>>> = '9640000'
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'characteristic_strength'
  []
  [characteristic_strength_PyC]
    type = PyCCharacteristicStrength<<<{"description": "Computes characteristic strength of pyrocarbons: Pa-m^(3/modulus).", "href": "../../../source/materials/PyCCharacteristicStrength.html"}>>>
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temperature
    X<<<{"description": "Fitting parameter."}>>> = 1.02
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 'IPyC OPyC'
  []
[]

[Dampers<<<{"href": "../../../syntax/Dampers/index.html"}>>>]
  [temp]
    type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../../source/dampers/MaxIncrement.html"}>>>
    variable<<<{"description": "The name of the variable that this damper operates on"}>>> = temperature
    max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 100
  []
[]

[Preconditioning<<<{"href": "../../../syntax/Preconditioning/index.html"}>>>]
  [smp]
    type = SMP<<<{"description": "Single matrix preconditioner (SMP) builds a preconditioner using user defined off-diagonal parts of the Jacobian.", "href": "../../../source/preconditioners/SingleMatrixPreconditioner.html"}>>>
    full<<<{"description": "Set to true if you want the full set of couplings between variables simply for convenience so you don't have to set every off_diag_row and off_diag_column combination."}>>> = true
  []
[]

[Executioner<<<{"href": "../../../syntax/Executioner/index.html"}>>>]
  type = Transient
  solve_type = 'PJFNK'

  petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
  petsc_options_value = 'lu superlu_dist'

  line_search = 'none'

  nl_rel_tol = 5e-6
  nl_abs_tol = 1e-8
  nl_max_its = 20

  l_tol = 1e-4
  l_max_its = 50

  start_time = 0.0
  end_time = 4.831315e7

  dtmin = 1e-4
  dt = 6e5
[]

[Postprocessors<<<{"href": "../../../syntax/Postprocessors/index.html"}>>>]
  [ave_gas_temp]
    type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../../../source/postprocessors/ElementAverageValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [fis_gas_released]
    type = ElementIntegralMaterialProperty<<<{"description": "Compute the integral of the material property over the domain", "href": "../../../source/postprocessors/ElementIntegralMaterialProperty.html"}>>>
    mat_prop<<<{"description": "The name of the material property"}>>> = fis_gas_released
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = false
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [gap_volume]
    type = InternalVolume<<<{"description": "Computes the volume of an enclosed area by performing an integral over a user-supplied boundary.", "href": "../../../source/postprocessors/InternalVolume.html"}>>>
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = buffer_IPyC_boundary
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [buffer_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = buffer
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = 2250
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [kernel_th_density]
    type = UCOTheoreticalDensity<<<{"description": "Computes UCO theoretical density.", "href": "../../../source/postprocessors/UCOTheoreticalDensity.html"}>>>
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = initial
  []
  [kernel_void_volume]
    type = VoidVolume<<<{"description": "Computes void volume based on actual and theoretical density.", "href": "../../../source/postprocessors/VoidVolume.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
    theoretical_density<<<{"description": "Theoretical density of the material (Postprocessor)."}>>> = kernel_th_density
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
    use_displaced_mesh<<<{"description": "Whether or not this object should use the displaced mesh for computation.  Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used."}>>> = true
  []
  [particle_power]
     type = ElementIntegralPower<<<{"description": "Computes the power given the fission rate and energy per fission.", "href": "../../../source/postprocessors/ElementIntegralPower.html"}>>>
     variable<<<{"description": "The name of the variable that this object operates on"}>>> = temperature
     use_material_fission_rate<<<{"description": "Flag to use the material 'fission_rate_material' instead of variable fission rate"}>>> = true
     fission_rate_material<<<{"description": "Fission rate material property name"}>>> = fission_rate
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_fluence]
     type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
     variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = fast_neutron_fluence
     value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [max_burnup]
     type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../../source/postprocessors/ElementExtremeValue.html"}>>>
     variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = burnup
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = fuel
     value_type<<<{"description": "Type of extreme value to return. 'max' returns the maximum value. 'min' returns the minimum value. 'max_abs' returns the maximum of the absolute value."}>>> = 'max'
     execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial timestep_end'
  []
  [SiC_stress]
    type = ElementalVariableValue<<<{"description": "Outputs an elemental variable value at a particular location", "href": "../../../source/postprocessors/ElementalVariableValue.html"}>>>
    elementid<<<{"description": "The ID of the element where we monitor"}>>> = 6300
    variable<<<{"description": "The variable to be monitored"}>>> = tangential_stress
  []
  [strength_SiC]
     type = WeibullEffectiveMeanStrength<<<{"description": "Computes Weibull effective mean strength, which is used by the WeibullFailureOutputUsingCorrelation Postprocessor.", "href": "../../../source/postprocessors/WeibullEffectiveMeanStrength.html"}>>>
     block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = SiC
     weibull_modulus<<<{"description": ",Weibull modulus"}>>> = 6
  []
[]

[Outputs<<<{"href": "../../../syntax/Outputs/index.html"}>>>]
  print_linear_residuals<<<{"description": "Enable printing of linear residuals to the screen (Console)"}>>> = false
  time_step_interval<<<{"description": "The interval (number of time steps) at which output occurs"}>>> =  1
  csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
  perf_graph<<<{"description": "Enable printing of the performance graph to the screen (Console)"}>>> = true
  exodus<<<{"description": "Output the results using the default settings for Exodus output."}>>> = true
[]
(examples/TRISO/correlation_function/h_asphericity/triso_asphericity.i)
15929.1625453347   481
95574.9752720079   899
175220.787998681   990
270795.763270689   963
350441.575997362   962
 446016.55126937   965
525662.363996044   969
621237.339268051   981
700883.151994725   991
796458.127266733  1145
 892033.10253874  1338
971678.915265414  1318
1067253.89053742  1324
1162828.86580943  1333
 1242474.6785361  1334
1338049.65380811  1335
1433624.62908012  1350
1513270.44180679  1337
 1608845.4170788  1333
1704420.39235081  1330
1799995.36762282  1333
1879641.18034949  1343
 1975216.1556215  1338
2054861.96834817  1355
2150436.94362018  1365
2246011.91889219  1360
2325657.73161886  1362
2421232.70689087  1372
2516807.68216288  1356
2596453.49488955  1255
2692028.47016156  1093
2707957.63270689  1303
2755745.12034289   910
 2851320.0956149  1318
2930965.90834158  1333
3026540.88361358  1314
3122115.85888559  1341
3201761.67161227  1346
3281407.48433894  1338
3376982.45961095  1346
3456628.27233762  1345
3552203.24760963  1343
3647778.22288164  1351
3727424.03560831  1340
3822999.01088032  1345
3902644.82360699  1330
  3998219.798879  1328
4077865.61160567  1328
4173440.58687768  1307
4269015.56214969  1322
4348661.37487636  1322
4444236.35014837  1335
4476094.67523904  1292
4555740.48796571   942
4635386.30069238  1352
4715032.11341906  1346
4794677.92614573  1346
 4874323.7388724  1352
4953969.55159908  1359
5033615.36432575  1371
5113261.17705242  1382
5208836.15232443  1368
5288481.96505111  1352
5368127.77777778  1343
5447773.59050445  1352
5527419.40323112  1359
 5607065.2159578  1356
5702640.19122981  1335
5782286.00395648  1344
5861931.81668315  1348
5941577.62940983  1357
 6021223.4421365  1363
6100869.25486317  1350
6196444.23013518  1337
6276090.04286185  1348
6355735.85558853  1355
 6435381.6683152  1342
6515027.48104187  1337
6594673.29376855  1348
6690248.26904055  1349
6769894.08176723  1348
 6849539.8944939  1352
6929185.70722057  1186
7024760.68249258  1012
7104406.49521925  1009
7184052.30794593  1001
 7263698.1206726  1007
7343343.93339928  1002
7422989.74612595  1004
7502635.55885262  1096
7582281.37157929  1350
 7677856.3468513  1352
7757502.15957798  1339
7837147.97230465  1354
7900864.62248599  1354
7916793.78503132   759
8012368.76030333  1235
   8092014.57303  1358
8171660.38575668  1356
8251306.19848335  1354
8330952.01121002  1340
8362810.33630069  1283
8378739.49884603   555
 8458385.3115727   949
8538031.12429938  1138
8617676.93702605  1354
8697322.74975272  1359
8776968.56247939  1368
8856614.37520607  1375
8952189.35047808  1362
9031835.16320475  1364
9127410.13847676  1369
9207055.95120343  1377
9302630.92647544  1380
9382276.73920211  1381
9477851.71447412  1376
9557497.52720079  1375
9637143.33992746  1365
9732718.31519947  1346
9812364.12792614  1364
9892009.94065282  1359
9987584.91592483  1356
10067230.7286515  1362
10162805.7039235  1362
10242451.5166502  1329
10338026.4919222  1336
10417672.3046489  1344
10497318.1173755  1357
10576963.9301022  1355
10672538.9053742  1335
10752184.7181009  1337
10847759.6933729  1354
10927405.5060996  1354
11007051.3188262  1348
11102626.2940983  1354
11182272.1068249  1368
11277847.0820969  1368
11357492.8948236  1359
11437138.7075503  1362
11532713.6828223  1353
 11612359.495549  1351
 11707934.470821  1356
11787580.2835476  1351
11867226.0962743  1360
11962801.0715463  1345
 12042446.884273  1363
12122092.6969997  1367
12201738.5097263  1377
12297313.4849984  1374
 12376959.297725  1397
12456605.1104517  1395
12552180.0857237  1420
12631825.8984504  1435
12727400.8737224  1448
12759259.1988131  1434
12791117.5239037   723
12886692.4991757  1258
12966338.3119024  1372
13061913.2871744  1379
13141559.0999011  1385
13237134.0751731  1371
13332709.0504451  1380
13412354.8631718  1314
13507929.8384438  1268
13587575.6511705  1278
13683150.6264425  1283
13762796.4391691  1293
13858371.4144411  1320
13953946.3897132  1351
14033592.2024398  1342
14129167.1777118  1351
14224742.1529838  1360
14304387.9657105  1368
14399962.9409825  1358
14479608.7537092  1366
14575183.7289812  1369
14654829.5417079  1373
14750404.5169799  1378
14845979.4922519  1374
14925625.3049786  1367
15021200.2802506  1365
15100846.0929772  1385
15196421.0682493  1415
15291996.0435213  1420
15371641.8562479  1424
15467216.8315199  1421
15546862.6442466  1408
15642437.6195186  1396
15722083.4322453  1411
15817658.4075173  1413
 15897304.220244  1423
 15992879.195516  1399
16024737.5206067  1336
 16040666.683152   659
16120312.4958787  1157
16215887.4711507  1252
16311462.4464227  1254
16391108.2591494  1254
16486683.2344214  1260
 16566329.047148  1261
  16661904.02242  1274
16741549.8351467  1267
16837124.8104187  1271
16916770.6231454  1272
17012345.5984174  1277
17091991.4111441  1283
17187566.3864161  1298
17283141.3616881  1306
17362787.1744148  1305
17458362.1496868  1314
17553937.1249588  1333
17633582.9376855  1327
17729157.9129575  1324
17808803.7256841  1319
17904378.7009562  1350
17999953.6762282  1358
18079599.4889548  1364
18175174.4642268  1363
18254820.2769535  1369
18350395.2522255  1377
18430041.0649522  1351
18525616.0402242  1371
18621191.0154962  1349
18700836.8282229  1367
18796411.8034949  1369
18876057.6162216  1369
18955703.4289482  1365
19051278.4042202  1355
19130924.2169469  1362
19226499.1922189  1357
19306145.0049456  1370
19401719.9802176  1358
19481365.7929443  1369
 19561011.605671  1378
 19656586.580943  1388
19736232.3936696  1360
19831807.3689416  1346
19911453.1816683  1355
20007028.1569403  1353
 20086673.969667  1361
20166319.7823937  1372
20261894.7576657  1384
20341540.5703924  1387
20437115.5456644  1397
 20516761.358391  1475
 20612336.333663  1420
20691982.1463897  1401
20739769.6340257  1390
20771627.9591164   766
20867202.9343884  1344
20962777.9096604  1415
21058352.8849324  1507
21153927.8602044  1392
21249502.8354764  1403
21345077.8107484  1418
21440652.7860204  1423
21536227.7612925  1417
21631802.7365645  1430
21727377.7118365  1420
21822952.6871085  1426
21918527.6623805  1425
22014102.6376525  1433
22109677.6129245  1417
22205252.5881965  1407
22300827.5634685  1431
22396402.5387405  1455
22491977.5140125  1447
22587552.4892845  1438
22683127.4645565  1449
22778702.4398286  1463
22874277.4151006  1480
22969852.3903726  1500
23065427.3656446  1497
23161002.3409166  1416
23256577.3161886  1264
23352152.2914606  1279
23447727.2667326  1402
23543302.2420046  1395
23638877.2172766  1351
23718523.0300033  1283
23830027.1678206  1304
23925602.1430926  1346
24005247.9558193  1411
24116752.0936367  1451
24212327.0689087  1446
24291972.8816353  1437
24387547.8569073  1402
24483122.8321794  1524
24578697.8074514  1531
24674272.7827234  1476
24722060.2703594  1465
24785776.9205407   972
24881351.8958127  1183
24976926.8710847  1211
25072501.8463567  1210
25168076.8216287  1221
25247722.6343554  1232
25343297.6096274  1237
25438872.5848994  1233
25534447.5601714  1278
25630022.5354435  1249
25725597.5107155  1262
25757455.8358061  1267
25821172.4859875   933
25916747.4612595  1242
26012322.4365315  1275
26107897.4118035  1244
26187543.2245302  1222
26283118.1998022  1216
26378693.1750742  1219
26474268.1503462  1209
26553913.9630729  1204
26649488.9383449  1221
26745063.9136169  1240
26840638.8888889  1242
26936213.8641609  1252
27031788.8394329  1236
27127363.8147049  1276
27222938.7899769  1382
27318513.7652489  1477
27414088.7405209  1477
27493734.5532476  1422
27589309.5285196  1427
27684884.5037916  1488
27780459.4790636  1440
27876034.4543356  1428
27971609.4296077  1439
28051255.2423343  1454
28146830.2176063  1455
28242405.1928783  1430
28337980.1681503  1432
28433555.1434224  1444
 28513200.956149  1447
 28608775.931421  1423
 28704350.906693  1435
28783996.7194197  1446
28879571.6946917  1437
28975146.6699637  1447
29070721.6452357  1441
29150367.4579624  1449
29245942.4332344  1434
29341517.4085064  1425
29437092.3837784  1430
29532667.3590504  1452
29628242.3343225  1439
29723817.3095945  1470
29819392.2848665  1481
29914967.2601385  1470
29946825.5852291  1471
29994613.0728652   922
30090188.0481372  1205
30185763.0234092  1236
30281337.9986812  1243
30376912.9739532  1251
30472487.9492252  1254
30568062.9244972  1257
30663637.8997692  1256
30743283.7124959  1262
30838858.6877679  1256
30934433.6630399  1235
31030008.6383119  1293
31125583.6135839  1395
31205229.4263106  1386
31300804.4015826  1393
31396379.3768546  1400
31491954.3521266  1404
31571600.1648533  1385
31667175.1401253  1403
31762750.1153973  1438
31858325.0906693  1445
31874254.2532146  1418
31922041.7408506   943
32017616.7161226  1421
32065404.2037587  1425
32145050.0164853  1096
 32224695.829212  1446
 32320270.804484  1454
 32415845.779756  1424
32495491.5924827  1414
32591066.5677547  1401
32686641.5430267  1417
32766287.3557534  1406
32861862.3310254  1391
32941508.1437521  1396
33037083.1190241  1404
33116728.9317507  1383
33212303.9070228  1367
33307878.8822948  1380
33403453.8575668  1371
33483099.6702934  1393
33578674.6455655  1370
33658320.4582921  1375
33753895.4335641  1372
33833541.2462908  1373
33929116.2215628  1357
34008762.0342895  1358
34104337.0095615  1325
34183982.8222882  1311
34279557.7975602  1328
34359203.6102868  1347
34454778.5855588  1358
34534424.3982855  1374
34582211.8859215  1379
34614070.2110122   811
34709645.1862842  1210
34805220.1615562  1383
34900795.1368282  1402
34996370.1121002  1392
35091945.0873722  1394
35187520.0626443  1391
35283095.0379163  1402
35378670.0131883  1395
35474244.9884603  1379
35553890.8011869  1380
 35649465.776459  1376
 35745040.751731  1378
 35840615.727003  1368
 35936190.702275  1373
36015836.5150017  1373
36111411.4902737  1384
36206986.4655457  1387
36302561.4408177  1388
36398136.4160897  1391
36477782.2288164  1384
36573357.2040884  1380
36668932.1793604  1386
36764507.1546324  1393
36844152.9673591  1407
36939727.9426311  1388
37035302.9179031  1395
37130877.8931751  1386
37210523.7059017  1394
37306098.6811738  1388
37401673.6564458  1383
37481319.4691724  1394
37576894.4444444  1397
37672469.4197165  1374
37768044.3949885  1371
37847690.2077151  1379
37943265.1829871  1368
38038840.1582591  1363
38118485.9709858  1378
38214060.9462578  1372
38293706.7589845  1374
38389281.7342565  1342
38484856.7095285  1351
38564502.5222552  1356
38660077.4975272  1362
38755652.4727992  1352
38851227.4480712  1357
38930873.2607979  1349
39026448.2360699  1354
39122023.2113419  1332
39201669.0240686  1338
39249456.5117046  1247
39265385.6742499  1021
39281314.8367953  1290
39313173.1618859  1188
39329102.3244313  1243
39345031.4869766  1246
39360960.6495219  1242
39376889.8120673  1243
39392818.9746126  1233
39408748.1371579  1244
39424677.2997033  1246
39440606.4622486  1252
39456535.6247939  1243
39472464.7873393  1251
39520252.2749753   824
39615827.2502473  1235
39631756.4127926   551
39711402.2255193  1201
 39791048.038246  1428
39870693.8509726  1433
39966268.8262446  1420
40045914.6389713  1416
 40125560.451698  1427
40205206.2644247  1425
40300781.2396967  1417
40380427.0524233  1431
  40460072.86515  1416
40539718.6778767  1414
40635293.6531487  1418
40714939.4658754  1412
 40794585.278602  1411
40874231.0913287  1395
40953876.9040554  1403
41049451.8793274  1398
41129097.6920541  1404
41208743.5047807  1402
41288389.3175074  1405
41368035.1302341  1410
41463610.1055061  1390
41543255.9182328  1384
41622901.7309594  1386
41702547.5436861  1398
41782193.3564128  1419
41861839.1691395  1421
41941484.9818661  1398
42037059.9571381  1412
42116705.7698648  1406
42196351.5825915  1410
42275997.3953182  1424
42371572.3705902  1433
42451218.1833168  1428
42530863.9960435  1412
42610509.8087702  1413
42690155.6214969  1417
42769801.4342235  1425
42849447.2469502  1412
42945022.2222222  1406
43024668.0349489  1415
43104313.8476756  1427
43183959.6604022  1419
43263605.4731289  1422
43343251.2858556  1423
43422897.0985823  1409
43502542.9113089  1402
43582188.7240356  1401
43661834.5367623  1391
 43741480.349489  1392
43773338.6745796  1320
 43789267.837125   523
43868913.6498516   968
43948559.4625783  1274
 44028205.275305  1482
 44123780.250577  1492
44203426.0633037  1487
44299001.0385757  1493
44378646.8513023  1495
44474221.8265743  1497
 44553867.639301  1482
 44649442.614573  1483
44729088.4272997  1488
44824663.4025717  1482
44904309.2152984  1478
44999884.1905704  1485
45079530.0032971  1489
45175104.9785691  1504
45254750.7912958  1489
45350325.7665678  1493
45429971.5792944  1477
45509617.3920211  1485
45605192.3672931  1488
45684838.1800198  1475
45780413.1552918  1487
45860058.9680185  1477
45939704.7807451  1486
46035279.7560171  1483
46114925.5687438  1481
46210500.5440158  1476
46290146.3567425  1473
46369792.1694692  1486
46465367.1447412  1478
46545012.9574679  1464
46624658.7701945  1486
46704304.5829212  1478
46783950.3956479  1475
46879525.3709199  1475
46959171.1836466  1464
47038816.9963732  1463
47118462.8090999  1458
47214037.7843719  1451
47293683.5970986  1445
47373329.4098253  1440
47452975.2225519  1441
47548550.1978239  1443
47628196.0105506  1441
47707841.8232773  1434
 47787487.636004  1425
47867133.4487306  1421
47946779.2614573  1428
48042354.2367293  1423
 48122000.049456  1433
48201645.8621827  1426
48281291.6749093  1438
        48313150  1312
(examples/TRISO/correlation_function/h_asphericity/outer_temp.csv)

A Bash script (run.sh) used to obtain correlation function data and a Python script (correlation_function_sic.py) used to extract the data and calculate the stress correlation factor and effective mean strength are included in examples/TRISO/correlation_function/h_asphericity/sic.

Steps to generate the asphericity constant correlation function are:

  • Set the use_higher_order_correlation variable to False in both the Bash and Python scripts.

  • Next, the sic_thickness=() variable in the # CONSTANT CALCULATION section of the run.sh Bash script must be set to the user specifications.

    • The thickness is passed to the input files from run.sh, and a 1D and 2D mesh are created internally with the TRISO1DMeshGenerator and TRISO2DMeshGenerator, respectively, with the user defined layer thickness.

  • Execute run.sh .

  • Execute correlation_function_sic.py .

  • Enter the output from the correlation_function_sic.py script in to the BISON input file as seen below.

Output from correlation_function_sic.py for asphericity can be seen below:


~/projects/bison/examples/TRISO/correlation_function/h_asphericity/sic$ python correlation_function_sic.py

correlation factor =  1.5191967987843993
1D effective mean strength (Pa) =  1.7976931348623011e+308
2D asphericity effective mean strength (Pa) =  1371700766.8875
Delta correlation factor =  1.391516859626456

The output are used as input for the BISON input blocks listed below:

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.5191967987843993
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_change_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 0 0'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.391516859626456
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [high_fidelity_strength_asphericity]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1371700766.8875'
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)

Higher-order Correlation Function

BISON can consider a statistical variation of the IPyC, SiC and OPyC layer thickness because they strongly affects particle failure. To obtain each function, we typically sample seven points where , and is the standard deviation. At the midpoint, has a value of 1 because . At other data points, we perform both multi-dimension and one-dimension analysis to determine the value of function. A polynomial curve fit is finally performed on the data points to generate the quadratic function.

IPyC Cracking

The maximum SiC stress in a cracked particle is approximated as:

The Bash scripts used to obtain IPyC cracking correlation function data for varied SiC, IPyC and OPyC thickness (run_all.sh), and to execute Python scripts used to extract the correlation factor and functions (stess_factors.sh) are located in examples/TRISO/correlation_function/. The Python scripts (correlation_function_*.py) are located in the ipyc, sic and opyc folders under examples/TRISO/correlation_function/h_ipyc_cracking/. The Bash scripts are designed to run all cases at once (1D, IPyC cracking and aspherical), and the instructions to execute can be found in Aspherical Particle.

The coefficients of fitted polynomial functions are assigned to polynomial_coefficients_IPyC, polynomial_coefficients_SiC and polynomial_coefficients_OPyC in the BISON input. The obtained correlation factor is assigned to correlation_factor in the BISON input. These parameters can be seen in Listing 5.

commentnote

The crack formation and propagation is calculated by XFEM, and currently requires a mesh with linear (first order) elements.

Listing 5: Input block for the IPyC cracking 2D stress function.

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_correlation_crackedIPyC]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 5.95176524e3 -2.25337303e8'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.43220859e4 -5.17689523e7'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.25870267e4 1.81620484e8'
    correlation_factor<<<{"description": "The correlation factor."}>>> = -1.2447543093270736
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
15929.1625453347   481
95574.9752720079   899
175220.787998681   990
270795.763270689   963
350441.575997362   962
 446016.55126937   965
525662.363996044   969
621237.339268051   981
700883.151994725   991
796458.127266733  1145
 892033.10253874  1338
971678.915265414  1318
1067253.89053742  1324
1162828.86580943  1333
 1242474.6785361  1334
1338049.65380811  1335
1433624.62908012  1350
1513270.44180679  1337
 1608845.4170788  1333
1704420.39235081  1330
1799995.36762282  1333
1879641.18034949  1343
 1975216.1556215  1338
2054861.96834817  1355
2150436.94362018  1365
2246011.91889219  1360
2325657.73161886  1362
2421232.70689087  1372
2516807.68216288  1356
2596453.49488955  1255
2692028.47016156  1093
2707957.63270689  1303
2755745.12034289   910
 2851320.0956149  1318
2930965.90834158  1333
3026540.88361358  1314
3122115.85888559  1341
3201761.67161227  1346
3281407.48433894  1338
3376982.45961095  1346
3456628.27233762  1345
3552203.24760963  1343
3647778.22288164  1351
3727424.03560831  1340
3822999.01088032  1345
3902644.82360699  1330
  3998219.798879  1328
4077865.61160567  1328
4173440.58687768  1307
4269015.56214969  1322
4348661.37487636  1322
4444236.35014837  1335
4476094.67523904  1292
4555740.48796571   942
4635386.30069238  1352
4715032.11341906  1346
4794677.92614573  1346
 4874323.7388724  1352
4953969.55159908  1359
5033615.36432575  1371
5113261.17705242  1382
5208836.15232443  1368
5288481.96505111  1352
5368127.77777778  1343
5447773.59050445  1352
5527419.40323112  1359
 5607065.2159578  1356
5702640.19122981  1335
5782286.00395648  1344
5861931.81668315  1348
5941577.62940983  1357
 6021223.4421365  1363
6100869.25486317  1350
6196444.23013518  1337
6276090.04286185  1348
6355735.85558853  1355
 6435381.6683152  1342
6515027.48104187  1337
6594673.29376855  1348
6690248.26904055  1349
6769894.08176723  1348
 6849539.8944939  1352
6929185.70722057  1186
7024760.68249258  1012
7104406.49521925  1009
7184052.30794593  1001
 7263698.1206726  1007
7343343.93339928  1002
7422989.74612595  1004
7502635.55885262  1096
7582281.37157929  1350
 7677856.3468513  1352
7757502.15957798  1339
7837147.97230465  1354
7900864.62248599  1354
7916793.78503132   759
8012368.76030333  1235
   8092014.57303  1358
8171660.38575668  1356
8251306.19848335  1354
8330952.01121002  1340
8362810.33630069  1283
8378739.49884603   555
 8458385.3115727   949
8538031.12429938  1138
8617676.93702605  1354
8697322.74975272  1359
8776968.56247939  1368
8856614.37520607  1375
8952189.35047808  1362
9031835.16320475  1364
9127410.13847676  1369
9207055.95120343  1377
9302630.92647544  1380
9382276.73920211  1381
9477851.71447412  1376
9557497.52720079  1375
9637143.33992746  1365
9732718.31519947  1346
9812364.12792614  1364
9892009.94065282  1359
9987584.91592483  1356
10067230.7286515  1362
10162805.7039235  1362
10242451.5166502  1329
10338026.4919222  1336
10417672.3046489  1344
10497318.1173755  1357
10576963.9301022  1355
10672538.9053742  1335
10752184.7181009  1337
10847759.6933729  1354
10927405.5060996  1354
11007051.3188262  1348
11102626.2940983  1354
11182272.1068249  1368
11277847.0820969  1368
11357492.8948236  1359
11437138.7075503  1362
11532713.6828223  1353
 11612359.495549  1351
 11707934.470821  1356
11787580.2835476  1351
11867226.0962743  1360
11962801.0715463  1345
 12042446.884273  1363
12122092.6969997  1367
12201738.5097263  1377
12297313.4849984  1374
 12376959.297725  1397
12456605.1104517  1395
12552180.0857237  1420
12631825.8984504  1435
12727400.8737224  1448
12759259.1988131  1434
12791117.5239037   723
12886692.4991757  1258
12966338.3119024  1372
13061913.2871744  1379
13141559.0999011  1385
13237134.0751731  1371
13332709.0504451  1380
13412354.8631718  1314
13507929.8384438  1268
13587575.6511705  1278
13683150.6264425  1283
13762796.4391691  1293
13858371.4144411  1320
13953946.3897132  1351
14033592.2024398  1342
14129167.1777118  1351
14224742.1529838  1360
14304387.9657105  1368
14399962.9409825  1358
14479608.7537092  1366
14575183.7289812  1369
14654829.5417079  1373
14750404.5169799  1378
14845979.4922519  1374
14925625.3049786  1367
15021200.2802506  1365
15100846.0929772  1385
15196421.0682493  1415
15291996.0435213  1420
15371641.8562479  1424
15467216.8315199  1421
15546862.6442466  1408
15642437.6195186  1396
15722083.4322453  1411
15817658.4075173  1413
 15897304.220244  1423
 15992879.195516  1399
16024737.5206067  1336
 16040666.683152   659
16120312.4958787  1157
16215887.4711507  1252
16311462.4464227  1254
16391108.2591494  1254
16486683.2344214  1260
 16566329.047148  1261
  16661904.02242  1274
16741549.8351467  1267
16837124.8104187  1271
16916770.6231454  1272
17012345.5984174  1277
17091991.4111441  1283
17187566.3864161  1298
17283141.3616881  1306
17362787.1744148  1305
17458362.1496868  1314
17553937.1249588  1333
17633582.9376855  1327
17729157.9129575  1324
17808803.7256841  1319
17904378.7009562  1350
17999953.6762282  1358
18079599.4889548  1364
18175174.4642268  1363
18254820.2769535  1369
18350395.2522255  1377
18430041.0649522  1351
18525616.0402242  1371
18621191.0154962  1349
18700836.8282229  1367
18796411.8034949  1369
18876057.6162216  1369
18955703.4289482  1365
19051278.4042202  1355
19130924.2169469  1362
19226499.1922189  1357
19306145.0049456  1370
19401719.9802176  1358
19481365.7929443  1369
 19561011.605671  1378
 19656586.580943  1388
19736232.3936696  1360
19831807.3689416  1346
19911453.1816683  1355
20007028.1569403  1353
 20086673.969667  1361
20166319.7823937  1372
20261894.7576657  1384
20341540.5703924  1387
20437115.5456644  1397
 20516761.358391  1475
 20612336.333663  1420
20691982.1463897  1401
20739769.6340257  1390
20771627.9591164   766
20867202.9343884  1344
20962777.9096604  1415
21058352.8849324  1507
21153927.8602044  1392
21249502.8354764  1403
21345077.8107484  1418
21440652.7860204  1423
21536227.7612925  1417
21631802.7365645  1430
21727377.7118365  1420
21822952.6871085  1426
21918527.6623805  1425
22014102.6376525  1433
22109677.6129245  1417
22205252.5881965  1407
22300827.5634685  1431
22396402.5387405  1455
22491977.5140125  1447
22587552.4892845  1438
22683127.4645565  1449
22778702.4398286  1463
22874277.4151006  1480
22969852.3903726  1500
23065427.3656446  1497
23161002.3409166  1416
23256577.3161886  1264
23352152.2914606  1279
23447727.2667326  1402
23543302.2420046  1395
23638877.2172766  1351
23718523.0300033  1283
23830027.1678206  1304
23925602.1430926  1346
24005247.9558193  1411
24116752.0936367  1451
24212327.0689087  1446
24291972.8816353  1437
24387547.8569073  1402
24483122.8321794  1524
24578697.8074514  1531
24674272.7827234  1476
24722060.2703594  1465
24785776.9205407   972
24881351.8958127  1183
24976926.8710847  1211
25072501.8463567  1210
25168076.8216287  1221
25247722.6343554  1232
25343297.6096274  1237
25438872.5848994  1233
25534447.5601714  1278
25630022.5354435  1249
25725597.5107155  1262
25757455.8358061  1267
25821172.4859875   933
25916747.4612595  1242
26012322.4365315  1275
26107897.4118035  1244
26187543.2245302  1222
26283118.1998022  1216
26378693.1750742  1219
26474268.1503462  1209
26553913.9630729  1204
26649488.9383449  1221
26745063.9136169  1240
26840638.8888889  1242
26936213.8641609  1252
27031788.8394329  1236
27127363.8147049  1276
27222938.7899769  1382
27318513.7652489  1477
27414088.7405209  1477
27493734.5532476  1422
27589309.5285196  1427
27684884.5037916  1488
27780459.4790636  1440
27876034.4543356  1428
27971609.4296077  1439
28051255.2423343  1454
28146830.2176063  1455
28242405.1928783  1430
28337980.1681503  1432
28433555.1434224  1444
 28513200.956149  1447
 28608775.931421  1423
 28704350.906693  1435
28783996.7194197  1446
28879571.6946917  1437
28975146.6699637  1447
29070721.6452357  1441
29150367.4579624  1449
29245942.4332344  1434
29341517.4085064  1425
29437092.3837784  1430
29532667.3590504  1452
29628242.3343225  1439
29723817.3095945  1470
29819392.2848665  1481
29914967.2601385  1470
29946825.5852291  1471
29994613.0728652   922
30090188.0481372  1205
30185763.0234092  1236
30281337.9986812  1243
30376912.9739532  1251
30472487.9492252  1254
30568062.9244972  1257
30663637.8997692  1256
30743283.7124959  1262
30838858.6877679  1256
30934433.6630399  1235
31030008.6383119  1293
31125583.6135839  1395
31205229.4263106  1386
31300804.4015826  1393
31396379.3768546  1400
31491954.3521266  1404
31571600.1648533  1385
31667175.1401253  1403
31762750.1153973  1438
31858325.0906693  1445
31874254.2532146  1418
31922041.7408506   943
32017616.7161226  1421
32065404.2037587  1425
32145050.0164853  1096
 32224695.829212  1446
 32320270.804484  1454
 32415845.779756  1424
32495491.5924827  1414
32591066.5677547  1401
32686641.5430267  1417
32766287.3557534  1406
32861862.3310254  1391
32941508.1437521  1396
33037083.1190241  1404
33116728.9317507  1383
33212303.9070228  1367
33307878.8822948  1380
33403453.8575668  1371
33483099.6702934  1393
33578674.6455655  1370
33658320.4582921  1375
33753895.4335641  1372
33833541.2462908  1373
33929116.2215628  1357
34008762.0342895  1358
34104337.0095615  1325
34183982.8222882  1311
34279557.7975602  1328
34359203.6102868  1347
34454778.5855588  1358
34534424.3982855  1374
34582211.8859215  1379
34614070.2110122   811
34709645.1862842  1210
34805220.1615562  1383
34900795.1368282  1402
34996370.1121002  1392
35091945.0873722  1394
35187520.0626443  1391
35283095.0379163  1402
35378670.0131883  1395
35474244.9884603  1379
35553890.8011869  1380
 35649465.776459  1376
 35745040.751731  1378
 35840615.727003  1368
 35936190.702275  1373
36015836.5150017  1373
36111411.4902737  1384
36206986.4655457  1387
36302561.4408177  1388
36398136.4160897  1391
36477782.2288164  1384
36573357.2040884  1380
36668932.1793604  1386
36764507.1546324  1393
36844152.9673591  1407
36939727.9426311  1388
37035302.9179031  1395
37130877.8931751  1386
37210523.7059017  1394
37306098.6811738  1388
37401673.6564458  1383
37481319.4691724  1394
37576894.4444444  1397
37672469.4197165  1374
37768044.3949885  1371
37847690.2077151  1379
37943265.1829871  1368
38038840.1582591  1363
38118485.9709858  1378
38214060.9462578  1372
38293706.7589845  1374
38389281.7342565  1342
38484856.7095285  1351
38564502.5222552  1356
38660077.4975272  1362
38755652.4727992  1352
38851227.4480712  1357
38930873.2607979  1349
39026448.2360699  1354
39122023.2113419  1332
39201669.0240686  1338
39249456.5117046  1247
39265385.6742499  1021
39281314.8367953  1290
39313173.1618859  1188
39329102.3244313  1243
39345031.4869766  1246
39360960.6495219  1242
39376889.8120673  1243
39392818.9746126  1233
39408748.1371579  1244
39424677.2997033  1246
39440606.4622486  1252
39456535.6247939  1243
39472464.7873393  1251
39520252.2749753   824
39615827.2502473  1235
39631756.4127926   551
39711402.2255193  1201
 39791048.038246  1428
39870693.8509726  1433
39966268.8262446  1420
40045914.6389713  1416
 40125560.451698  1427
40205206.2644247  1425
40300781.2396967  1417
40380427.0524233  1431
  40460072.86515  1416
40539718.6778767  1414
40635293.6531487  1418
40714939.4658754  1412
 40794585.278602  1411
40874231.0913287  1395
40953876.9040554  1403
41049451.8793274  1398
41129097.6920541  1404
41208743.5047807  1402
41288389.3175074  1405
41368035.1302341  1410
41463610.1055061  1390
41543255.9182328  1384
41622901.7309594  1386
41702547.5436861  1398
41782193.3564128  1419
41861839.1691395  1421
41941484.9818661  1398
42037059.9571381  1412
42116705.7698648  1406
42196351.5825915  1410
42275997.3953182  1424
42371572.3705902  1433
42451218.1833168  1428
42530863.9960435  1412
42610509.8087702  1413
42690155.6214969  1417
42769801.4342235  1425
42849447.2469502  1412
42945022.2222222  1406
43024668.0349489  1415
43104313.8476756  1427
43183959.6604022  1419
43263605.4731289  1422
43343251.2858556  1423
43422897.0985823  1409
43502542.9113089  1402
43582188.7240356  1401
43661834.5367623  1391
 43741480.349489  1392
43773338.6745796  1320
 43789267.837125   523
43868913.6498516   968
43948559.4625783  1274
 44028205.275305  1482
 44123780.250577  1492
44203426.0633037  1487
44299001.0385757  1493
44378646.8513023  1495
44474221.8265743  1497
 44553867.639301  1482
 44649442.614573  1483
44729088.4272997  1488
44824663.4025717  1482
44904309.2152984  1478
44999884.1905704  1485
45079530.0032971  1489
45175104.9785691  1504
45254750.7912958  1489
45350325.7665678  1493
45429971.5792944  1477
45509617.3920211  1485
45605192.3672931  1488
45684838.1800198  1475
45780413.1552918  1487
45860058.9680185  1477
45939704.7807451  1486
46035279.7560171  1483
46114925.5687438  1481
46210500.5440158  1476
46290146.3567425  1473
46369792.1694692  1486
46465367.1447412  1478
46545012.9574679  1464
46624658.7701945  1486
46704304.5829212  1478
46783950.3956479  1475
46879525.3709199  1475
46959171.1836466  1464
47038816.9963732  1463
47118462.8090999  1458
47214037.7843719  1451
47293683.5970986  1445
47373329.4098253  1440
47452975.2225519  1441
47548550.1978239  1443
47628196.0105506  1441
47707841.8232773  1434
 47787487.636004  1425
47867133.4487306  1421
47946779.2614573  1428
48042354.2367293  1423
 48122000.049456  1433
48201645.8621827  1426
48281291.6749093  1438
        48313150  1312
(examples/TRISO/failure_probability_monte_carlo/outer_temp.csv)

Figure 6: h function of SiC cracking for variations in SiC thickness.

Figure 7: h function of IPyC cracking for variations in IPyC thickness.

Figure 8: h function of OPyC cracking for variations in OPyC thickness.

Aspherical Particle

The maximum SiC stress in an aspherical particle is approximated as:

As alluded to in Higher-order Correlation Function, there are quite a few more simulations required for creation of the function. The scripts run simulations for each failure type, dimension and layer at the nominal thickness and for -1, -2, -3, 1, 2, 3, which leads to 63 simulations.

The steps to generate the 2D stress functions are:

  • Confirm that the use_higher_order_correlation variable is set to True in both the Bash and Python scripts located in examples/TRISO/correlation_function/h_ipyc_cracking/sic/ and examples/TRISO/correlation_function/h_asphericity/sic/.

    • This variable is committed to the BISON repository set to True, so it may not need to be changed.

  • Next, the layer thickness arrays must be set to the user defined specifications in each of the run.sh scripts that are located at the examples/TRISO/correlation_function/h_ipyc_cracking/* and examples/TRISO/correlation_function/h_asphericity/* directories.

    • Example: sic_thickness=(3.1600e-05 3.2800e-05 3.4000e-05 3.5200e-05 3.6400e-05 3.7600e-05 3.8800e-05)

    • The thickness is passed to the input files from run.sh, and a 1D and 2D mesh are created internally with the TRISO1DMeshGenerator and TRISO2DMeshGenerator, respectively, with the user defined layer thickness.

  • Execute run_all.sh .

  • Inside each Python script (correlation_function_*.py) there is a `delta = ` that needs to be changed to match the user's standard deviation. There are 6 scripts to change.

  • Execute stress_factors.sh .

  • Enter the output from the stress_factors.sh script in to the BISON input file.

Output from stress_factors.sh can be seen below:


~/projects/bison/examples/TRISO/correlation_function$ ./stress_factors.sh

IPyC cracking, IPyC
correlation factor =  -1.2447543093270736
h function:
            2
-2.253e+08 x + 5952 x + 1

Coefficients for input: [ 1.00001925e+00  5.95176524e+03 -2.25337303e+08]
1D effective mean strength (Pa) =  645222154.38423
2D IPyC cracking effective mean strength (Pa) =  1403604095.0794

IPyC cracking, SiC
correlation factor =  -1.2447543103484047
h function:
            2
-5.177e+07 x + 1.432e+04 x + 1

Coefficients for input: [ 1.00000070e+00  1.43220859e+04 -5.17689523e+07]
1D effective mean strength (Pa) =  645222154.38423
2D IPyC cracking effective mean strength (Pa) =  1403604095.5707

IPyC cracking, OPyC
correlation factor =  -1.2447543096023215
h function:
           2
1.816e+08 x - 1.259e+04 x + 1

Coefficients for input: [ 9.99978658e-01 -1.25870267e+04  1.81620484e+08]
1D effective mean strength (Pa) =  645222154.38423
2D IPyC cracking effective mean strength (Pa) =  1403604095.2395

Asphericity, IPyC
correlation factor =  1.5191967993808713
h function:
           2
1.435e+07 x + 1006 x + 0.9999

Coefficients for input: [9.99942831e-01 1.00595402e+03 1.43530004e+07]

Delta correlation factor =  1.3915168526633837
Delta h function:
            2
-2.816e+07 x - 5819 x + 1

Coefficients for input: [ 9.99961795e-01 -5.81891553e+03 -2.81628655e+07]
1D effective mean strength (Pa) =  1.7976931348623011e+308
2D asphericity effective mean strength (Pa) =  1371700806.9481

Asphericity, SiC
correlation factor =  1.5191967987843993
h function:
            2
-2.023e+08 x + 3279 x + 1

Coefficients for input: [ 1.00000201e+00  3.27925856e+03 -2.02308753e+08]

Delta correlation factor =  1.391516859626456
Delta h function:
            2
-5.553e+08 x + 1.01e+04 x + 1

Coefficients for input: [ 1.00002211e+00  1.00990700e+04 -5.55290343e+08]
1D effective mean strength (Pa) =  1.7976931348623011e+308
2D asphericity effective mean strength (Pa) =  1371700766.8875

Asphericity, OPyC
correlation factor =  1.5191967989005482
h function:
            2
-6.126e+06 x + 2074 x + 0.9999

Coefficients for input: [ 9.99929751e-01  2.07404580e+03 -6.12612615e+06]

Delta correlation factor =  1.3915168667980344
Delta h function:
           2
-2.66e+07 x - 3592 x + 0.9999

Coefficients for input: [ 9.99949808e-01 -3.59151050e+03 -2.65952373e+07]
1D effective mean strength (Pa) =  1.7976931348623011e+308
2D asphericity effective mean strength (Pa) =  1371700522.644
commentnote

The run.sh operates in serial, running the complete set of input files will take 6-7 hours depending on the machine.

The output from the stress_factors.sh script is used as input for the BISON IPyC cracking block Listing 5 and the aspherical blocks Listing 6:

Listing 6: Input blocks for the asphericity 2D stress function.

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [high_fidelity_strength_asphericity]
    type = ConstantFunction<<<{"description": "A function that returns a constant value as defined by an input parameter.", "href": "../../../source/functions/ConstantFunction.html"}>>>
    value<<<{"description": "The constant value"}>>> = '1371700806.9481'
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.00595402e3 1.43530004e7'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 3.27925856e3 -2.02308753e8'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 2.07404580e3 -6.12612615e6'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.5191967993808713
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [stress_change_correlation_asphericity]
    type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "../../../source/functions/TRISOStressCorrelationFunction.html"}>>>
    triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
    polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -5.81891553e3 -2.81628655e7'
    polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 1.00990700e4 -5.55290343e8'
    polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -3.59151050e3 -2.65952373e7'
    correlation_factor<<<{"description": "The correlation factor."}>>> = 1.3915168526633837
  []
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)

Figure 9: h function of asphericity for variations in SiC thickness.

Figure 10: h function of asphericity for variations in IPyC thickness.

Figure 11: h function of asphericity for variations in OPyC thickness.

Advanced Functionality for the Aspherical Stress Calculation

The calculation for the aspherical stress function that is completed in the correlation_function_*.py script is more complicated than the IPyC cracking calculation. Due to this, debugging parameters were added to confirm that the user is receiving what they believe they are. In each of the correlation_function_*.py scripts located in examples/TRISO/correlation_function/h_asphericity/ there are the options shown below:


DEBUG1 = False
DEBUG2 = False
PLOT = False

DEBUG1 displays the intermediate calculation results from the nominal thickness case, while DEBUG2 displays the calculations from the thickness varied cases. The PLOT option will output plots of the SiC stress and display the minimum and maximum values that were used in the stress function calculations. It is advised to output these when making a new function as the time dependent stress can be noisy and the Python script may not handle the noise well. The options are set to False by default, set to True in scripts listed above to use.

Figure 4: Min-Max plot of SiC stress from the PLOT = True option.

Items to double check

Correct Element

In the h_asphericity directory run.sh scripts, there is an elementid=() array that feeds the element ID to the 2D simulations. These are set correctly for the committed input files, but if a user changes the dimensions or the element density of the mesh odds are good that the elementid will need to be changed as well. The element needed can be seen in Figure 5.

Figure 5: 2D aspherical element queried for stress calculations (shown in pink).

The easiest way to produce all the meshes at once is to hold each simulation to one timestep and then use the run_all.sh. Steps to do this are below:

  • Add the option num_steps = 1 to the [Executioner] section of triso_1d.i, triso_asphericity.i and triso_cracking.i.

  • Execute run_all.sh

  • Delete the num_steps = 1 from the inputs.

  • Then examine the aspherical meshes with something like Paraview to confirm that the correct elementid is being used.

References

  1. V. Barabash, I. Mazul, R. Latypov, A. Pokrovsky, and C.H. Wu. The effect of low temperature neutron irradiation and annealing on the thermal conductivity of advanced carbon-based materials. Journal of Nuclear Materials, 307-311:1300–1304, 2002. doi:10.1016/S0022-3115(02)00961-3.[BibTeX]
  2. T. Burchell. AGC-1 Irradiation Creep Strain Data Analysis. Report ORNL/TM-2014/255, Oak Ridge National Laboratory, September 2014.[BibTeX]
  3. Blaise P. Collin. Modeling and analysis of UN TRISO fuel for LWR application using the PARFUME code. Journal of Nuclear Materials, 451(1):65–77, 2014. URL: https://www.sciencedirect.com/science/article/pii/S0022311514001573, doi:https://doi.org/10.1016/j.jnucmat.2014.03.032.[BibTeX]
  4. F. Ho. NP-MHTGR: Material Models of Pyrocarbon and Pyrolytic Silicon Carbide. Report CEGA-002820 Rev. 1, CEGA Corporation, July 1993.[BibTeX]
  5. G.K. Miller, D.A. Petti, J.T. Maki, D.L. Knudson, and W.F. Skerjanc. PARFUME Theory and Model Basis Report. Report INL/EXT-08-14497 (Rev.1), Idaho National Laboratory, September 2018.[BibTeX]
  6. H. Nabielek, K. Fukuda, K. Minato, and T. Ogawa. Calculation of Particle Temperatures in NSRR Tests. Unpublished draft, Japanese Atomic Energy Agency, March 1992.[BibTeX]
  7. D. R. Olander. Fundamental aspects of nuclear reactor fuel elements. Technical Information Center, Energy Research and Development Administration, 1976.[BibTeX]
  8. L. L. Snead, T. Nozawa, Y. Katoh, T.-S. Byun, S. Kondo, and D. A. Petti. Handbook of sic properties for fuel performance modeling. Journal of Nuclear Materials, 371:329–377, 2007.[BibTeX]
  9. K. Verfondern, H. Nabielek, M. J. Kania, and H.-J. Allelein. High-Quality Thorium TRISO Fuel Performance in HTGRs. Technical Report, Forschungszentrums Juelich, 2013.[BibTeX]