SCMBlockedMassFlowRateAux

Computes inlet mass flow rate BCs, from specified mass flux and cross-sectional area and applies blocked inlet conditions

Overview

In the case were there is a partial blockage in the inlet of the subchannel sub-assembly, the user can use the SCMBlockedMassFlowRateAux kernel to define an appropiate mass-flow distribution at the inlet. The user must define the "variable" (must be mdot), a low mass-flux and a normal mass-flux, as well as the indexes of the blocked subchannels. The low mass-flux "blocked_mass_flux" will be applied to the blocked subchannels who have the indexes "index_blockage". Ideally, the low mass-flux would be zero, but since that would lead to numerical instabilities a low value is suggested instead. It is up to the user to decide what that value would be. The normal mass-flux "unblocked_mass_flux" will be applied to the unblocked subchannels. The flow rate for each subchannel is defined as the product of the mass-flux the surface area of each subchannel. The user may opt to apply that condition at the inlet "boundary" or the whole domain.

Example Input File Syntax

[AuxKernels<<<{"href": "../../syntax/AuxKernels/index.html"}>>>]
  [mdot_ak]
    type = SCMBlockedMassFlowRateAux<<<{"description": "Computes inlet mass flow rate BCs, from specified mass flux and cross-sectional area and applies blocked inlet conditions", "href": "SCMBlockedMassFlowRateAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = mdot
    area<<<{"description": "Cross sectional area [m^2]"}>>> = S
    index_blockage<<<{"description": "index of subchannels affected by blockage"}>>> = '0'
    unblocked_mass_flux<<<{"description": "Specified mass flux for unblocked subchannels [kg/s-m^2]"}>>> = 4722
    blocked_mass_flux<<<{"description": "Specified mass flux for blocked subchannels [kg/s-m^2]]"}>>> = 1.0
    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'
  []
[]
(modules/subchannel/test/tests/auxkernels/mass_flow_rate/blocked_test.i)

Input Parameters

  • areaCross sectional area [m^2]

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Cross sectional area [m^2]

  • blocked_mass_fluxSpecified mass flux for blocked subchannels [kg/s-m^2]]

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Specified mass flux for blocked subchannels [kg/s-m^2]]

  • index_blockageindex of subchannels affected by blockage

    C++ Type:std::vector<unsigned int>

    Controllable:No

    Description:index of subchannels affected by blockage

  • unblocked_mass_fluxSpecified mass flux for unblocked subchannels [kg/s-m^2]

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Specified mass flux for unblocked subchannels [kg/s-m^2]

  • 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

  • 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

  • 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, FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, LINEAR_CONVERGENCE, NONLINEAR, NONLINEAR_CONVERGENCE, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, MULTIAPP_FIXED_POINT_CONVERGENCE, 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.

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