Accident Tolerant Fuel and Cladding Tutorial
initial_fuel_density = 11590.0
[GlobalParams<<<{"href": "../../syntax/GlobalParams/index.html"}>>>]
# Set initial fuel density, other global parameters
density = ${initial_fuel_density}
order = SECOND
family = LAGRANGE
energy_per_fission = 3.2e-11 # J/fission
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Problem<<<{"href": "../../syntax/Problem/index.html"}>>>]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
coord_type = RZ
# Import mesh file
patch_size = 10 # For contact algorithm
patch_update_strategy = auto
partitioner = centroid
centroid_partitioner_direction = y
[mesh]
type = FileMeshGenerator<<<{"description": "Read a mesh from a file.", "href": "../../source/meshgenerators/FileMeshGenerator.html"}>>>
file<<<{"description": "The filename to read."}>>> = u3si2_zircaloy_smeared.e
[]
[]
[Variables<<<{"href": "../../syntax/Variables/index.html"}>>>]
[disp_x]
[]
[disp_y]
[]
[temp]
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 293.0
[]
[]
[UserObjects<<<{"href": "../../syntax/UserObjects/index.html"}>>>]
[pin_geometry]
type = FuelPinGeometry<<<{"description": "Computes LWR fuel pin geometry by reading the input mesh. This object can be coupled to Burnup and other functions as an alternative to having the user supply parameters such as pellet radius and pellet-cladding gap.", "href": "../../source/userobject/FuelPinGeometry.html"}>>>
clad_inner_wall<<<{"description": "Sideset for inner wall of cladding, not including end caps."}>>> = 5
clad_outer_wall<<<{"description": "Sideset for outer wall of cladding."}>>> = 2
clad_top<<<{"description": "Sideset for top of cladding (top of upper end cap)."}>>> = 3
clad_bottom<<<{"description": "Sideset for bottom of cladding (bottom of lower end cap)."}>>> = 1
pellet_exteriors<<<{"description": "Sideset for all pellet exteriors."}>>> = 8
[]
[]
[AuxVariables<<<{"href": "../../syntax/AuxVariables/index.html"}>>>]
# Define auxilary variables
[fast_neutron_flux]
block = clad
[]
[fast_neutron_fluence]
block = clad
[]
[gap_cond]
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
[]
[hoop_stress]
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
[]
[coolant_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
[]
[oxide_thickness]
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
[]
[total_hoop_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
[]
[creep_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
[]
[densification]
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
[]
[solid_swell]
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
[]
[gaseous_swell]
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 1e4 1e8'
y<<<{"description": "The ordinate values"}>>> = '0 2.5e4 2.5e4'
scale_factor<<<{"description": "Scale factor to be applied to the ordinate values"}>>> = 1
[]
[axial_peaking_factors]
type = ParsedFunction<<<{"description": "Function created by parsing a string", "href": "../../source/functions/MooseParsedFunction.html"}>>>
expression<<<{"description": "The user defined function."}>>> = 1
[]
[pressure_ramp]
type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../source/functions/PiecewiseLinear.html"}>>>
x<<<{"description": "The abscissa values"}>>> = '-200 0 1e8'
y<<<{"description": "The ordinate values"}>>> = '6.537e-3 1 1'
scale_factor<<<{"description": "Scale factor to be applied to the ordinate values"}>>> = 15.5e6
[]
[mass_flux_func]
type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../../source/functions/PiecewiseLinear.html"}>>>
x<<<{"description": "The abscissa values"}>>> = '-200 0 1e8'
y<<<{"description": "The ordinate values"}>>> = '3800 3800 3800'
[]
[q]
type = CompositeFunction<<<{"description": "Multiplies an arbitrary set of functions together", "href": "../../source/functions/CompositeFunction.html"}>>>
functions<<<{"description": "The functions to be multiplied together."}>>> = 'power_history axial_peaking_factors'
[]
[]
[Physics<<<{"href": "../../syntax/Physics/index.html"}>>>/SolidMechanics<<<{"href": "../../syntax/Physics/SolidMechanics/index.html"}>>>/QuasiStatic<<<{"href": "../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
[pellets]
block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = pellet_type_1
strain<<<{"description": "Strain formulation"}>>> = FINITE
eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'fuel_thermal_strain fuel_volumetric_strain'
generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'vonmises_stress stress_xx stress_yy stress_zz'
extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
[]
[clad]
block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = clad
strain<<<{"description": "Strain formulation"}>>> = FINITE
eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'clad_thermal_eigenstrain clad_irradiation_strain'
generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'vonmises_stress stress_xx stress_yy stress_zz'
extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
[]
[]
[Kernels<<<{"href": "../../syntax/Kernels/index.html"}>>>]
[gravity]
type = Gravity<<<{"description": "Apply gravity. Value is in units of acceleration.", "href": "../../source/kernels/Gravity.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_y
value<<<{"description": "Value multiplied against the residual, e.g. gravitational acceleration"}>>> = -9.81
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"}>>> = temp
extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
[]
[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"}>>> = temp
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"}>>> = temp
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
burnup_function<<<{"description": "Burnup function"}>>> = burnup
extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
[]
[]
[Burnup<<<{"href": "../../syntax/Burnup/index.html"}>>>]
[burnup]
block<<<{"description": "The blocks where radial power factor should be computed."}>>> = pellet_type_1
rod_ave_lin_pow<<<{"description": "Rod average linear power function."}>>> = power_history
axial_power_profile<<<{"description": "Axial power peaking function."}>>> = axial_peaking_factors
num_radial<<<{"description": "Number of radial divisions in secondary grid used to compute radial power profile."}>>> = 81
num_axial<<<{"description": "Number of axial divisions in secondary grid used to compute radial power profile."}>>> = 11
fuel_pin_geometry<<<{"description": "Name of the UserObject that reads the pin geometry from the mesh."}>>> = pin_geometry
fuel_volume_ratio<<<{"description": "Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume."}>>> = 1.0
RPF<<<{"description": "Specifies that the radial power factor is required."}>>> = RPF
fuel_type<<<{"description": "Fuel type. Choices are UO2 U3Si2"}>>> = U3Si2
[]
[]
[AuxKernels<<<{"href": "../../syntax/AuxKernels/index.html"}>>>]
[fast_neutron_flux]
type = FastNeutronFluxAux<<<{"description": "Computes fast neutron flux.", "href": "../../source/auxkernels/FastNeutronFluxAux.html"}>>>
variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_flux
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
rod_ave_lin_pow<<<{"description": "The power history function."}>>> = power_history
axial_power_profile<<<{"description": "The axial power profile function."}>>> = axial_peaking_factors
factor<<<{"description": "The fast neutron flux if the function, RALP, and q_variable are not given. A scaling factor if the function, RALP, or q_variable is given. If RALP or q_variable is given, it is recommended to use a value of 3e13 (n/(m^2s)/(W/m))."}>>> = 3e13
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 = FastNeutronFluenceAux<<<{"description": "Computes fast neutron fluence from fast_neutron_flux.", "href": "../../source/auxkernels/FastNeutronFluenceAux.html"}>>>
variable<<<{"description": "The name of the variable that this object applies to"}>>> = fast_neutron_fluence
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
fast_neutron_flux<<<{"description": "Coupled Fast Neutron Flux."}>>> = 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
[]
[hoop_stress]
type = RankTwoScalarAux<<<{"description": "Compute a scalar property of a RankTwoTensor", "href": "../../source/auxkernels/RankTwoScalarAux.html"}>>>
rank_two_tensor<<<{"description": "The rank two material tensor name"}>>> = stress
variable<<<{"description": "The name of the variable that this object applies to"}>>> = hoop_stress
scalar_type<<<{"description": "Type of scalar output"}>>> = HoopStress
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
[]
[total_hoop_strain]
type = RankTwoScalarAux<<<{"description": "Compute a scalar property of a RankTwoTensor", "href": "../../source/auxkernels/RankTwoScalarAux.html"}>>>
rank_two_tensor<<<{"description": "The rank two material tensor name"}>>> = total_strain
variable<<<{"description": "The name of the variable that this object applies to"}>>> = total_hoop_strain
scalar_type<<<{"description": "Type of scalar output"}>>> = HoopStress
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
[]
[conductance]
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_cond
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 10
[]
[coolant_htc]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = coolant_channel_htc
variable<<<{"description": "The name of the variable that this object applies to"}>>> = coolant_htc
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 2
[]
[oxide]
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"}>>> = oxide_thickness
property<<<{"description": "The material property name."}>>> = oxide_scale_thickness
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 2
[]
[creep_rate]
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"}>>> = creep_rate
property<<<{"description": "The material property name."}>>> = creep_rate
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
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[densfication]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = densification
variable<<<{"description": "The name of the variable that this object applies to"}>>> = densification
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[solid_swell]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = solid_swelling
variable<<<{"description": "The name of the variable that this object applies to"}>>> = solid_swell
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[gaseous_swell]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = gaseous_swelling
variable<<<{"description": "The name of the variable that this object applies to"}>>> = gaseous_swell
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[]
[Contact<<<{"href": "../../syntax/Contact/index.html"}>>>]
[pellet_clad_mechanical]
primary<<<{"description": "The list of boundary IDs referring to primary sidesets"}>>> = 5
secondary<<<{"description": "The list of boundary IDs referring to secondary sidesets"}>>> = 10
normal_smoothing_distance<<<{"description": "Distance from edge in parametric coordinates over which to smooth contact normal"}>>> = 0.1
penalty<<<{"description": "The penalty to apply. This can vary depending on the stiffness of your materials"}>>> = 1e7
[]
[]
[ThermalContact<<<{"href": "../../syntax/Modules/HeatTransfer/ThermalContact/index.html"}>>>]
[thermal_contact]
type = GasGapHeatTransfer
variable = temp
primary = 5
secondary = 10
initial_moles = initial_moles
gas_released = fis_gas_released
contact_pressure = contact_pressure
quadrature = true
[]
[]
[BCs<<<{"href": "../../syntax/NuclearMaterials/BCs/index.html"}>>>]
[no_x_all] # pin pellets and clad along axis of symmetry (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_x
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 12
value<<<{"description": "Value of the BC"}>>> = 0.0
[]
[no_y_clad_bottom] # pin clad bottom in the axial direction (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"}>>> = '1'
value<<<{"description": "Value of the BC"}>>> = 0.0
[]
[no_y_fuel_bottom] # pin fuel bottom in the axial direction (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"}>>> = '1020'
value<<<{"description": "Value of the BC"}>>> = 0.0
[]
[Pressure<<<{"href": "../../syntax/BCs/Pressure/index.html"}>>>]
[coolantPressure]
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = '1 2 3'
function<<<{"description": "The function that describes the pressure"}>>> = pressure_ramp
[]
[]
[PlenumPressure<<<{"href": "../../syntax/BCs/PlenumPressure/index.html"}>>>]
[plenumPressure]
boundary<<<{"description": "The list of boundary IDs from the mesh where the pressure will be applied"}>>> = 9
initial_pressure<<<{"description": "The initial pressure in the cavity. If not given, a zero initial pressure will be used."}>>> = 2.0e6
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.3143
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_temp_interior
volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = gas_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"}>>> = plenum_pressure
[]
[]
[]
[CoolantChannel<<<{"href": "../../syntax/CoolantChannel/index.html"}>>>]
[convective_clad_surface]
boundary<<<{"description": "The boundary where the coolant channel calculation will run"}>>> = '1 2 3'
variable<<<{"description": "The name of the variable representing temperature"}>>> = temp
inlet_temperature<<<{"description": "Inlet temperature in K "}>>> = 580 # K
inlet_pressure<<<{"description": "Inlet pressure in Pa"}>>> = pressure_ramp # Pa
inlet_massflux<<<{"description": "Inlet mass flux in kg/m^2-sec"}>>> = mass_flux_func # kg/m^2-sec
rod_diameter<<<{"description": "Rod diameter in meter"}>>> = 9.4996e-3 # m
rod_pitch<<<{"description": "Rod pitch in meter"}>>> = 1.26e-2 # m
linear_heat_rate<<<{"description": "Linear heat generation rate in W/m"}>>> = power_history
axial_power_profile<<<{"description": "Axial power profile"}>>> = axial_peaking_factors
[]
[]
[Materials<<<{"href": "../../syntax/Materials/index.html"}>>>]
[fuel_thermal]
type = SilicideFuelThermal<<<{"description": "Computes the specific heat and thermal conductivity for different phases of uranium silicide fuel.", "href": "../../source/materials/SilicideFuelThermal.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
thermal_conductivity_model<<<{"description": "The chosen model to use for thermal conductivity: WHITE, SHIMIZU, ZHANG or HANDBOOK"}>>> = WHITE
silicon_mole_fraction<<<{"description": "The mole fraction of silicon in the fuel. For example for U3Si2 this parameter would be 0.4"}>>> = 0.4
temperature<<<{"description": "Coupled temperature"}>>> = temp
[]
[fuel_elasticity_tensor]
type = U3Si2ElasticityTensor<<<{"description": "Computes the Young's modulus and Poisson's ratio for U3Si2 as a function of porosity.", "href": "../../source/materials/solid_mechanics/U3Si2ElasticityTensor.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[fuel_stress]
type = ComputeMultipleInelasticStress<<<{"description": "Compute state (stress and internal parameters such as plastic strains and internal parameters) using an iterative process. Combinations of creep models and plastic models may be used.", "href": "../../source/materials/ComputeMultipleInelasticStress.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
tangent_operator<<<{"description": "Type of tangent operator to return. 'elastic': return the elasticity tensor. 'nonlinear': return the full, general consistent tangent operator."}>>> = elastic
inelastic_models<<<{"description": "The material objects to use to calculate stress and inelastic strains. Note: specify creep models first and plasticity models second."}>>> = 'fuel_creep'
[]
[fuel_creep]
type = U3Si2CreepUpdate<<<{"description": "Calculates the thermal creep behavior of U3Si2 fuel. This material must be run in conjunction with ComputeMultipleInelasticStress.", "href": "../../source/materials/solid_mechanics/U3Si2CreepUpdate.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
temperature<<<{"description": "The coupled temperature (K)"}>>> = temp
[]
[fuel_thermal_expansion]
type = U3Si2ThermalExpansionEigenstrain<<<{"description": "Computes eigenstrain due to thermal expansion using a function that describes the instantaneous thermal expansion as a function of temperature for U3Si2 fuel.", "href": "../../source/materials/solid_mechanics/U3Si2ThermalExpansionEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
temperature<<<{"description": "Coupled temperature"}>>> = temp
stress_free_temperature<<<{"description": "Reference temperature at which there is no thermal expansion for thermal eigenstrain calculation"}>>> = 295.0
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."}>>> = fuel_thermal_strain
[]
[fuel_volumetric_swelling]
type = U3Si2VolumetricSwellingEigenstrain<<<{"description": "Computes and sums the change in fuel pellet volume due to densification and fission product release. This class applies a volumetric strain correction before adding the strain from this class to the diagonal entries of the eigenstrain tensor.", "href": "../../source/materials/solid_mechanics/U3Si2VolumetricSwellingEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
gaseous_swelling_type<<<{"description": "Use gaseous swelling from FINLAY, ARGONNE, or U3SI2FG"}>>> = U3SI2FG
temperature<<<{"description": "Coupled temperature in Kelvin"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
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."}>>> = fuel_volumetric_strain
[]
[clad_thermal]
type = ZryThermal<<<{"description": "Computes the thermal conductivity and the specific heat, under constant pressure, for zirconium alloy cladding based on either the MATPRO or IAEA models.", "href": "../../source/materials/ZryThermal.html"}>>>
temperature<<<{"description": "Coupled temperature"}>>> = temp
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[clad_elasticity_tensor]
type = ComputeIsotropicElasticityTensor<<<{"description": "Compute a constant isotropic elasticity tensor.", "href": "../../source/materials/ComputeIsotropicElasticityTensor.html"}>>>
youngs_modulus<<<{"description": "Young's modulus of the material."}>>> = 7.5e10
poissons_ratio<<<{"description": "Poisson's ratio for the material."}>>> = 0.3
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[clad_stress]
type = ComputeMultipleInelasticStress<<<{"description": "Compute state (stress and internal parameters such as plastic strains and internal parameters) using an iterative process. Combinations of creep models and plastic models may be used.", "href": "../../source/materials/ComputeMultipleInelasticStress.html"}>>>
tangent_operator<<<{"description": "Type of tangent operator to return. 'elastic': return the elasticity tensor. 'nonlinear': return the full, general consistent tangent operator."}>>> = elastic
inelastic_models<<<{"description": "The material objects to use to calculate stress and inelastic strains. Note: specify creep models first and plasticity models second."}>>> = 'clad_zrycreep clad_plasticity'
relative_tolerance<<<{"description": "Relative convergence tolerance for the stress update iterations over the stress change after all update materials are called"}>>> = 1e-5
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[clad_zrycreep]
type = ZryCreepLimbackHoppeUpdate<<<{"description": "Computes the Limback-Andersson thermal primary and secondary creep and the Hoppe irradiation creep for Zircaloy cladding. This material must be run in conjunction with ComputeMultipleInelasticStress.", "href": "../../source/materials/solid_mechanics/ZryCreepLimbackHoppeUpdate.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
temperature<<<{"description": "The coupled temperature (K)"}>>> = temp
fast_neutron_flux<<<{"description": "The fast neutron flux"}>>> = fast_neutron_flux
fast_neutron_fluence<<<{"description": "The fast neutron fluence"}>>> = fast_neutron_fluence
model_irradiation_creep<<<{"description": "Set true to activate irradiation induced creep"}>>> = true
model_primary_creep<<<{"description": "Set true to activate primary creep"}>>> = true
model_thermal_creep<<<{"description": "Set true to activate steady state thermal creep"}>>> = true
relative_tolerance<<<{"description": "Relative convergence tolerance for Newton iteration"}>>> = 1e-5
max_inelastic_increment<<<{"description": "The maximum inelastic strain increment allowed in a time step"}>>> = 1e-4
zircaloy_material_type<<<{"description": "Type of zircaloy material properties to use in calculating creep. Note: ESCORE_IRRADIATIONGROWTHZR4 is not valid."}>>> = stress_relief_annealed
[]
[thermal_expansion]
type = ZryThermalExpansionMATPROEigenstrain<<<{"description": "Computes eigenstrain due to anisotropic thermal expansion in Zircaloy cladding using Matpro correlations.", "href": "../../source/materials/solid_mechanics/ZryThermalExpansionMATPROEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
temperature<<<{"description": "Coupled temperature"}>>> = temp
stress_free_temperature<<<{"description": "Reference temperature at which there is no thermal expansion for thermal eigenstrain calculation"}>>> = 295.0
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."}>>> = clad_thermal_eigenstrain
[]
[irradiation_swelling]
type = ZryIrradiationGrowthEigenstrain<<<{"description": "Computes eigenstrain from irradiation growth in Zircaloy cladding using either the Franklin or ESCORE models.", "href": "../../source/materials/solid_mechanics/ZryIrradiationGrowthEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
fast_neutron_fluence<<<{"description": "The fast neutron fluence"}>>> = fast_neutron_fluence
zircaloy_material_type<<<{"description": "Type of irradiation growth volumetric swelling formulation."}>>> = stress_relief_annealed
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."}>>> = clad_irradiation_strain
[]
[clad_plasticity]
type = ZryPlasticityUpdate<<<{"description": "Computes the plastic strain as a function of strain rate for Zircaloy cladding. Note: This material must be run in conjunction with both ComputeMultipleInelasticStress and ZryElasticityTensor.", "href": "../../source/materials/solid_mechanics/ZryPlasticityUpdate.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
temperature<<<{"description": "Temperature of the cladding (K)"}>>> = temp
fast_neutron_flux<<<{"description": "The fast neutron flux"}>>> = fast_neutron_flux
fast_neutron_fluence<<<{"description": "The fast neutron fluence"}>>> = fast_neutron_fluence
relative_tolerance<<<{"description": "Relative convergence tolerance for Newton iteration"}>>> = 1e-5
cold_work_factor<<<{"description": "cold work factor - between 0.0 and 0.75"}>>> = 0.5
plasticity_model_type<<<{"description": "The type of correlation to use to calculate the elastic constants for the ziracloy cladding. Choices are: PNNL MATPRO"}>>> = MATPRO
zircaloy_alloy_type<<<{"description": "Type of Ziracloy alloy to be used: Zircaloy-2 or -4"}>>> = 4
[]
[fission_gas_behavior]
type = U3Si2Sifgrs<<<{"description": "Computes fission gas release and swelling in U3Si2 through a physically-based model.", "href": "../../source/materials/U3Si2Sifgrs.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
temperature<<<{"description": "Coupled temperature"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
saturation_coverage<<<{"description": "initial grain boundary saturation coverage (/)"}>>> = 0.5
[]
[clad_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"}>>> = clad
strain_free_density<<<{"description": "Material property for strain-free density"}>>> = 6511.0
[]
[fuel_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"}>>> = pellet_type_1
strain_free_density<<<{"description": "Material property for strain-free density"}>>> = ${initial_fuel_density}
[]
[ZryOxidation]
type = ZryOxidation<<<{"description": "Incorporates correlations for Zircaloy cladding oxidation through metal-water reactions. Calculated processes include outer oxide scale thickness growth and oxygen mass gain; the model is to be applied to the cladding waterside boundary. Current version covers LWR Zircaloy cladding only.", "href": "../../source/materials/ZryOxidation.html"}>>>
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 2
clad_inner_radius<<<{"description": "Inner cladding radius (m)"}>>> = 4.1783e-3
clad_outer_radius<<<{"description": "Outer cladding radius (m)"}>>> = 4.7498e-3
normal_operating_temperature_model<<<{"description": "Type of zircaloy corrosion model to use under normal operating temperatures. Choices are: epri_kwu_ce epri_sli"}>>> = epri_kwu_ce
temperature<<<{"description": "Cladding outer surface temperature (K)"}>>> = temp
fast_neutron_flux<<<{"description": "Fast neutron flux (n/m^2-sec)"}>>> = fast_neutron_flux
use_coolant_channel<<<{"description": "Coolant channel model is used"}>>> = true
oxygen_weight_fraction_initial<<<{"description": "As-fabricated oxygen weight fraction in cladding"}>>> = 0.0012
[]
[]
[Dampers<<<{"href": "../../syntax/Dampers/index.html"}>>>]
[limitT]
type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../source/dampers/MaxIncrement.html"}>>>
max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 100.0
variable<<<{"description": "The name of the variable that this damper operates on"}>>> = temp
[]
[limitX]
type = MaxIncrement<<<{"description": "Limits a variable's update by some max fraction", "href": "../../source/dampers/MaxIncrement.html"}>>>
max_increment<<<{"description": "The maximum newton increment for the variable."}>>> = 1e-5
variable<<<{"description": "The name of the variable that this damper operates on"}>>> = disp_x
[]
[]
[Executioner<<<{"href": "../../syntax/Executioner/index.html"}>>>]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -ksp_gmres_restart'
petsc_options_value = 'lu superlu_dist 51'
line_search = 'none'
l_max_its = 100
l_tol = 8e-3
nl_max_its = 25
nl_rel_tol = 1e-5
nl_abs_tol = 1e-10
start_time = -200
n_startup_steps = 1
end_time = 1e8
dtmax = 1e6
dtmin = 1e-3
[TimeStepper<<<{"href": "../../syntax/Executioner/TimeStepper/index.html"}>>>]
type = IterationAdaptiveDT
dt = 2.0e2
force_step_every_function_point = true
timestep_limiting_function = power_history
max_function_change = 3e20
optimal_iterations = 10
iteration_window = 2
linear_iteration_ratio = 100
timestep_limiting_postprocessor = material_timestep
[]
[Quadrature<<<{"href": "../../syntax/Executioner/Quadrature/index.html"}>>>]
order<<<{"description": "Order of the quadrature"}>>> = FIFTH
side_order<<<{"description": "Order of the quadrature for sides"}>>> = SEVENTH
[]
[]
[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
[avg_fuel_surface]
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"}>>> = 10
variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temp
[]
[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"}>>> = 9
variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temp
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'
[]
[clad_inner_vol]
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"}>>> = 7
[]
[pellet_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"}>>> = 8
[]
[avg_clad_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"}>>> = 7
variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temp
[]
[fis_gas_produced]
type = ElementIntegralFisGasGeneratedSifgrs<<<{"description": "Reports the fission gas that is produced in moles. To be used in combination with the Sifgrs model.", "href": "../../source/postprocessors/ElementIntegralFisGasGeneratedSifgrs.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[fis_gas_released]
type = ElementIntegralFisGasReleasedSifgrs<<<{"description": "Reports the fission gas that is released to the plenum in moles. To be used in combination with the Sifgrs model.", "href": "../../source/postprocessors/ElementIntegralFisGasReleasedSifgrs.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[fis_gas_grain]
type = ElementIntegralFisGasGrainSifgrs<<<{"description": "Reports the fission gas within the grains in moles. To be used in combination with the Sifgrs model.", "href": "../../source/postprocessors/ElementIntegralFisGasGrainSifgrs.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[fis_gas_boundary]
type = ElementIntegralFisGasBoundarySifgrs<<<{"description": "Reports the fission gas that is on the grain boundary", "href": "../../source/postprocessors/ElementIntegralFisGasBoundarySifgrs.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[gas_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"}>>> = 9
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'
[]
[flux_from_clad]
type = SideDiffusiveFluxIntegral<<<{"description": "Computes the integral of the diffusive flux over the specified boundary", "href": "../../source/postprocessors/SideDiffusiveFluxIntegral.html"}>>>
variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temp
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 5
diffusivity<<<{"description": "The name of the diffusivity material property that will be used in the flux computation. This must be provided if the variable is of finite element type"}>>> = thermal_conductivity
[]
[flux_from_fuel]
type = SideDiffusiveFluxIntegral<<<{"description": "Computes the integral of the diffusive flux over the specified boundary", "href": "../../source/postprocessors/SideDiffusiveFluxIntegral.html"}>>>
variable<<<{"description": "The name of the variable which this postprocessor integrates"}>>> = temp
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 10
diffusivity<<<{"description": "The name of the diffusivity material property that will be used in the flux computation. This must be provided if the variable is of finite element type"}>>> = thermal_conductivity
[]
[_dt]
type = TimestepSize<<<{"description": "Reports the timestep size", "href": "../../source/postprocessors/TimestepSize.html"}>>>
[]
[num_lin_it]
type = NumLinearIterations<<<{"description": "Compute the number of linear iterations.", "href": "../../source/postprocessors/NumLinearIterations.html"}>>>
[]
[num_nonlin_it]
type = NumNonlinearIterations<<<{"description": "Outputs the number of nonlinear iterations", "href": "../../source/postprocessors/NumNonlinearIterations.html"}>>>
[]
[tot_lin_it]
type = CumulativeValuePostprocessor<<<{"description": "Creates a cumulative sum of a Postprocessor value with time.", "href": "../../source/postprocessors/CumulativeValuePostprocessor.html"}>>>
postprocessor<<<{"description": "The name of the postprocessor"}>>> = num_lin_it
[]
[tot_nonlin_it]
type = CumulativeValuePostprocessor<<<{"description": "Creates a cumulative sum of a Postprocessor value with time.", "href": "../../source/postprocessors/CumulativeValuePostprocessor.html"}>>>
postprocessor<<<{"description": "The name of the postprocessor"}>>> = num_nonlin_it
[]
[alive_time]
type = PerfGraphData<<<{"description": "Retrieves performance information about a section from the PerfGraph.", "href": "../../source/postprocessors/PerfGraphData.html"}>>>
section_name<<<{"description": "The name of the section to get data for"}>>> = Root
data_type<<<{"description": "The type of data to retrieve for the section_name"}>>> = TOTAL
[]
[rod_total_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"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[rod_input_power]
type = FunctionValuePostprocessor<<<{"description": "Computes the value of a supplied function at a single point (scalable)", "href": "../../source/postprocessors/FunctionValuePostprocessor.html"}>>>
function<<<{"description": "The function which supplies the postprocessor value."}>>> = power_history
scale_factor<<<{"description": "A scale factor to be applied to the function"}>>> = 0.1186
[]
[average_burnup]
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"}>>> = pellet_type_1
variable<<<{"description": "The name of the variable that this object operates on"}>>> = burnup
[]
[oxide_thickness]
type = ElementExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../../source/postprocessors/ElementExtremeValue.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = oxide_thickness
[]
[fis_gas_percent]
type = FGRPercent<<<{"description": "Computes the ratio of fission gas released to the fission gas generated in percent.", "href": "../../source/postprocessors/FGRPercent.html"}>>>
fission_gas_released<<<{"description": "The fission gas released postprocessor"}>>> = fis_gas_released
fission_gas_generated<<<{"description": "The fission gas generated postprocessor"}>>> = fis_gas_produced
[]
[material_timestep]
type = MaterialTimeStepPostprocessor<<<{"description": "This postprocessor estimates a timestep that reduces the increment change in a material property below a given threshold.", "href": "../../source/postprocessors/MaterialTimeStepPostprocessor.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[]
[Outputs<<<{"href": "../../syntax/Outputs/index.html"}>>>]
perf_graph<<<{"description": "Enable printing of the performance graph 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
color<<<{"description": "Set to false to turn off all coloring in all outputs"}>>> = false
csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
print_linear_residuals<<<{"description": "Enable printing of linear residuals to the screen (Console)"}>>> = true
[console]
type = Console<<<{"description": "Object for screen output.", "href": "../../source/outputs/Console.html"}>>>
max_rows<<<{"description": "The maximum number of postprocessor/scalar values displayed on screen during a timestep (set to 0 for unlimited)"}>>> = 25
[]
[]
(examples/accident_tolerant_fuel/u3si2_zircaloy/u3si2_zircaloy.i)