FissionRateGeneral

Provides various implementations which allow the user to set the fission rate.

Description

The FissionRateGeneral AuxKernel computes the fission rate (fissions/m/s) according to the formulation selected by the user. The available formulations are GENERIC, POWER_DENSITY, LWR, MOX and AXIAL.

Generic Formulation

The generic formulation simply sets the value of a variable that stores the fission rate to either a constant value or a value prescribed by a function that is passed in through an inputParameter called fission_rate_function. This can be utilized through setting fission_rate_formulation to GENERIC. This is the default formulation.

Power Density Formulation

Like the generic formulation, the power density formulation sets the fission rate based on a function and a scaling factor. This formulation is intended to be used specifically in the case where the input function, power_density_functoin, defines the power density (in W/m). The power density is divided by a user-provided constant, energy_per_fission (J/fission), to provide the fission rate in (fissions/m/s). This can be utilized through setting the fission_rate_formulation to POWER_DENSITY.

LWR Formulation

This formulatin is designed to calculate fission rate given rod averaged linear power and pellet dimensions. This can be utilized through setting fission_rate_formulation to LWR.

MOX Formulation

The MOX formulation is designed to calculate fission rate given rod averaged linear power and pellet dimensions and porosity as a coupled variable. The fission rate is scaled by the following term:

This can be utilized through setting fission_rate_formulation to MOX.

Axial Formulation

The axial formulation calculates the fission rate from the user defined fuel stack top and bottom with a normalized sixth order polynomial function. where is the normalized current node location, defined as

This can be utilized through setting fission_rate_formulation to AXIAL.

Example Input Syntax

[AuxKernels<<<{"href": "../../syntax/AuxKernels/index.html"}>>>]
  [fissionrate]
    type = FissionRateGeneral<<<{"description": "Provides various implementations which allow the user to set the fission rate.", "href": "FissionRateGeneral.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate
    fission_rate_formulation<<<{"description": "The active fission rate formulation."}>>> = 'GENERIC'
    value<<<{"description": "If no function is provided, the value of the fission rate, otherwise, a scaling factor for the function."}>>> = 100
    fission_rate_function<<<{"description": "The function that describes the fission rate."}>>> = Fiss_func
    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_begin'
  []
[]
(test/tests/fission_rate_generic/generic_form.i)

Input Parameters

  • fission_rate_formulationGENERICThe active fission rate formulation.

    Default:GENERIC

    C++ Type:MooseEnum

    Options:GENERIC, POWER_DENSITY, LWR, MOX, AXIAL

    Controllable:No

    Description:The active fission rate formulation.

  • variableThe name of the variable that this object applies to

    C++ Type:AuxVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that this object applies to

Required Parameters

  • axial_power_profileThe axial power profile function.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The axial power profile function.

  • axisThe axis used (0, 1, or 2 for x, y, or z).

    C++ Type:int

    Controllable:No

    Description:The axis used (0, 1, or 2 for x, y, or z).

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • check_boundary_restrictedTrueWhether to check for multiple element sides on the boundary in the case of a boundary restricted, element aux variable. Setting this to false will allow contribution to a single element's elemental value(s) from multiple boundary sides on the same element (example: when the restricted boundary exists on two or more sides of an element, such as at a corner of a mesh

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to check for multiple element sides on the boundary in the case of a boundary restricted, element aux variable. Setting this to false will allow contribution to a single element's elemental value(s) from multiple boundary sides on the same element (example: when the restricted boundary exists on two or more sides of an element, such as at a corner of a mesh

  • energy_per_fission3.28451e-11Energy in Joules per fission.

    Default:3.28451e-11

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Energy in Joules per fission.

  • execute_onLINEAR TIMESTEP_ENDThe 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 TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, PRE_DISPLACE

    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.

  • fission_rate_functionThe function that describes the fission rate.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The function that describes the fission rate.

  • fuel_bottomThe coordinate at the bottom of the fuel stack.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The coordinate at the bottom of the fuel stack.

  • fuel_bottom_boundaryThe bottom boundary of the pellet stack.

    C++ Type:unsigned int

    Controllable:No

    Description:The bottom boundary of the pellet stack.

  • fuel_topThe coordinate at the top of the fuel stack.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The coordinate at the top of the fuel stack.

  • fuel_top_boundaryThe top boundary of the pellet stack.

    C++ Type:unsigned int

    Controllable:No

    Description:The top boundary of the pellet stack.

  • fuel_volume_ratio1Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume.

  • initial_porosity0Initial porosity. Must be the same as the initial condition in the variable block.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial porosity. Must be the same as the initial condition in the variable block.

  • pellet_diameterFuel pellet diameter in meters.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fuel pellet diameter in meters.

  • pellet_inner_diameter0Pellet inner diameter in meters for an annular pellet.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Pellet inner diameter in meters for an annular pellet.

  • porosityCoupled porosity

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled porosity

  • power_density_functionThe function that describes the power density in W/m^3.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The function that describes the power density in W/m^3.

  • radial_power_profileThe radial power profile function.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The radial power profile function.

  • rod_ave_lin_powThe rod power history function.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The rod power history function.

  • value1If no function is provided, the value of the fission rate, otherwise, a scaling factor for the function.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:If no function is provided, the value of the fission rate, otherwise, a scaling factor for the function.

Optional 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.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The seed for the master random number generator

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters

Input Files