- densityInitial fuel density
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial fuel density
- un_modelsType(s) of physics models used on this block. The choices are: Burnup Elastic Creep Swelling ThermalExpansion
C++ Type:MultiMooseEnum
Controllable:No
Description:Type(s) of physics models used on this block. The choices are: Burnup Elastic Creep Swelling ThermalExpansion
Nuclear Material UN
Reduces the Material block length for UN ceramic fuel within input files.
Description
This NuclearMaterialUN action reduces BISON input file length by internally generating the Materials required for simulating metallic nuclear fuel, specifically UN.
The user may elect to use the nuclear_material_UN_table action to generate the necessary material classes for common metallic fuel simulations. All of the material blocks, generated with the default parameter settings, are shown in Table 1.
Fission Operation
This required parameter describes the characteristic type of fission study that will occur. For metallic fuel type simulations, this is simply labeled as fission_operation = Normal. This must be placed under the NuclearMaterials block heading and cannot be placed under sub-blocks such as UN.
Table 1: Material classes created by the NuclearMaterialUN action
| Created Classes | Pre-Set Parameters | Block Name |
|---|---|---|
| MNElasticityTensor | fuel_elasticity_tensor | |
| ComputeMultipleInelasticStress | inelastic_models = fuel_zrycreep | fuel_stress |
| MNCreepUpdate | fuel_creep | |
| MNThermalExpansionEigenstrain | burnup_function = burnup | fuel_thermal_expansion |
| eigenstrain_name = fuel_thermal_strain | ||
| MNVolumetricSwellingEigenstrain | initial_porosity = 0.3 | fuel_volumetric_swelling |
| eigenstrain_name = fuel_volumetric_strain | ||
| StrainAdjustedDensity | strain_free_density = 13630.0 | fuel_density |
| Burnup | fuel_burnup |
Example Input Syntax
Expanded fuel Block
[Materials]
[fission]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_func
outputs = all
[]
[fuel_thermal]
block = pellet
type = ADMNThermal
temperature = temp
porosity = porosity
outputs = all
[]
[fuel_porosity]
block = pellet
type = ADGenericFunctionMaterial
prop_names = porosity
prop_values = porosity_ramp
outputs = all
[]
(assessment/nitride/EBRII/K4/analysis/base.i)Simplified fuel Block
[NuclearMaterials<<<{"href": "../index.html"}>>>]
[UN<<<{"href": "index.html"}>>>]
[fuel]
block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = pellet
density<<<{"description": "Initial fuel density"}>>> = ${density}
atoms_heavy_metal_per_volume<<<{"description": "Atoms of heavy metal atoms per volume of fuel."}>>> = ${atoms_heavy_metal_per_volume}
fission_function<<<{"description": "Function that describes the fission as a function of time."}>>> = fission_func
incremental<<<{"description": "Use incremental or total strain"}>>> = true
strain<<<{"description": "Strain formulation"}>>> = SMALL
un_models<<<{"description": "Type(s) of physics models used on this block. The choices are: Burnup Elastic Creep Swelling ThermalExpansion"}>>> = 'Burnup Elastic Creep Swelling ThermalExpansion'
properties_to_output<<<{"description": "List of material properties that are to outputed."}>>> = 'youngs_modulus poissons_ratio'
initial_porosity<<<{"description": "Initial (as-fabricated) fuel porosity (dimensionless)"}>>> = 0.03
porosity_function<<<{"description": "Function that describes the change in porosity."}>>> = porosity_ramp
stress_free_temperature<<<{"description": "Reference temperature for thermal eigenstrain calculation"}>>> = 350
[]
[]
[](assessment/nitride/EBRII/K4/analysis/base_action.i)The eigenstrains have been automatically parsed and included by wrapping the SolidMechanics QuasiStatic Action inside the NuclearMaterials following the naming convention created by this class.
Input Parameters
- 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
- atoms_heavy_metal_per_volumeAtoms of heavy metal atoms per volume of fuel.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Atoms of heavy metal atoms per volume of fuel.
- axial_power_profileName of the function describing axial power profile.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Name of the function describing axial power profile.
- 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.
- 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.
- energy_deposited_in_fuel1Fraction of fission energy deposited in the fuel.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fraction of fission energy deposited in the fuel.
- energy_per_fission3.28451e-11Energy released per fission
Default:3.28451e-11
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Energy released per fission
- execute_onLINEARThe 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.
Default:LINEAR
C++ Type:ExecFlagEnum
Controllable:No
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.
- 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.
- fission_functionFunction that describes the fission as a function of time.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function that describes the fission as a function of time.
- flux_factor1Constant multiplied against the function, rod average linear power, or q_variable.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Constant multiplied against the function, rod average linear power, or q_variable.
- flux_functionThe function that describes the fast neutron flux
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:The function that describes the fast neutron flux
- fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.
C++ Type:UserObjectName
Controllable:No
Description:Name of the UserObject that reads the pin geometry from the mesh.
- 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
- 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_pressure0Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
Default:0
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
- pellet_radiusFuel slug radius.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fuel slug radius.
- 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.
- porosity_functionFunction that describes the change in porosity.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function that describes the change in porosity.
- properties_to_outputList of material properties that are to outputed.
C++ Type:std::vector<std::string>
Controllable:No
Description:List of material properties that are to outputed.
- rod_linear_powerName of the function describing rod linear power.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Name of the function describing rod linear power.
- 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
- 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
- value_range_behaviorEXCEPTIONWhat to do if input value is outside the range of applicability.
Default:EXCEPTION
C++ Type:MooseEnum
Controllable:No
Description:What to do if input value is outside the range of applicability.
- 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`)
- automatic_eigenstrain_namesTrueCollects all material eigenstrains and passes to required strain calculator within TMA internally.
Default:True
C++ Type:bool
Controllable:No
Description:Collects all material eigenstrains and passes to required strain calculator within TMA internally.
- 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
- 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
- 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
- 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
Fission 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_porosity0.05Initial (as-fabricated) fuel porosity (dimensionless)
Default:0.05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial (as-fabricated) fuel porosity (dimensionless)