- densityThe initial fuel density.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The initial fuel density.
- fragmentation_modelCOINDREAUThe model used to calculate the number of cracks in the fuel.
Default:COINDREAU
C++ Type:MooseEnum
Controllable:No
Description:The model used to calculate the number of cracks in the fuel.
Nuclear Material UO2
Reduces the Material block length for LWR elastic UO2 fuel within input files.
Description of Created Material Blocks
This NuclearMaterialUO2 action reduces BISON input file length by internally generating the Materials required for simulating elastic LWR nuclear fuel, specifically UO2.
This action is designed for use with only Light Water Reactor simulations which deal with Elastic stress calculations. Simulations with Inelastic models are not covered by this action.
User-based Interface
To reduce the length and complexity of necessary blocks for simulations, an extensive standardization of operating conditions has been utilized within the NuclearMaterials.
All of the blocks, generated with the default parameter settings, are shown in Table 2, Table 3, and Table 4. These blocks are created internally, based on the UO2 Models and/or physics conditions shown. Additional parameters for each created class can be found below.
Certain parameters are determined internally to further reduce input file length and complexity.
Fission Operation
This required parameter describes the characteristic type of fission study that will occur, i.e. Normal, LOCA, etc. This will also create both the AuxVariable and AuxKernel of the grain_radius that is used to model the grain evolution for fission. This must be placed under the NuclearMaterials block heading and cannot be placed under sub-blocks such as UO2. A description of the current different fission operation models can be found in Table 1.
Table 1: Fission Operation Descriptions
| FissionOperation | Description |
|---|---|
| None | No fission occurs |
| Normal | Self-sustained nuclear chain reaction |
| HighBurnup | High Percentage of Fuel Burnup |
| RIA | Reactivity Initiated Accident |
| LOCA | Loss of Coolant Accident |
| BumpTest | Short-term reirradiation at increased power levels |
| HighInitial | High Initial Rating Test |
| PowerRamp | Ramp up of power output |
The classes in Table 2 are automatically created when using NuclearMaterialUO2 depending on the UO2 Models and Fission
operation used as well as what occurs under Physics conditions.
Table 2: Material classes created by the NuclearMaterialUO2 action
| Created Material Classes | Pre-Set Parameters | Block Name | UO2 Models | Fission Operation |
|---|---|---|---|---|
| UO2ElasticityTensor | poissons_ratio = 0.345 | fuel_elasticity_tensor | Elastic | All Fission Types |
| youngs_modulus = 2.0e11 | ||||
| ComputeFiniteStrainElasticStress | fuel_elastic_stress | Elastic | All Fission Types | |
| ComputeThermalExpansionEigenstrain | thermal_expansion_coeff = 10.0e-6 | fuel_thermal_expansion |ThermalExpansion | All Fission Types | |
| eigenstrain_name = fuel_thermal_strain | ||||
| UO2VolumetricSwellingEigenstrain | burnup_function = burnup | fuel_volumetric_swelling | Swelling | All Fission Types |
| initial_fuel_density = 10431.0 | ||||
| eigenstrain_name = fuel_volumetric_strain | ||||
| UO2RelocationEigenstrain | eigenstrain_name = fuel_relocation_strain | fuel_relocation | Relocation | All Fission Types |
| UO2Sifgrs | gbs_model = true | fuel_fission_gas_release | Fission Dependent| All Fission Types | |
| StrainAdjustedDensity | strain_free_density = 10431.0 | fuel_density | all | All Fission Types |
| UO2Thermal | fuel_thermal | all | All Fission Types |
The classes in Table 3 are only created when Thermal or if any Fission occurs under the Fission Operation conditions.
Table 3: Auxiliary classes created by the NuclearMaterialUO2 action
| Created Auxiliary Classes | Type | Pre-Set Parameters | Block Name | Physics/Fission Operations |
|---|---|---|---|---|
| Temperature | Variable | temperature | Thermal | |
| GrainRadiusAux | AuxKernel | variable = grain_radius | grain_radius | All Fission Types |
| temp = temperature | ||||
| execute_on = LINEAR | ||||
| HeatConduction | Kernel | variable = temperature | fuel_heat | Thermal |
| extra_vector_tags = ref | ||||
| HeatConductionTimeDerivative | Kernel | variable = temperature | fuel_heat_ie | Thermal |
| extra_vector_tags = ref | ||||
| NeutronHeatSource | Kernel | variable = temperature | heat_source | Thermal |
| extra_vector_tags = ref |
Table 4: Actions created by the NuclearMaterialUO2 action
| Created Actions | Pre-Set Parameters | Block Name | Physics/UO2 Model Conditions |
|---|---|---|---|
| TensorMechanicsAction | volumetric_locking_correction = false | Physics/SolidMechanics/QuasiStatic | Mechanics |
| automatic_eigenstrain_names = true | |||
| decomposition_method = EigenSolution | |||
| strain = FINITE | |||
| Burnup | Burnup | Burnup |
Example Input Syntax NuclearMaterials can be used in multiple ways to simplify creation of various parts of the input file. In its most basic form, it can be used to automate the creation of the material models used to define the mechanical and thermal behavior of fuel and cladding materials. With additional options, it can also be used to automate the creation of the variables and kernels associated with mechanical and thermal physics, as well as the Burnup objects. Examples of these two different ways to use NuclearMaterials are provided below
Example Simple Input Syntax
NuclearMaterials simplifies Material block inputs by applying standard parameter and classes depending on the simulation. It is possible to only replace the Materials blocks in an input file with the equivalent NuclearMaterialUO2. This procedure greatly reduces the length and complexity of the the necessary inputs while fully retaining the same functionality and end results. An example of this can be seen below.
UO2 Model Parameters
Elastic : Models elastic stress for an incremental formulation, both
incremental small and incremental finite strain formulations.
Relocation : Method to model the effect of UO2 cracking on gap width.
Swelling : Swelling due to solid fission products, gaseous fission products,
and densification all contribute to the change in volume of a UO2 fuel pellet
ThermalExpansion : Models isotropic thermal expansion with constant thermal
expansion coefficient.
Expanded Fuel Material Block
[Materials<<<{"href": "../../Materials/index.html"}>>>]
# Define material behavior models and input material property data
[fuel_thermal] # temperature and burnup dependent thermal properties of UO2 (BISON kernel)
type = UO2Thermal<<<{"description": "Computes thermal conductivity and specific heat capacity of uranium dioxide fuel.", "href": "../../../source/materials/UO2Thermal.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
thermal_conductivity_model<<<{"description": "The thermal conductivity model."}>>> = NFIR
temperature<<<{"description": "Coupled temperature"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
[]
[fuel_elasticity_tensor]
type = ComputeIsotropicElasticityTensor<<<{"description": "Compute a constant isotropic elasticity tensor.", "href": "../../../source/materials/ComputeIsotropicElasticityTensor.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
youngs_modulus<<<{"description": "Young's modulus of the material."}>>> = 2.0e11
poissons_ratio<<<{"description": "Poisson's ratio for the material."}>>> = 0.345
[]
[fuel_elastic_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"}>>> = pellet_type_1
[]
[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"}>>> = pellet_type_1
thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10.0e-6
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_relocation]
type = UO2RelocationEigenstrain<<<{"description": "Accounts for cracking and relocation of fuel pellet fragments in the radial direction and is necessary for accurate modeling of LWR fuel. The linear heat rate must either be a functionor a variable.", "href": "../../../source/materials/solid_mechanics/UO2RelocationEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
burnup_function<<<{"description": "Burnup function"}>>> = burnup
diameter<<<{"description": "As fabricated cold diameter of pellet in meters"}>>> = 0.0082
rod_ave_lin_pow<<<{"description": "linear power function."}>>> = power_history
axial_power_profile<<<{"description": "axial power peaking function."}>>> = axial_peaking_factors
diametral_gap<<<{"description": "As fabricated cold diametral pellet-cladding gap in meters."}>>> = 160.0e-6
burnup_relocation_stop<<<{"description": "Burnup at which relocation strain stops (in FIMA)"}>>> = 0.03
relocation_activation1<<<{"description": "First activation linear power in W/m term in relocation model"}>>> = 5000
relocation_model<<<{"description": "Type of relocation model formulation."}>>> = ESCORE_modified
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_relocation_strain
[]
[fuel_volumetric_swelling]
type = UO2VolumetricSwellingEigenstrain<<<{"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/UO2VolumetricSwellingEigenstrain.html"}>>>
gas_swelling_model_type<<<{"description": "Which type of model to use to calculate the gaseous swelling. Choices are SIFGRS MATPRO SIFGRS_IG. If you select SIFGRS or SIFGRS_IG, the SIFGRS model must be included in the input file."}>>> = SIFGRS
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
temperature<<<{"description": "Coupled Temperature in Kelvin"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
initial_fuel_density<<<{"description": "Initial fuel density in kg-UO2/m^3"}>>> = 10431.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_volumetric_strain
[]
[fission_gas_release]
type = UO2Sifgrs<<<{"description": "Recommended fission gas model to account for generation of fission gasses in nuclear fuel", "href": "../../../source/materials/UO2Sifgrs.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
grain_radius<<<{"description": "Coupled grain Radius"}>>> = grain_radius
gbs_model<<<{"description": "Activates the grain-boundary sweeping model"}>>> = true
[]
[](examples/2D-RZ_rodlet_10pellets/2D_discrete_finiteStrain/2D_discrete_finiteStrain.i)Equivalent Simplified NuclearMaterial Fuel Block
[NuclearMaterials<<<{"href": "../index.html"}>>>]
fission_operation<<<{"description": "Type of fission occuring in this simulation."}>>> = Normal
[UO2<<<{"href": "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
[]
[]
[](examples/NuclearMaterialActions/LWR/Normal/2D_discrete_finiteStrain_action/2D_discrete_finiteStrain_action.i)Example Fully Reduced Input Syntax
Input file length and complexity can be reduced even further by use of additional Physics and/or UO2Models block parameters, in addition to applying common parameters to sub-blocks under the NuclearMaterials header.
Physics parameters
Mechanics : This will create the TensorMechanicsAction block(s) under which it is listed. If listed under the NuclearMaterial block header, then this will be applied to all blocks under the header.
Thermal : This will create the temperature variable, the
KernelblocksHeatConduction,HeatConductionTimeDerivative, andNeutronHeatSourceneeded to model thermal effects for UO2.
UO2 Model Parameters
Burnup : This will create the
Burnupblock for UO2 fuel.
Expanded Fuel Block
[Variables<<<{"href": "../../Variables/index.html"}>>>]
# Define dependent variables and initial conditions
[temp]
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 580.0 # set initial temp to coolant inlet
order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = FIRST
[]
[]
[AuxVariables<<<{"href": "../../AuxVariables/index.html"}>>>]
[grain_radius]
block = pellet_type_1
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 10e-6
[]
[]
[Kernels<<<{"href": "../../Kernels/index.html"}>>>]
[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"}>>> = temp
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"}>>> = temp
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"}>>> = temp
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
[]
[]
[Physics<<<{"href": "../../Physics/index.html"}>>>]
[SolidMechanics<<<{"href": "../../Physics/SolidMechanics/index.html"}>>>]
[QuasiStatic<<<{"href": "../../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'
[]
[]
[]
[]
[Burnup<<<{"href": "../../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
[]
[]
[Materials<<<{"href": "../../Materials/index.html"}>>>]
# Define material behavior models and input material property data
[fuel_thermal]
# temperature and burnup dependent thermal properties of UO2 (BISON kernel)
type = UO2Thermal<<<{"description": "Computes thermal conductivity and specific heat capacity of uranium dioxide fuel.", "href": "../../../source/materials/UO2Thermal.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
thermal_conductivity_model<<<{"description": "The thermal conductivity model."}>>> = NFIR
temperature<<<{"description": "Coupled temperature"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
[]
[fuel_elasticity_tensor]
type = ComputeIsotropicElasticityTensor<<<{"description": "Compute a constant isotropic elasticity tensor.", "href": "../../../source/materials/ComputeIsotropicElasticityTensor.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
youngs_modulus<<<{"description": "Young's modulus of the material."}>>> = 2.0e11
poissons_ratio<<<{"description": "Poisson's ratio for the material."}>>> = 0.345
[]
[fuel_elastic_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"}>>> = pellet_type_1
[]
[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"}>>> = pellet_type_1
thermal_expansion_coeff<<<{"description": "Thermal expansion coefficient"}>>> = 10.0e-6
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_relocation]
type = UO2RelocationEigenstrain<<<{"description": "Accounts for cracking and relocation of fuel pellet fragments in the radial direction and is necessary for accurate modeling of LWR fuel. The linear heat rate must either be a functionor a variable.", "href": "../../../source/materials/solid_mechanics/UO2RelocationEigenstrain.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
burnup_function<<<{"description": "Burnup function"}>>> = burnup
diameter<<<{"description": "As fabricated cold diameter of pellet in meters"}>>> = 0.0082
rod_ave_lin_pow<<<{"description": "linear power function."}>>> = power_history
axial_power_profile<<<{"description": "axial power peaking function."}>>> = axial_peaking_factors
diametral_gap<<<{"description": "As fabricated cold diametral pellet-cladding gap in meters."}>>> = 160.0e-6
burnup_relocation_stop<<<{"description": "Burnup at which relocation strain stops (in FIMA)"}>>> = 0.03
relocation_activation1<<<{"description": "First activation linear power in W/m term in relocation model"}>>> = 5000
relocation_model<<<{"description": "Type of relocation model formulation."}>>> = ESCORE_modified
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_relocation_strain
[]
[fuel_volumetric_swelling]
type = UO2VolumetricSwellingEigenstrain<<<{"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/UO2VolumetricSwellingEigenstrain.html"}>>>
gas_swelling_model_type<<<{"description": "Which type of model to use to calculate the gaseous swelling. Choices are SIFGRS MATPRO SIFGRS_IG. If you select SIFGRS or SIFGRS_IG, the SIFGRS model must be included in the input file."}>>> = SIFGRS
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = pellet_type_1
temperature<<<{"description": "Coupled Temperature in Kelvin"}>>> = temp
burnup_function<<<{"description": "Burnup function"}>>> = burnup
initial_fuel_density<<<{"description": "Initial fuel density in kg-UO2/m^3"}>>> = 10431.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_volumetric_strain
[]
[fission_gas_release]
type = UO2Sifgrs<<<{"description": "Recommended fission gas model to account for generation of fission gasses in nuclear fuel", "href": "../../../source/materials/UO2Sifgrs.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
grain_radius<<<{"description": "Coupled grain Radius"}>>> = grain_radius
gbs_model<<<{"description": "Activates the grain-boundary sweeping model"}>>> = true
[]
[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}
[]
[]
[AuxKernels<<<{"href": "../../AuxKernels/index.html"}>>>]
[grain_radius]
type = GrainRadiusAux<<<{"description": "Computes grain evolution using an empirical model.", "href": "../../../source/auxkernels/GrainRadiusAux.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 applies to"}>>> = grain_radius
temperature<<<{"description": "Coupled temperature (K)"}>>> = 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."}>>> = linear
[]
[](examples/2D-RZ_rodlet_10pellets/2D_discrete_finiteStrain/2D_discrete_finiteStrain.i)Fully Simplified Fuel Block
[NuclearMaterials<<<{"href": "../index.html"}>>>]
generate_output<<<{"description": "Add scalar quantity output for stress and/or strain"}>>> = 'vonmises_stress stress_xx stress_yy stress_zz'
fission_operation<<<{"description": "Type of fission occuring in this simulation."}>>> = Normal
physics<<<{"description": "Type(s) of physics used on this block."}>>> = 'Mechanics Thermal'
initial_temperature<<<{"description": "Initial temperature in Kelvins."}>>> = 580.0
strain<<<{"description": "Strain formulation"}>>> = FINITE
[UO2<<<{"href": "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"}>>> = 'Burnup Elastic Relocation Swelling ThermalExpansion'
stress_free_temperature<<<{"description": "Reference temperature for thermal eigenstrain calculation"}>>> = 295.0
fuel_volume_ratio<<<{"description": "Reduction factor for deviation from right circular cylinder representation of the fuel mesh. The ratio of actual volume to right circular cylinder volume."}>>> = 0.987787
burnup_relocation_stop<<<{"description": "Burnup at which relocation strain stops (in FIMA)"}>>> = 0.03
isotopes<<<{"description": "Fuel isotopes: Gd155 Gd157 U235 U238 Pu239 Pu240 Pu241 Pu242. Number of entries must match number of entries in isotope_fractions."}>>> = 'U235 U238'
isotope_fractions<<<{"description": "The isotope fractions associated with the 'isotopes' input line. Must sum to 1.0."}>>> = '0.05 0.95'
fuel_pin_geometry<<<{"description": "Name of the UserObject that reads the pin geometry from the mesh."}>>> = pin_geometry
rod_ave_lin_pow<<<{"description": "The rod power history function."}>>> = power_history
axial_power_profile<<<{"description": "The axial power peaking function."}>>> = axial_peaking_factors
extra_vector_tags<<<{"description": "The tag names for extra vectors that residual data should be saved into"}>>> = 'ref'
[]
[]
[](examples/NuclearMaterialActions/LWR/Normal/2D_discrete_finiteStrain_nuc_mat_action_integrated/2D_discrete_finiteStrain_nuc_mat_action_integrated.i)The eigenstrain names must be included in the SolidMechanics QuasiStatic Action following the naming convention created by this class. The easiest method to ensure this continutity is to include Mechanics in the physics input parameter. By default, this will select automatic_eigenstrain_names = true.
automatic_eigenstrain_names = true, the eigenstrain_names will be populated under restrictive conditions for classes such as CompositeEigenstrain, ComputeReducedOrderEigenstrain, and RankTwoTensorMaterialADConverter. The input components for these classes are not included in the eigenstrain_names passed to the TensorMechanicsAction. Set the automatic_eigenstrain_names = false and populate this list manually if these components need to be included.
[Physics<<<{"href": "../../Physics/index.html"}>>>]
[SolidMechanics<<<{"href": "../../Physics/SolidMechanics/index.html"}>>>]
[QuasiStatic<<<{"href": "../../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'
[]
[]
[]
[](examples/NuclearMaterialActions/LWR/Normal/2D_discrete_finiteStrain_action/2D_discrete_finiteStrain_action.i)Input Parameters
- RIA_initial_burnupInitial burnup function used in RIA for SIFGRS and UO2Thermal.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Initial burnup function used in RIA for SIFGRS and UO2Thermal.
- a_lowerThe lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
- a_upperThe upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- add_variablesFalseAdd the displacement variables
Default:False
C++ Type:bool
Controllable:No
Description:Add the displacement variables
- additional_physicsType(s) of physics used on this block. The choices are: Mechanics Thermal
C++ Type:MultiMooseEnum
Controllable:No
Description:Type(s) of physics used on this block. The choices are: Mechanics Thermal
- automatic_eigenstrain_namesTrueCollects all material eigenstrains and passes to required strain calculator within the solid mechanics physics internally.
Default:True
C++ Type:bool
Controllable:No
Description:Collects all material eigenstrains and passes to required strain calculator within the solid mechanics physics internally.
- burnup_functionBurnup function
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Burnup function
- crumbling_scale_factor0.0001Scaling factor to apply to the Young's modulus in layers that have crumbled during axial relocation.
Default:0.0001
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scaling factor to apply to the Young's modulus in layers that have crumbled during axial relocation.
- d1_functionFunction to be multiplied by d1
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:Function to be multiplied by d1
- d1_function_variableVariable to be used when evaluating d1_function. If not given, time will be used.
C++ Type:std::vector<std::string>
Controllable:No
Description:Variable to be used when evaluating d1_function. If not given, time will be used.
- decomposition_methodEigenSolutionMethods to calculate the finite strain and rotation increments
Default:EigenSolution
C++ Type:MooseEnum
Controllable:No
Description:Methods to calculate the finite strain and rotation increments
- diffusion_1st_activation_energiesDiffusion activation energies.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Diffusion activation energies.
- diffusion_1st_coefficients1st diffusion coefficient.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:1st diffusion coefficient.
- diffusion_2nd_activation_energiesSecond diffusion activation energy
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Second diffusion activation energy
- diffusion_2nd_coefficients2nd diffusion coefficient
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:2nd diffusion coefficient
- element_decay_constantsRadioactive decay constant for elements tracked
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Radioactive decay constant for elements tracked
- element_scalingRelative scaling of element percentages
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Relative scaling of element percentages
- elements_initial_concentrationRelative ratio of element concentration
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Relative ratio of element concentration
- elements_trackedThe elements tracked within TRISO simulations.
C++ Type:MultiMooseEnum
Controllable:No
Description:The elements tracked within TRISO simulations.
- extra_vector_tagsThe tag names for extra vectors that residual data should be saved into
C++ Type:std::vector<TagName>
Controllable:No
Description:The tag names for extra vectors that residual data should be saved into
- familyLAGRANGESpecifies the family of FE shape functions to use for this variable.
Default:LAGRANGE
C++ Type:MooseEnum
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable.
- flux_factor1Constant multiplied against the function, rod average linear power, or q_variable.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Constant multiplied against the function, rod average linear power, or q_variable.
- flux_functionThe function that describes the fast neutron flux
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:The function that describes the fast neutron flux
- fraction_of_neutron_heat_source1Fraction of neutron heat source power applied
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fraction of neutron heat source power applied
- fuel_inner_radius0The inner radius of the fuel.
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The inner radius of the fuel.
- fuel_outer_radius0.0041The outer radius of the fuel.
Default:0.0041
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The outer radius of the fuel.
- fuel_volume_ratioReduction factor for deviation from right circular cylinder representation of the fuel mesh. The ratio of actual volume to right circular cylinder volume.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Reduction factor for deviation from right circular cylinder representation of the fuel mesh. The ratio of actual volume to right circular cylinder volume.
- generate_outputAdd scalar quantity output for stress and/or strain
C++ Type:MultiMooseEnum
Controllable:No
Description:Add scalar quantity output for stress and/or strain
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- incrementalFalseUse incremental or total strain
Default:False
C++ Type:bool
Controllable:No
Description:Use incremental or total strain
- initial_fuel_densityInitial fuel density in kg-UO2/m^3
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial fuel density in kg-UO2/m^3
- isotope_fractionsThe isotope fractions associated with the 'isotopes' input line. Must sum to 1.0.
C++ Type:std::vector<std::vector<double>>
Unit:(no unit assumed)
Controllable:No
Description:The isotope fractions associated with the 'isotopes' input line. Must sum to 1.0.
- isotopesU235 U238 Fuel isotopes: Gd155 Gd157 U235 U238 Pu239 Pu240 Pu241 Pu242. Number of entries must match number of entries in isotope_fractions.
Default:U235 U238
C++ Type:std::vector<MultiMooseEnum>
Controllable:No
Description:Fuel isotopes: Gd155 Gd157 U235 U238 Pu239 Pu240 Pu241 Pu242. Number of entries must match number of entries in isotope_fractions.
- localized_initial_temperatureLocalized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Localized Initial temperature in Kelvins. This allows individual blocks to have different temperature conditions apart from the global initial conditions.
- localized_temperature_functionFunction that describes localized temperature within the block.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function that describes localized temperature within the block.
- num_axial20Number of axial divisions in secondary grid used to compute radial power profile.
Default:20
C++ Type:unsigned int
Controllable:No
Description:Number of axial divisions in secondary grid used to compute radial power profile.
- num_radial80Number of radial divisions in secondary grid used to compute radial power profile.
Default:80
C++ Type:unsigned int
Controllable:No
Description:Number of radial divisions in secondary grid used to compute radial power profile.
- orderSECONDSpecifies the order of the FE shape function to use for this variable.
Default:SECOND
C++ Type:MooseEnum
Controllable:No
Description:Specifies the order of the FE shape function to use for this variable.
- out_of_plane_pressure_function0Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
Default:0
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
- physicsType(s) of physics used on this block.
C++ Type:MultiMooseEnum
Controllable:No
Description:Type(s) of physics used on this block.
- poissons_ratioPoisson's ratio for the material.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Poisson's ratio for the material.
- rpf_inputThe radial power profile function. Used to specify the rpf from input
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:The radial power profile function. Used to specify the rpf from input
- strainSMALLStrain formulation
Default:SMALL
C++ Type:MooseEnum
Controllable:No
Description:Strain formulation
- stress_free_temperatureReference temperature for thermal eigenstrain calculation
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Reference temperature for thermal eigenstrain calculation
- system_pressure_functionThe function to use for the pressure on the exterior of the cladding.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:The function to use for the pressure on the exterior of the cladding.
- temperatureCoupled temperature: Used in multiple models
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Coupled temperature: Used in multiple models
- uo2_modelsType(s) of physics models used on this block. The choices are: Burnup Elastic Creep Relocation Swelling ThermalExpansion HighBurnupStructureFormation
C++ Type:MultiMooseEnum
Controllable:No
Description:Type(s) of physics models used on this block. The choices are: Burnup Elastic Creep Relocation Swelling ThermalExpansion HighBurnupStructureFormation
- use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible
Default:False
C++ Type:bool
Controllable:No
Description:Flag to use automatic differentiation (AD) objects when possible
- youngs_modulusYoung's modulus of the material.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Young's modulus of the material.
Optional Parameters
- additional_generate_outputAdd scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)
C++ Type:MultiMooseEnum
Controllable:No
Description:Add scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)
- blockThe list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to
- displacementsThe displacements appropriate for the simulation geometry and coordinate system: Used in density and strain models
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacements appropriate for the simulation geometry and coordinate system: Used in density and strain models
- volumetric_locking_correctionFalseFlag to correct volumetric locking
Default:False
C++ Type:bool
Controllable:No
Description:Flag to correct volumetric locking
Mechanics Parameters
- axial_power_profileThe axial power peaking function.
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:The axial power peaking function.
- energy_per_fission3.28451e-11Energy released per fission (J/fission).
Default:3.28451e-11
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Energy released per fission (J/fission).
- fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.
C++ Type:UserObjectName
Controllable:No
Description:Name of the UserObject that reads the pin geometry from the mesh.
- rod_ave_lin_powThe rod power history function.
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:The rod power history function.
Burnup Parameters
- burnupCoupled Burnup: Used in fuel creep, fission gas, relocation, swelling, and thermal models
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Coupled Burnup: Used in fuel creep, fission gas, relocation, swelling, and thermal models
- fission_rateCoupled Fission rate: Used in fuel burnup, creep, densification, fission gas, relocation, swelling, and thermal models
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Coupled Fission rate: Used in fuel burnup, creep, densification, fission gas, relocation, swelling, and thermal models
- grain_radiusCoupled Grain Radius: Used in fuel creep, densification, fission gas, swelling, and thermal models
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Coupled Grain Radius: Used in fuel creep, densification, fission gas, swelling, and thermal models
- initial_grain_radius1e-05Initial grain radius
Default:1e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial grain radius
Fission Parameters
- burnup_relocation_stop1e+12Burnup at which relocation strain stops (in FIMA)
Default:1e+12
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Burnup at which relocation strain stops (in FIMA)
Relocation Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
Advanced Parameters
- initial_porosityInitial fuel porosity (dimensionless): Used in fission gas, porosity, swelling, and thermal models
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial fuel porosity (dimensionless): Used in fission gas, porosity, swelling, and thermal models
- total_densification0.01The densification that will occur given as a fraction of theoretical density
Default:0.01
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The densification that will occur given as a fraction of theoretical density