RadialAverageEnthalpy

Uses radial temperature output from a NodalValueSampler VPP to calculate the peak radial average fuel enthalpyfor UO2 above 300 K

Description

RadialAverageEnthalpy calculates the radial average fuel enthalpy (J/kg) at a specified axial position in a radially symmetric fuel element.

Radial average fuel enthalpy is useful in assessing fuel performance and failure states for reactivity insertion accident (RIA) cases and may only be used with the RZ coordinate type. The Kerrisk's method to calculate enthalpy is only applicable for temperatures above 300 K, and currently only supports uranium oxide fuel types (fuel_type = UO2) Kerrisk and Clifton (1972).

A LineValueSampler VectorPostprocessor is set up to sample temperature at various radial positions (almost exclusively sort_by = x in radially symmetric 2D meshes) by specifying the start_point and end_point with string lists in the form 'x y z' executed at the end of a timestep.T

The user may specify the number of points to sample and LineValueSampler will interpolate between temperatures distributed on the mesh. The name of the LineValueSampler block must be used as the argument for the vectorpostprocessor parameter as shown in the input file example below. The argument for the r_dim parameter should correspond to the radial direction of the mesh geometry (this should be the same axis specified in sort_by).

warningwarning:Corresponding Parameters

The LineValueSampler is necessary to pull in the temperature data required to calculate the radial average fuel enthalpy at a particular axial position. The r_dim and sort_by parameters in RadialAverageEnthalpy and LineValueSampler input blocks, respectively, must both be the same axis (almost always x).

To suppress CSV output of the LineValueSampler, add a separate output of type CSV and set enable = 0.

Example Input Syntax

[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
  [radial_average_enthalpy]
    type = RadialAverageEnthalpy<<<{"description": "Uses radial temperature output from a NodalValueSampler VPP to calculate the peak radial average fuel enthalpyfor UO2 above 300 K", "href": "RadialAverageEnthalpy.html"}>>>
    vector_postprocessor<<<{"description": "The NodalValueSampler vector postprocessor whose values are used to calculate radial average fuel enthalpy."}>>> = rad_temp
    radial_direction<<<{"description": "The name of the radial position variable."}>>> = x
    axial_direction<<<{"description": "The name of the axial position variable."}>>> = y
    temperature_name<<<{"description": "The name of the temperature variable"}>>> = temp
  []
[]
(test/tests/radial_avg_fuel_enthalpy/radial_avg_enthalpy.i)

A LineValueSampler vector postprocessor is required to use the RadialAverageEnthalpy postprocessor. Example syntax for the LineValueSampler associated with the previous RadialAverageEnthalpy syntax example follows.

[VectorPostprocessors<<<{"href": "../../syntax/VectorPostprocessors/index.html"}>>>]
  [rad_temp]
    type = NodalValueSampler<<<{"description": "Samples values of nodal variable(s).", "href": "../vectorpostprocessors/NodalValueSampler.html"}>>>
    sort_by<<<{"description": "What to sort the samples by"}>>> = y
    variable<<<{"description": "The names of the variables that this VectorPostprocessor operates on"}>>> = temp
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = dummy #this will prevent the VectorPostprocessor from outputing CSV files every timestep
  []
[]
(test/tests/radial_avg_fuel_enthalpy/radial_avg_enthalpy.i)

Input Parameters

  • axial_directionThe name of the axial position variable.

    C++ Type:std::string

    Controllable:No

    Description:The name of the axial position variable.

  • radial_directionThe name of the radial position variable.

    C++ Type:std::string

    Controllable:No

    Description:The name of the radial position variable.

  • temperature_nameThe name of the temperature variable

    C++ Type:std::string

    Controllable:No

    Description:The name of the temperature variable

  • vector_postprocessorThe NodalValueSampler vector postprocessor whose values are used to calculate radial average fuel enthalpy.

    C++ Type:VectorPostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The NodalValueSampler vector postprocessor whose values are used to calculate radial average fuel enthalpy.

Required Parameters

  • axial_position-1The axial position at which to compute the radial average enthalpy

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The axial position at which to compute the radial average enthalpy

  • oxygen_to_metal_ratio2The ratio of oxygen to uranium in the fuel.

    Default:2

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The ratio of oxygen to uranium in the fuel.

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • execute_onTIMESTEP_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: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, TRANSFER

    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.

  • execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

    Default:0

    C++ Type:int

    Controllable:No

    Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

  • force_postauxFalseForces the UserObject to be executed in POSTAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in POSTAUX

  • force_preauxFalseForces the UserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREAUX

  • force_preicFalseForces the UserObject to be executed in PREIC during initial setup

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREIC during initial setup

Execution Scheduling 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.

  • outputsVector of output names where you would like to restrict the output of variables(s) associated with this object

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

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

  • 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

References

  1. J. F. Kerrisk and D. G. Clifton. Smoothed values of the enthalpy and heat capacity of uo2. Nuclear Technology, 16(3):531–535, 1972.[BibTeX]