Axisymmetric (2D-RZ) Light Water Reactor Fuel Rod Tutorial
# This model is a linear element, 10 discrete fuel pellet stack (pellet_type_1) with a fine mesh.
[GlobalParams<<<{"href": "../syntax/GlobalParams/index.html"}>>>]
# Set initial fuel density, other global parameters
density = 10431.0
initial_porosity = 0.05
energy_per_fission = 3.2e-11 # J/fission
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
temperature = temperature
grain_radius = grain_radius
order = FIRST #Mesh element dictate this
family = LAGRANGE
[]
[Problem<<<{"href": "../syntax/Problem/index.html"}>>>]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Mesh<<<{"href": "../syntax/Mesh/index.html"}>>>]
# Specify coordinate system type
coord_type = RZ
# Import mesh file
patch_update_strategy = auto
patch_size = 10 # For contact algorithm
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."}>>> = '../../../../2D-RZ_rodlet_10pellets/fine10_rz.e'
[]
[]
[Variables<<<{"href": "../syntax/Variables/index.html"}>>>]
# Define dependent variables and initial conditions
[temperature]
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 580.0 # set initial temp to coolant inlet
[]
[]
[AuxVariables<<<{"href": "../syntax/AuxVariables/index.html"}>>>]
# Define auxilary variables
[creep_strain_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
[]
[effective_creep_strain]
block = clad
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_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
[]
[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
[]
[]
[Functions<<<{"href": "../syntax/Functions/index.html"}>>>]
# Define functions to control power and boundary conditions
[power_history]
type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../source/functions/PiecewiseLinear.html"}>>> # reads and interpolates an input file containing rod average linear power vs time
data_file<<<{"description": "File holding CSV data"}>>> = '../../../../2D-RZ_rodlet_10pellets/powerhistory.csv'
scale_factor<<<{"description": "Scale factor to be applied to the ordinate values"}>>> = 1
[]
[axial_peaking_factors] # reads and interpolates an input file containing the axial power profile vs time
type = PiecewiseBilinear<<<{"description": "Interpolates values from a csv file", "href": "../source/functions/PiecewiseBilinear.html"}>>>
data_file<<<{"description": "File holding csv data for use with PiecewiseBilinear"}>>> = '../../../../2D-RZ_rodlet_10pellets/peakingfactors.csv'
scale_factor<<<{"description": "Scale factor to be applied to the axis, yaxis, or xaxis values"}>>> = 1
axis<<<{"description": "The axis used (0, 1, or 2 for x, y, or z)."}>>> = 1 # (0,1,2) => (x,y,z)
[]
[pressure_ramp] # reads and interpolates input data defining amplitude curve for fill gas pressure
type = PiecewiseLinear<<<{"description": "Linearly interpolates between pairs of x-y data", "href": "../source/functions/PiecewiseLinear.html"}>>>
x<<<{"description": "The abscissa values"}>>> = '-200 0'
y<<<{"description": "The ordinate values"}>>> = '0 1'
[]
[]
[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
add_variables<<<{"description": "Add the displacement variables"}>>> = true
strain<<<{"description": "Strain formulation"}>>> = FINITE
eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'fuel_relocation_strain 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
add_variables<<<{"description": "Add the displacement variables"}>>> = true
strain<<<{"description": "Strain formulation"}>>> = FINITE
eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'clad_thermal_strain 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] # body force term in stress equilibrium equation
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
[]
[heat] # gradient term in heat conduction equation
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_ie] # time term in heat conduction equation
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_source] # source term in heat conduction equation
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
extra_vector_tags<<<{"description": "The extra tags for the vectors this Kernel should fill"}>>> = 'ref'
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1 # fission rate applied to the fuel (block 2) only
burnup_function<<<{"description": "Burnup function"}>>> = burnup
[]
[]
[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 # using the power function defined above
axial_power_profile<<<{"description": "Axial power peaking function."}>>> = axial_peaking_factors # using the axial power profile function defined above
num_radial<<<{"description": "Number of radial divisions in secondary grid used to compute radial power profile."}>>> = 80
num_axial<<<{"description": "Number of axial divisions in secondary grid used to compute radial power profile."}>>> = 11
a_lower<<<{"description": "The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.00324 # mesh dependent!
a_upper<<<{"description": "The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.12184 # mesh dependent!
fuel_inner_radius<<<{"description": "The inner radius of the fuel."}>>> = 0
fuel_outer_radius<<<{"description": "The outer radius of the fuel."}>>> = .0041
fuel_volume_ratio<<<{"description": "Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume."}>>> = 0.987775 # for use with dished pellets (ratio of actual volume to cylinder volume)
order<<<{"description": "Specifies the order of the FE shape function to use for this variable."}>>> = CONSTANT
family<<<{"description": "Specifies the family of FE shape functions to use for this variable."}>>> = MONOMIAL
RPF<<<{"description": "Specifies that the radial power factor is required."}>>> = RPF
#N235 = N235 # Activate to write N235 concentration to output file
#N238 = N238 # Activate to write N238 concentration to output file
#N239 = N239 # Activate to write N239 concentration to output file
#N240 = N240 # Activate to write N240 concentration to output file
#N241 = N241 # Activate to write N241 concentration to output file
#N242 = N242 # Activate to write N242 concentration to output file
[]
[]
[AuxKernels<<<{"href": "../syntax/AuxKernels/index.html"}>>>]
# Define auxilliary kernels for each of the aux variables
[creep_strain_rate]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = creep_rate
variable<<<{"description": "The name of the variable that this object applies to"}>>> = creep_strain_rate
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
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
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'
[]
[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
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'
[]
[effective_creep_strain]
type = MaterialRealAux<<<{"description": "Outputs element volume-averaged material properties", "href": "../source/auxkernels/MaterialRealAux.html"}>>>
property<<<{"description": "The material property name."}>>> = effective_creep_strain
variable<<<{"description": "The name of the variable that this object applies to"}>>> = effective_creep_strain
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[]
[Contact<<<{"href": "../syntax/Contact/index.html"}>>>]
# Define mechanical contact between the fuel (sideset=10) and the clad (sideset=5)
[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
formulation<<<{"description": "The contact formulation"}>>> = kinematic
model<<<{"description": "The contact model to use"}>>> = frictionless
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"}>>>]
# Define thermal contact between the fuel (sideset=10) and the clad (sideset=5)
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = 5
secondary = 10
initial_moles = initial_moles # coupling to a postprocessor which supplies the initial plenum/gap gas mass
gas_released = fis_gas_released # coupling to a postprocessor which supplies the fission gas addition
contact_pressure = contact_pressure
quadrature = true
[]
[]
[BCs<<<{"href": "../syntax/NuclearMaterials/BCs/index.html"}>>>]
# Define boundary conditions
[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"}>>>] # apply coolant pressure on clad outer walls
[coolantPressure]
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = '1 2 3'
factor<<<{"description": "The magnitude to use in computing the pressure"}>>> = 15.5e6
function<<<{"description": "The function that describes the pressure"}>>> = pressure_ramp # use the pressure_ramp function defined above
[]
[]
[PlenumPressure<<<{"href": "../syntax/BCs/PlenumPressure/index.html"}>>>] # apply plenum pressure on clad inner walls and pellet surfaces
[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 # coupling to post processor to get initial fill gas mass
temperature<<<{"description": "The name of the average temperature postprocessor value."}>>> = ave_temperature_interior # coupling to post processor to get gas temperature approximation
volume<<<{"description": "The name of the postprocessor(s) that holds the value of the internal volume in the cavity"}>>> = gas_volume # coupling to post processor to get gas volume
material_input<<<{"description": "The name of the postprocessor(s) that holds the amount of material injected into the plenum."}>>> = fis_gas_released # coupling to post processor to get fission gas added
output<<<{"description": "The name to use for the cavity pressure value"}>>> = plenum_pressure # coupling to post processor to output plenum/gap pressure
[]
[]
[]
[CoolantChannel<<<{"href": "../syntax/CoolantChannel/index.html"}>>>]
[convective_clad_surface] # apply convective boundary to clad outer surface
boundary<<<{"description": "The boundary where the coolant channel calculation will run"}>>> = '1 2 3'
variable<<<{"description": "The name of the variable representing temperature"}>>> = temperature
inlet_temperature<<<{"description": "Inlet temperature in K "}>>> = 580 # K
inlet_pressure<<<{"description": "Inlet pressure in Pa"}>>> = 15.5e6 # Pa
inlet_massflux<<<{"description": "Inlet mass flux in kg/m^2-sec"}>>> = 3800 # kg/m^2-sec
rod_diameter<<<{"description": "Rod diameter in meter"}>>> = 0.948e-2 # 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
[]
[]
[NuclearMaterials<<<{"href": "../syntax/NuclearMaterials/index.html"}>>>]
fission_operation<<<{"description": "Type of fission occuring in this simulation."}>>> = Normal
[UO2<<<{"href": "../syntax/NuclearMaterials/UO2/index.html"}>>>]
[fuel]
block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = pellet_type_1
uo2_models<<<{"description": "Type(s) of physics models used on this block. The choices are: Burnup Elastic Creep Relocation Swelling ThermalExpansion HighBurnupStructureFormation"}>>> = 'Elastic Relocation Swelling ThermalExpansion'
stress_free_temperature<<<{"description": "Reference temperature for thermal eigenstrain calculation"}>>> = 295.0
localized_initial_temperature<<<{"description": "Localized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions."}>>> = 580.0
rod_ave_lin_pow<<<{"description": "The rod power history function."}>>> = power_history
burnup_relocation_stop<<<{"description": "Burnup at which relocation strain stops (in FIMA)"}>>> = 0.03
[]
[]
[ZirconiumAlloy<<<{"href": "../syntax/NuclearMaterials/ZirconiumAlloy/index.html"}>>>]
[clad]
block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = clad
cladding_models<<<{"description": "Type(s) of physics models used on this block. The choices are: Creep Elastic Plasticity ZryOxidation IrradiationGrowth ThermalExpansion ZrPhase ZryCladdingFailure"}>>> = 'Elastic Creep ThermalExpansion IrradiationGrowth'
stress_free_temperature<<<{"description": "Reference temperature for thermal eigenstrain calculation"}>>> = 295.0
localized_initial_temperature<<<{"description": "Localized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions."}>>> = 580.0
[]
[]
[]
[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"}>>> = temperature
[]
[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 = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 50
l_tol = 8e-3
nl_max_its = 15
nl_rel_tol = 1e-4
nl_abs_tol = 1e-10
start_time = -200
n_startup_steps = 1
end_time = 8.0e7
dtmax = 2e6
dtmin = 1
[TimeStepper<<<{"href": "../syntax/Executioner/TimeStepper/index.html"}>>>]
type = IterationAdaptiveDT
dt = 2e2
optimal_iterations = 8
iteration_window = 2
linear_iteration_ratio = 100
growth_factor = 2
cutback_factor = .5
[]
[Quadrature<<<{"href": "../syntax/Executioner/Quadrature/index.html"}>>>]
order<<<{"description": "Order of the quadrature"}>>> = THIRD
side_order<<<{"description": "Order of the quadrature for sides"}>>> = FIFTH
[]
[]
[Postprocessors<<<{"href": "../syntax/Postprocessors/index.html"}>>>]
# Define postprocessors (some are required as specified above; others are optional; many others are available)
[ave_temperature_interior] # average temperature of the cladding interior and all pellet exteriors
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"}>>> = 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 linear'
[]
[clad_inner_vol] # volume inside of cladding
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
#outputs = 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'
[]
[pellet_volume] # fuel pellet total 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
#outputs = 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_clad_temperature] # average temperature of cladding 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"}>>> = 7
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 linear'
[]
[ave_fuel_temperature]
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"}>>> = 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 linear'
[]
[fis_gas_produced] # fission gas produced (moles)
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
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] # fission gas released to plenum (moles)
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
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_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
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."}>>> = 'linear'
[]
[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
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."}>>> = 'linear'
[]
[fission_gas_release]
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
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'
[]
[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] # area integrated heat flux from the cladding
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"}>>> = temperature
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] # area integrated heat flux from the 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"}>>> = temperature
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] # time step
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"}>>> = temperature
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 # rod height
[]
[mid_penetration]
type = NodalVariableValue<<<{"description": "Outputs values of a nodal variable at a particular location", "href": "../source/postprocessors/NodalVariableValue.html"}>>>
nodeid<<<{"description": "The ID of the node where we monitor"}>>> = 3781 #!!Mesh dependent!!
variable<<<{"description": "The variable to be monitored"}>>> = penetration
[]
[central_fuel_temperature]
type = NodalVariableValue<<<{"description": "Outputs values of a nodal variable at a particular location", "href": "../source/postprocessors/NodalVariableValue.html"}>>>
variable<<<{"description": "The variable to be monitored"}>>> = temperature
nodeid<<<{"description": "The ID of the node where we monitor"}>>> = 3781 # !! Mesh dependent
[]
[max_fuel_temperature]
type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../source/postprocessors/NodalExtremeValue.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
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
variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
[]
[max_clad_temperature]
type = NodalExtremeValue<<<{"description": "Finds either the min or max elemental value of a variable over the domain.", "href": "../source/postprocessors/NodalExtremeValue.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
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
variable<<<{"description": "The name of the variable that this postprocessor operates on"}>>> = temperature
[]
[average_vonMises_fuel]
type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../source/postprocessors/ElementAverageValue.html"}>>>
variable<<<{"description": "The name of the variable that this object operates on"}>>> = vonmises_stress
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
[]
[average_vonMises_clad]
type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "../source/postprocessors/ElementAverageValue.html"}>>>
variable<<<{"description": "The name of the variable that this object operates on"}>>> = vonmises_stress
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = clad
[]
[effective_creep_strain]
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"}>>> = clad
variable<<<{"description": "The name of the variable that this object operates on"}>>> = effective_creep_strain
[]
[effective_creep_strain_rate]
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"}>>> = clad
variable<<<{"description": "The name of the variable that this object operates on"}>>> = creep_strain_rate
[]
[]
[VectorPostprocessors<<<{"href": "../syntax/VectorPostprocessors/index.html"}>>>]
[clad_dia]
type = NodalValueSampler<<<{"description": "Samples values of nodal variable(s).", "href": "../source/vectorpostprocessors/NodalValueSampler.html"}>>>
variable<<<{"description": "The names of the variables that this VectorPostprocessor operates on"}>>> = disp_x
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 2
sort_by<<<{"description": "What to sort the samples by"}>>> = y
outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = 'outfile_clad_radial_displacement'
[]
[pellet_dia]
type = NodalValueSampler<<<{"description": "Samples values of nodal variable(s).", "href": "../source/vectorpostprocessors/NodalValueSampler.html"}>>>
variable<<<{"description": "The names of the variables that this VectorPostprocessor operates on"}>>> = disp_x
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 10
sort_by<<<{"description": "What to sort the samples by"}>>> = y
outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = 'outfile_fuel_radial_displacement'
[]
[]
[Outputs<<<{"href": "../syntax/Outputs/index.html"}>>>]
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
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
[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
[]
[outfile_clad_radial_displacement]
type = CSV<<<{"description": "Output for postprocessors, vector postprocessors, and scalar variables using comma seperated values (CSV).", "href": "../source/outputs/CSV.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."}>>> = 'FINAL'
[]
[outfile_fuel_radial_displacement]
type = CSV<<<{"description": "Output for postprocessors, vector postprocessors, and scalar variables using comma seperated values (CSV).", "href": "../source/outputs/CSV.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."}>>> = 'FINAL'
[]
[]
(examples/NuclearMaterialActions/LWR/Normal/2D_discrete_finiteStrain_action/2D_discrete_finiteStrain_action.i)0, 1e4, 1e8
0, 2.5e4, 2.5e4
(examples/2D-RZ_rodlet_10pellets/powerhistory.csv)2.24e-3,8.18e-3,1.41e-2,2.01e-2,2.6e-2,3.19e-2,3.79e-2,4.38e-2,4.97e-2,5.57e-2,0.06162,6.76e-2,7.35e-2,7.94e-2,8.54e-2,9.13e-2,9.72e-2,1.03e-1,1.09e-1,1.15e-1,1.21e-1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,5.37e-1,8.68e-1,1.01,1.06,1.06,1.06,1.05,1.06,1.07,1.07,1.08,1.07,1.07,1.06,1.06,1.06,1.06,1.05,1.01,8.68e-1,5.37e-1
1.5e8,5.37e-1,8.68e-1,1.01,1.06,1.06,1.06,1.05,1.06,1.07,1.07,1.08,1.07,1.07,1.06,1.06,1.06,1.06,1.05,1.01,8.68e-1,5.37e-1
(examples/2D-RZ_rodlet_10pellets/peakingfactors.csv)(examples/2D-RZ_rodlet_10pellets/peakingfactors.csv)
2.24e-3,8.18e-3,1.41e-2,2.01e-2,2.6e-2,3.19e-2,3.79e-2,4.38e-2,4.97e-2,5.57e-2,0.06162,6.76e-2,7.35e-2,7.94e-2,8.54e-2,9.13e-2,9.72e-2,1.03e-1,1.09e-1,1.15e-1,1.21e-1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,5.37e-1,8.68e-1,1.01,1.06,1.06,1.06,1.05,1.06,1.07,1.07,1.08,1.07,1.07,1.06,1.06,1.06,1.06,1.05,1.01,8.68e-1,5.37e-1
1.5e8,5.37e-1,8.68e-1,1.01,1.06,1.06,1.06,1.05,1.06,1.07,1.07,1.08,1.07,1.07,1.06,1.06,1.06,1.06,1.05,1.01,8.68e-1,5.37e-1