Layered Plenum Temperature Action System

The LayeredPlenumTemperature action simplifies the input file of simulations that estimate the temperature of the gas in the plenum by using a volume waiting average by creating the necessary, AuxVariables, AuxKernels, and Postprocessors required for the Layered Plenum Temperature Model.

Constructed Objects

The objects constructed by the LayeredPlenumTemperature action are summarized in Table 1. The Generated Name column refers to the name of the object constructed by the action. Depending on the functionality of the object the name could represent an aux variable or postprocessor.

Table 1: Correspondence Among Action Functionality and Moose/BISON Objects for the LayeredPlenumTemperature Action

FunctionalityGenerated NameCreated ClassesAssociated Parameters
Penetration distance aux variablept_distanceRadiusinner_radius_surfaces: fuel surfaces along inner radius
point1: Point one for defining an axis
point2: Point two for defining an axis
PlenumTemperatureDistanceinner_surfaces: The inner surfaces (e.g. fuel not on inner radius)
`outer_surfaces1: The outer surfaces (e.g. cladding)
Gap value aux variablegap_valueGapValueDefaultSameValuetemp: The temperature variable name
inner_surfaces: The inner surfaces (e.g. fuel not on inner radius)
outer_surfaces: The outer surfaces (e.g. cladding)
tangential_tolerance: Tangential distance to extend edges of contact surfaces
warnings: Whether to output warning messages concerning nodes not being found
Layered plenum temperature postprocessoruser_defined_by_subblockLayeredPlenumTemperaturePostprocessorfuel_pin_geometry: Name of the UserObject that reads the pin geometry from the mesh
boundary: The boundary ID or name over which the plenum temperature should be measured
temp: The temperature variable name
use_current_slice_heights: A flag for using the current or initial slice heights
Cladding layered average out-of-plane strainout_of_plane_strain_claddingLayeredAverageout_of_plane_strain : variable holding the out-of-plane strain
Fuel layered average out-of-plane strainout_of_plane_strain_fuelLayeredAverageout_of_plane_strain : variable holding the out-of-plane strain
Layered plenum temperature userobjectcurrent_layer_heightsLayeredPlenumTemperatureUserObjectfuel_pin_geometry : the userobject containing information read from the mesh

Example Input File Syntax

An example of using the LayeredPlenumTemperature action is given by:

[LayeredPlenumTemperature<<<{"href": "index.html"}>>>]
  [plenum_temp]
    boundary<<<{"description": "The boundary ID or name over which the plenum temperature should be measured."}>>> = 5
    fuel_pin_geometry<<<{"description": "Name of the UserObject that reads the pin geometry from the mesh."}>>> = pin_geometry
    out_of_plane_strain<<<{"description": "The out-of-plane strain nodal variable."}>>> = strain_yy_0
    inner_surfaces<<<{"description": "The inner surfaces (e.g. fuel not on inner radius)."}>>> = '5'
    outer_surfaces<<<{"description": "The outer surfaces (e.g. cladding)."}>>> = '10'
    temperature<<<{"description": "Coupled temperature (K)"}>>> = temp
  []
[]
(test/tests/layered_1D/layered_plenum_temperature.i)

Input Parameters

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

  • out_of_plane_strainThe out-of-plane strain nodal variable.

    C++ Type:VariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The out-of-plane strain nodal variable.

  • temperatureCoupled temperature (K)

    C++ Type:NonlinearVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled temperature (K)

Required 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

  • axial_directionyThe axial direction of the model.

    Default:y

    C++ Type:MooseEnum

    Options:x, y, z

    Controllable:No

    Description:The axial direction of the model.

  • boundaryThe boundary ID or name over which the plenum temperature should be measured.

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

    Controllable:No

    Description:The boundary ID or name over which the plenum temperature should be measured.

  • clad_blocksThe list of names of the block (subdomain) for the cladding.

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

    Controllable:No

    Description:The list of names of the block (subdomain) for the cladding.

  • execute_onINITIAL LINEARThe 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:INITIAL LINEAR

    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

    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.

  • familyLAGRANGESpecifies the family of FE shape functions to use for this variable.

    Default:LAGRANGE

    C++ Type:std::string

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable.

  • fuel_blocksThe list of names of the blocks (subdomains) for the fuel pellets.

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

    Controllable:No

    Description:The list of names of the blocks (subdomains) for the fuel pellets.

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

  • inner_radius_surfacesThe fuel surfaces along the inner radius.

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

    Controllable:No

    Description:The fuel surfaces along the inner radius.

  • inner_surfacesThe inner surfaces (e.g. fuel not on inner radius).

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

    Controllable:No

    Description:The inner surfaces (e.g. fuel not on inner radius).

  • orderFIRSTSpecifies the order of the FE shape function to use for this variable.

    Default:FIRST

    C++ Type:MooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FORTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable.

  • outer_surfacesThe outer surfaces (e.g. cladding).

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

    Controllable:No

    Description:The outer surfaces (e.g. cladding).

  • point1Point one for defining an axis.

    C++ Type:libMesh::Point

    Controllable:No

    Description:Point one for defining an axis.

  • point2Point two for defining an axis.

    C++ Type:libMesh::Point

    Controllable:No

    Description:Point two for defining an axis.

  • tangential_toleranceTangential distance to extend edges of contact surfaces.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Tangential distance to extend edges of contact surfaces.

  • use_current_slice_heightsFalseWhether or not to use the current slice height in the calculation of the plenum temperature. When set to true the results are more accurate, but the calculation is more difficult to converge.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to use the current slice height in the calculation of the plenum temperature. When set to true the results are more accurate, but the calculation is more difficult to converge.

  • warningsFalseWhether to output warning messages concerning nodes not being found.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to output warning messages concerning nodes not being found.

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.

Advanced Parameters

Associated Actions

Available Actions

  • Bison App
  • LayeredPlenumTemperatureActionCreates the necessary AuxVariables, AuxKernels, Postprocessors and UserObjects to calculate the temperature of plenum for Layered1D or Layered2D geometries.