INSFVTurbulentTemperatureWallFunction

The function sets up the equivalent heat flux of the near-wall boundary layer when the wall temperature is set by the T_w parameter.

The boundary conditions are different depending on whether the centroid of the cell near the identified boundary lies in the wall function profile. Taking the non-dimensional wall distance as y+y^+, the three regions of the boundary layer are identified as follows:

  • Sub-laminar region: y+5y^+ \le 5

  • Buffer region: y+(5,30)y^+ \in (5, 30)

  • Logarithmic region: y+30y^+ \ge 30

For the procedure of determining the non-dimensional wall distance as y+y^+ and the friction velocity uτu_{\tau} please see INSFVTurbulentViscosityWallFunction.

For the sub-laminar and logarithmic layer, the thermal diffusivity is defined as follows:

α={αl=kρcpif y+5αt=uτypPrtwsif y+30 \alpha = \begin{cases} \alpha_l = \frac{k}{\rho c_p} & \text{if } y^+ \le 5 \\ \alpha_t = \frac{u_{\tau} y_p}{Pr_t w_s} & \text{if } y^+ \ge 30 \end{cases}

where:

  • kk is the thermal conductivity

  • ρ\rho is the density

  • cpc_p is the specific heat at constant pressure

  • uτu_{\tau} is the friction velocity defined by law of the wall

  • ypy_p is the distance from the boundary to the centroid of the near-wall cell

  • PrtPr_t is the turbulent Prandtl number, which typically ranges between 0.3 and 0.9

  • wsw_s is a near-wall scaling factor that is defined as follows:

ws=1κln(Ey+)+Jk, w_s = \frac{1}{\kappa} \operatorname{ln}(E y^+) + J_k \,,

where:

  • κ=0.4187\kappa = 0.4187 is the von Kármán constant

  • E=9.793E = 9.793 is a closure parameter

  • JkJ_k is the Jayatilleke wall functions defined as follows:

Jk=9.24[(PrPrt)0.751](1+0.28e0.007PrPrt), J_k = 9.24 \left[ \left( \frac{Pr}{Pr_t} \right)^{0.75} - 1 \right] \left( 1 + 0.28 e^{-0.007 \frac{Pr}{Pr_t}} \right) \,,

where:

  • PrPr is the Prandtl number

For the buffer layer, i.e., in y+(5,30)y^+ \in (5, 30), the thermal diffusivity is defined via a linear blending function as follows:

αb=αt(y+5)25+αl[1(y+5)25] \alpha_b = \alpha_t \frac{(y^+ - 5)}{25} + \alpha_l \left[ 1 - \frac{(y^+ - 5)}{25} \right]

Finally, using the thermal diffusivity, the heat flux at the wall is defined as follows:

qw=ρcpαTwTpyp, q''_w = - \rho c_p \alpha \frac{T_w - T_p}{y_p} \,,

where:

  • TpT_p is the temperature at the centroid of the near-wall cell

  • ypy_p is the distance from the wall to the centroid of the near-wall cell

commentnote

The thermal wall functions are only valid for regions in which the equilibrium momentum wall functions are valid, i.e., no flow detachment, recirculation, etc. For resolving non-equilibrium phenomena, we recommend refining the mesh.

Input Parameters

  • T_wThe wall temperature. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The wall temperature. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • 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

  • cpThe specific heat at constant pressure. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The specific heat at constant pressure. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • muDynamic viscosity. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Dynamic viscosity. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • rhoDensity. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Density. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • uThe velocity in the x direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The velocity in the x direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • 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

  • C_mu0.09Coupled turbulent kinetic energy closure.

    Default:0.09

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled turbulent kinetic energy closure.

  • Pr_t0.58The turbulent Prandtl number. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    Default:0.58

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The turbulent Prandtl number. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • displacementsThe displacements

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacements

  • kappaThe thermal conductivity. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The thermal conductivity. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

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

  • tkeTurbulent kinetic energy functor. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Turbulent kinetic energy functor. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

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

  • vThe velocity in the y direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The velocity in the y direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • wThe velocity in the z direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

    C++ Type:MooseFunctorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The velocity in the z direction. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.

  • wall_treatmentneqThe method used for computing the wall functions

    Default:neq

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:eq_newton, eq_incremental, eq_linearized, neq

    Controllable:No

    Description:The method used for computing the wall functions

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

  • newton_solveFalseWhether a Newton nonlinear solve is being used

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether a Newton nonlinear solve is being used

  • 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