PCNSFVStrongBC

Computes the residual of advective term using finite volume method.

Overview

This object accepts functions describing boundary values for pressure, fluid temperature, and superficial velocity. The superficial velocity functions can also be used to supply superficial momentum information instead by setting velocity_function_includes_rho = true. If no function is provided for a quantity, the boundary value of that quantity will be determined by extrapolating from the neighboring boundary cell centroid using cell centroid value and gradient information. From this mix of user-provided functions and extrapolated boundary values for pressure, fluid temperature, and superficial velocity/momentum, the fluxes for mass, momentum, energy, and even passive scalars can be computed.

Input Parameters

  • boundaryThe list of boundary IDs from the mesh where this object applies

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of boundary IDs from the mesh where this object applies

  • eqnThe equation you're solving.

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:mass, momentum, energy, scalar

    Controllable:No

    Description:The equation you're solving.

  • fpFluid properties userobject

    C++ Type:UserObjectName

    Unit:(no unit assumed)

    Controllable:No

    Description:Fluid properties userobject

  • variableThe name of the variable that this boundary condition applies to

    C++ Type:NonlinearVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that this boundary condition applies to

Required Parameters

  • T_fluidAn optional name of a function for the fluid temperature. If not provided then the fluid temperature will be treated implicitly (e.g. we will use the interior value

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional name of a function for the fluid temperature. If not provided then the fluid temperature will be treated implicitly (e.g. we will use the interior value

  • displacementsThe displacements

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacements

  • mfr_postprocessorA postprocessor used for outputting mass flow rates on the same boundary this object acts on

    C++ Type:UserObjectName

    Unit:(no unit assumed)

    Controllable:No

    Description:A postprocessor used for outputting mass flow rates on the same boundary this object acts on

  • momentum_componentThe component of the momentum equation that this kernel applies to.

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:x, y, z

    Controllable:No

    Description:The component of the momentum equation that this kernel applies to.

  • pressureAn optional name of a function for the pressure. If not provided then the pressure will be treated implicitly (e.g. we will use the interior value

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional name of a function for the pressure. If not provided then the pressure will be treated implicitly (e.g. we will use the interior value

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

  • scalarA function describing the value of the scalar at the boundary. If this function is not provided, then the interior value will be used.

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:A function describing the value of the scalar at the boundary. If this function is not provided, then the interior value will be used.

  • superficial_velocityAn optional name of a vector function for the velocity. If not provided then the superficial velocity will be treated implicitly (e.g. we will use the interior value

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional name of a vector function for the velocity. If not provided then the superficial velocity will be treated implicitly (e.g. we will use the interior value

  • 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

    Unit:(no unit assumed)

    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.

  • velocity_function_includes_rhoFalseWhether the provided superficial velocity function actually includes multiplication by rho (e.g. the function is representative of momentum.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether the provided superficial velocity function actually includes multiplication by rho (e.g. the function is representative of momentum.

Optional Parameters

  • absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution

  • extra_matrix_tagsThe extra tags for the matrices this Kernel should fill

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The extra tags for the matrices this Kernel should fill

  • extra_vector_tagsThe extra tags for the vectors this Kernel should fill

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The extra tags for the vectors this Kernel should fill

  • matrix_tagssystemThe tag for the matrices this Kernel should fill

    Default:system

    C++ Type:MultiMooseEnum

    Unit:(no unit assumed)

    Options:nontime, system

    Controllable:No

    Description:The tag for the matrices this Kernel should fill

  • vector_tagsnontimeThe tag for the vectors this Kernel should fill

    Default:nontime

    C++ Type:MultiMooseEnum

    Unit:(no unit assumed)

    Options:nontime, time

    Controllable:No

    Description:The tag for the vectors this Kernel should fill

Tagging Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • 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

    Unit:(no unit assumed)

    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