Heat Transfer Module

Heat is transferred by three mechanisms: conduction, convection, and radiation. The heat transfer module provides various implementations of the heat conduction equation, as well as associated boundary/interface conditions, including radiation between opaque, gray, diffuse surfaces and provisions to couple temperature fields to fluid domains through boundary conditions.

Tutorial Problems

A tutorial for the Heat Transfer module is available to show the steps for setting up a basic model.

Basic Theory of Heat Transfer

The heat conduction equation describes the diffusion of heat in a solid or stationary fluid:

ρ(t,x)c(t,x)Tt=k(t,x)T+q˙ for xΩ, \rho(t, \vec{x}) c(t, \vec{x})\frac{\partial T}{\partial t} = \nabla k(t,\vec{x}) \nabla T + \dot{q} ~\text{for}~\vec{x} \in \Omega,(1)

where TT is temperature, tt is time, x\vec{x} is the vector of spatial coordinates, ρ\rho is the density, cc is the specific heat capacity, kk is the thermal conductivity, q˙\dot{q} is a heat source density, and Ω\Omega is the domain. It should be emphasized that for solids the isobaric and isochoric heat capacities, cpc_p and cvc_v respectively, are almost identical, while for stagnant fluids cpc_p should be used.

Boundary conditions for the heat equation are defined on the boundary of the domain Ω\partial \Omega. The boundary is divided into Dirichlet boundaries ΩD\partial \Omega_D and Robin boundaries ΩR\partial \Omega_R such that Ω=ΩDΩR\partial \Omega = \partial \Omega_D \cup \partial \Omega_R:

T(t,x)=TD(t,x)xΩDknTG(t,x,T)=0xΩR,\begin{array}{l l} T(t,\vec{x}) = T_D(t,\vec{x}) & \vec{x}\in \partial \Omega_D \\ -k \vec{n} \cdot \nabla T - G(t,\vec{x},T) = 0 & \vec{x}\in \partial \Omega_R, \end{array}

where TDT_D and G(t,x,T)G(t,\vec{x},T) are known functions and n\vec{n} is the outward normal at x\vec{x}. The function G(t,x,T)G(t,\vec{x},T) defines the type of Robin boundary conditions. Common cases for GG are:

Neumann:  G(t,x,T)=0Convection:  G(t,x,T)=h(TT)Radiation:  G(t,x,T)=j=1IFi,j(JiJj)  on surface i,\begin{aligned} &\text{Neumann: }~G(t,\vec{x},T) = 0 \\ &\text{Convection: }~G(t,\vec{x},T) = h (T - T_{\infty}) \\ &\text{Radiation: }~G(t,\vec{x},T) = \sum\limits_{j=1}^I F_{i,j} (J_i - J_j) ~\text{ on surface }i, \end{aligned}(2)

where jj loops over all surfaces participating in the radiative exchange, Fi,jF_{i,j} is the view factor from the ii-th to the jj-th surface, and JjJ_j is the radiosity of the jj-th defined by:

J(t,x)=ϵ(t,x)σT4+(1ϵ(t,x))H(t,x), J(t, \vec{x}) = \epsilon(t,\vec{x}) \sigma T^4 + (1 - \epsilon(t,\vec{x})) H(t, \vec{x}),

where ϵ(t,x)\epsilon(t,\vec{x}) is the emissivity, σ=5.67×108Wm2K4\sigma = 5.67 \times 10^{-8} \frac{W}{\text{m}^2 \text{K}^4} is the Stefan-Boltzmann constant, and H(t,x)H(t,\vec{x}) is the total irradiation. Often the surface of interest is in radiative transfer with just a single isothermal surface that completely encloses it. In this case G(t,x,T)G(t,\vec{x},T) is given by:

G(t,x,T)=σS(T4T4), G(t,\vec{x},T) = \sigma S \left(T^4 - T^4_{\infty}\right),

where SS depends on the geometry, e.g., Infinite cylinder  S=ϵ ϵCRCϵCRC+ϵR(1ϵC), \begin{aligned} &\text{Infinite cylinder }~S = \frac{\epsilon ~\epsilon_C R_C}{\epsilon_C R_C + \epsilon R (1 - \epsilon_C)}, \end{aligned}

where ϵC\epsilon_C is the emissivity of the enclosing cylinder, RCR_C is the radius of the enclosing cylinder, and RR is the outer radius of the domain that is assumed to be cylindrical as well.

Theory of Opaque, Gray, Diffuse Radiative Exchange

This section discusses the pertinent equations of the net radiation method and relates them to the more fundamental spectral intensity. The development of the method is taken from Modest (2013). The net radiation method computes the radiative exchange between surfaces for the case of no attenuation in the medium between the surfaces. For a point on any of the surfaces in radiative heat transfer, a heat balance is formulated at location x\vec{x}:

q(x)=J(x)H(x), q(\vec{x}) = J(\vec{x}) - H(\vec{x}),(3)

where JJ is the radiosity of the surface at point x\vec{x}, and HH is the irradiation from other surface to point x\vec{x}. The units of all quantities in Eq. (3) are W/m2\text{W}/{\text{m}^2}. The radiosity is the sum of the emissive power and the reflected portion of the irradiation:

J(x)=ϵ(x)σT4+ρ(x)H(x), J(\vec{x}) = \epsilon(\vec{x}) \sigma T^4 + \rho(\vec{x}) H(\vec{x}),(4)

where ϵ\epsilon is the emissivity, and ρ\rho is the reflectivity. For opaque, gray, diffuse surfaces, the reflectivity simply is ρ=1ϵ\rho = 1 - \epsilon:

J(x)=ϵ(x)σT4+(1ϵ(x))H(x). J(\vec{x}) = \epsilon(\vec{x}) \sigma T^4 + (1 - \epsilon(\vec{x})) H(\vec{x}).(5)

At this point it is convenient to represent the radiosity, temperature, irradiation, and emissivity on each distinct surface ii by a suitable average of the actual distribution. We leave out the x\vec{x} argument and add an ii index by which we indicate that this quantity has been averaged over the extent of surface ii.

A second balance equation in addition to Eq. (5) is obtained by relating the irradiation onto surface ii to the radiosities of all other surfaces:

Hi=j=1nFi,jJj, H_i = \sum\limits_{j=1}^n F_{i,j} J_j,(6) where nn is the total number of surfaces, and Fi,jF_{i,j} is the view factor from surface ii to surface jj. Eliminating HiH_i from Eq. (6) using Eq. (3) gives:

j=1n(δi,jFi,j)Jj=qi. \sum\limits_{j=1}^n \left( \delta_{i,j} - F_{i,j }\right) J_j = q_i.(7)

This result is used for computing JjJ_j on surfaces where qiq_i is known. This is the case for ADIABATIC surfaces, where qi=0q_i = 0.

A more convenient relationship is derived for surfaces where TiT_i is either known (FIXED_TEMPERATURE) or computed (VARIABLE_TEMPERATURE). We first assert that because Eq. (3) and Eq. (5) hold pointwise, they also hold for the averages over face ii. This is denoted by switching from J(x)J(\vec{x}) to JiJ_i and similarly from H(x)H(\vec{x}) to HiH_i. Then, solving Eq. (3) for HiH_i, eliminating HiH_i in Eq. (5), and solving for qq gives:

qi=ϵi1ϵi(σTi4Ji). q_i = \frac{\epsilon_i}{1 - \epsilon_i} \left( \sigma T_i^4 - J_i \right). Then we use this equation in Eq. (7) to eliminate qiq_i: j=1n(δi,j(1ϵi)Fi,j)Jj=ϵiσTi4. \sum\limits_{j=1}^n \left( \delta_{i,j} - (1 - \epsilon_i) F_{i,j }\right) J_j = \epsilon_i \sigma T_i^4.(8)

The net radiation method implements Eq. (7) with q=0q=0 on ADIABATIC boundaries, and Eq. (8) on FIXED_TEMPERATURE and VARIABLE_TEMPERATURE boundaries. FIXED_TEMPERATURE boundaries allow the temperature to vary as a user-defined function, while VARIABLE_TEMPERATURE walls use a MOOSE variable to represent temperature. In both cases, TT is not constant over the extent of the surface. We average the right hand side of Eq. (8) as follows:

j=1n(δi,j(1ϵi)Fi,j)Jj=βi, \sum\limits_{j=1}^n \left( \delta_{i,j} - (1 - \epsilon_i) F_{i,j }\right) J_j = \beta_i,

where

βi=ϵiσAiAiTi4dA, \beta_i = \frac{ \epsilon_i \sigma}{A_i} \int_{A_i} T_i^4 dA,

where AiA_i is the area of surface ii. The GrayLambertSurfaceRadiationBase object computes the average temperature TiT_i, heat flux qiq_i, and radiosity JiJ_i. These are all average quantities over the surface ii.

Relationship of Net Radiation Method with Radiative Transport

The radiative transport equation is formulated in terms of the spectral intensity I(x,t,λ,Ω^)I(\vec{x}, t, \lambda, \hat{\Omega}) with λ\lambda being the photon's wavelength and Ω^\hat{\Omega} being the direction of propagation. The physical meaning of the spectral intensity is that the energy transported through area dAdA at x\vec{x}, during time interval dtdt at time tt, along direction within a cone dΩ^d\hat{\Omega} about Ω^\hat{\Omega} and with wavelengths within dλd \lambda about λ\lambda is:

Energy=I(x,t,λ,Ω^)dtdAnΩ^dΩ^dλ, \text{Energy} = I(\vec{x}, t, \lambda, \hat{\Omega}) dt dA |\vec{n} \cdot \hat{\Omega}| d\hat{\Omega} d\lambda,

where n\vec{n} is the normal on face dAdA. The intensity is computed by a code that solves the radiative transfer equation, e.g., Griffin within the MOOSE framework. The solution of the radiative transfer equation is coupled to heat conduction within solid domains through the balance at the surface Eq. (3), but now we evaluate the net heat flux from the spectral intensity:

q(x)=4πdΩ^0dλ(nΩ^)I(x,t,λ,Ω^). q(\vec{x}) = \int\limits_{4 \pi} d\hat{\Omega} \int\limits_{0}^{\infty} d\lambda (\vec{n} \cdot \hat{\Omega}) I(\vec{x}, t, \lambda, \hat{\Omega}).

The boundary condition for the thermal radiation equation on a gray, diffuse surface is: I(x,t,λ,Ω^)=1π[ϵ(t,x,λ)n22πhc02λ5[exphc0kBλT1]+(1ϵ(t,x,λ))Ω^n>0Ω^n I(x,t,λ,Ω^)dΩ^] for nΩ^<0, I(\vec{x}, t, \lambda, \hat{\Omega}) = \frac{1}{\pi}\left[\frac{\epsilon(t,\vec{x},\lambda) n^2 2 \pi h c_0^2}{\lambda^5 \left[ \exp{\frac{h c_0}{k_B \lambda T}} - 1 \right]} + \left(1 - \epsilon(t,\vec{x},\lambda)\right) \int\limits_{\hat{\Omega}' \cdot \vec{n} > 0} \hat{\Omega}' \cdot \vec{n} ~I(\vec{x}, t, \lambda, \hat{\Omega}') d \hat{\Omega}' \right]~\text{for}~\vec{n} \cdot \hat{\Omega} < 0,(9)

where nn is the refractive index of the medium that the surface radiates into, ϵ(t,x,λ)\epsilon(t,\vec{x},\lambda) is the emissivity of the surface at wavelength λ\lambda, hh is Planck's constant, kBk_B is Boltzmann's constant, and c0c_0 is the speed of light in vacuum. First, it should be stressed that the refractive index is very close to unity in vacuum or a weakly absorbing gas, but may differ significantly from unity in semi-transparent media. As the net radiation method does not apply to semi-transparent materials, nn is assumed to be unity. Second, the normalization factor of 1/π1/\pi in Eq. (9) is for three-dimensional geometry; more accurately it is given by 14dΩ^\frac{1}{4} \int d \hat{\Omega}, i.e. size of the unit sphere divided by four. Third, radiation effects in semi-transparent media can be modeled with the MOOSE based radiation transport code Rattlesnake.

Including Adiabatic and Isothermal Boundaries

Boundaries can be declared adiabatic or isothermal boundaries. Adiabatic and isothermal boundaries do not participate in the heat conduction solution process, i.e. no temperature variable needs to be defined on them (if one is defined it is not used). Adiabatic and isothermal boundaries are convenient if the outer boundary of the heat conduction domain is in radiative transfer with a wall that is either insulated or kept at a constant temperature. For example, think of the outside of a reactor pressure vessel that is in radiative heat transfer with the reactor cavity cooling system. The reactor cavity cooling system may be modeled as isothermal wall, while the top and bottom of the cavity may be modeled as adiabatic walls. The temperature equation is not solved on of these surfaces, but they are in radiative transfer with another surface on which temperature is defined as a variable.

Implementation of Opaque, Gray, Diffuse Radiative Exchange

The implementation of the net radiation method in MOOSE relies on the following types of objects:

  • Objects deriving from GrayLambertSurfaceRadiationBase are SideUserObjects that compute radiosities, heat fluxes, and average temperatures for a set of sidesets involved in radiative heat exchange. The net radiation method is implemented in GrayLambertSurfaceRadiationBase, which provides a public interface to the average heat flux, radiosities, and average temperatures computed for each sideset. These objects differ in how they are provided with view factors:

    Note that a temperature variable must be available on sidesets that are not marked as isothermal or adiabatic.

  • Objects inheriting from ViewFactorBase, such as the following:

    compute view factors and provide them via the getViewFactor public interface. These objects are used by ViewFactorObjectSurfaceRadiation, which inherits from GrayLambertSurfaceRadiationBase.

  • GrayLambertNeumannBC takes the average heat flux computed in GrayLambertSurfaceRadiationBase and applies it as boundary condition as described in Eq. (2).

  • GrayLambertSurfaceRadiationPP is a post-processor that retrieves the radiosity, heat flux, or temperature for a boundary used in a GrayLambertSurfaceRadiationBase object.

  • ViewFactorPP is a post-processor that can retrieve a view factor from a ViewFactorBase for output purposes.

  • SurfaceRadiationVectorPostprocessor is a vector post-processor that retrieves one or more of the following for all surfaces for a given GrayLambertSurfaceRadiationBase object: emissivity, radiosity, temperature, and heat flux.

  • ViewfactorVectorPostprocessor is a vector post-processor that retrieves the view factors between all boundaries for a given GrayLambertSurfaceRadiationBase object.

  • Future plans include the addition of an action to set up view-factor net radiation transfer using only a single syntax block.

Gap Heat Transfer

There are multiple approaches in the Heat Transfer module for modeling heat transfer across a gap:

Objects, Actions, and Syntax

AuxKernels
  • Heat Transfer App
  • JouleHeatingHeatGeneratedAuxCompute heat generated from Joule heating (dP/dV=E2σ)(dP/dV = \vec{E}^2 \sigma ).
AuxVariablesBCs
  • Heat Transfer App
  • ADConvectiveHeatFluxBCConvective heat transfer boundary condition with temperature and heat transfer coefficient given by material properties.
  • ADFunctionRadiativeBCBoundary condition for radiative heat exchange where the emissivity function is supplied by a Function.
  • ADInfiniteCylinderRadiativeBCBoundary condition for radiative heat exchange with a cylinderwhere the boundary is approximated as a cylinder as well.
  • ConvectiveFluxFunctionDetermines boundary value by fluid heat transfer coefficient and far-field temperature
  • ConvectiveHeatFluxBCConvective heat transfer boundary condition with temperature and heat transfer coefficent given by material properties.
  • CoupledConvectiveFlux
  • CoupledConvectiveHeatFluxBCConvective heat transfer boundary condition with temperature and heat transfer coefficent given by auxiliary variables.
  • DirectionalFluxBCApplies a directional flux multiplied by the surface normal vector. Can utilize the self shadowing calculation from a SelfShadowSideUserObject.
  • FunctionRadiativeBCBoundary condition for radiative heat exchange where the emissivity function is supplied by a Function.
  • GapHeatTransferTransfers heat across a gap between two surfaces dependent on the gap geometry specified.
  • GapPerfectConductanceEnforces equal temperatures across the gap.
  • GaussianEnergyFluxBCDescribes an incoming heat flux beam with a Gaussian profile
  • GrayLambertNeumannBCThis BC imposes a heat flux density that is computed from the GrayLambertSurfaceRadiationBase userobject.
  • HeatConductionBC
  • InfiniteCylinderRadiativeBCBoundary condition for radiative heat exchange with a cylinderwhere the boundary is approximated as a cylinder as well.
Constraints
  • Heat Transfer App
  • ADInterfaceJouleHeatingConstraintJoule heating model, for the case of a closed gap interface, to calculate the heat flux contribution created when an electric potential difference occurs across that interface.
  • GapConductanceConstraintComputes the residual and Jacobian contributions for the 'Lagrange Multiplier' implementation of the thermal contact problem. For more information, see the detailed description here: http://tinyurl.com/gmmhbe9
  • ModularGapConductanceConstraintComputes the residual and Jacobian contributions for the 'Lagrange Multiplier' implementation of the thermal contact problem. For more information, see the detailed description here: http://tinyurl.com/gmmhbe9
DiracKernelsFVBCsFVKernels
  • Heat Transfer App
  • FVHeatConductionTimeDerivativeAD Time derivative term ρcpTt\rho c_p \frac{\partial T}{\partial t} of the heat equation for quasi-constant specific heat cpc_p and the density ρ\rho.
  • FVThermalRadiationSourceSinkImplements the source and the sink terms for radiation heat transfer.
FunctorMaterialsGrayDiffuseRadiation
  • Heat Transfer App
  • RadiationTransferActionThis action sets up the net radiation calculation between specified sidesets.
InterfaceKernels
  • Heat Transfer App
  • ConjugateHeatTransferThis InterfaceKernel models conjugate heat transfer. Fluid side must be primary side and solid side must be secondary side. T_fluid is provided in case that variable ( fluid energy variable) is not temperature but e.g. internal energy.
  • SideSetHeatTransferKernelModeling conduction, convection, and radiation across internal side set.
  • ThinLayerHeatTransferModel heat transfer across a thin domain with an interface.
Kernels
  • Heat Transfer App
  • ADHeatConductionSame as Diffusion in terms of physics/residual, but the Jacobian is computed using forward automatic differentiation
  • ADHeatConductionTimeDerivativeAD Time derivative term ρcpTt\rho c_p \frac{\partial T}{\partial t} of the heat equation for quasi-constant specific heat cpc_p and the density ρ\rho.
  • ADJouleHeatingSourceCalculates the heat source term corresponding to electrostatic Joule heating, with Jacobian contributions calculated using the automatic differentiation system.
  • ADMatHeatSourceForce term in thermal transport to represent a heat source
  • AnisoHeatConductionAnisotropic HeatConduction kernel kundefinedu\nabla \cdot -\widetilde{k} \nabla u with weak form given by (ψi,kundefinedu)(\nabla \psi_i, \widetilde{k} \nabla u).
  • AnisoHomogenizedHeatConductionKernel for asymptotic expansion homogenization for thermal conductivity when anisotropic thermal conductivities are used
  • HeatCapacityConductionTimeDerivativeTime derivative term CpTtC_p \frac{\partial T}{\partial t} of the heat equation with the heat capacity CpC_p as an argument.
  • HeatConductionComputes residual/Jacobian contribution for (kT,ψ)(k \nabla T, \nabla \psi) term.
  • HeatConductionTimeDerivativeTime derivative term ρcpTt\rho c_p \frac{\partial T}{\partial t} of the heat equation for quasi-constant specific heat cpc_p and the density ρ\rho.
  • HeatSourceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form (ψi,f)(\psi_i, -f).
  • HomogenizedHeatConductionKernel for asymptotic expansion homogenization for thermal conductivity
  • JouleHeatingSourceCalculates the heat source term corresponding to electrostatic Joule heating.
  • SpecificHeatConductionTimeDerivativeTime derivative term ρcpTt\rho c_p \frac{\partial T}{\partial t} of the heat equation with the specific heat cpc_p and the density ρ\rho as arguments.
  • TrussHeatConductionComputes conduction term in heat equation for truss elements, taking cross-sectional area into account
  • TrussHeatConductionTimeDerivativeComputes time derivative term in heat equation for truss elements, taking cross-sectional area into account
MaterialsMesh
  • Heat Transfer App
  • PatchSidesetGeneratorDivides the given sideset into smaller patches of roughly equal size.
ModulesModules/HeatTransferModules/HeatTransfer/ThermalContact
  • Heat Transfer App
  • BC
Modules/HeatTransfer/ThermalContact/BC
  • Heat Transfer App
  • ThermalContactActionAction that controls the creation of all of the necessary objects for calculation of Thermal Contact
MortarGapHeatTransfer
  • Heat Transfer App
  • MortarGapHeatTransferActionAction that controls the creation of all of the necessary objects for calculation of heat transfer through an open/closed gap using a mortar formulation and a modular design approach
PhysicsPhysics/HeatConductionPhysics/HeatConduction/FiniteElement
  • Heat Transfer App
  • HeatConductionCGCreates the heat conduction equation discretized with CG
Physics/HeatConduction/FiniteVolume
  • Heat Transfer App
  • HeatConductionFVCreates the heat conduction equation discretized with nonlinear finite volume
PostprocessorsRayBCs
  • Heat Transfer App
  • ViewFactorRayBCThis ray boundary condition is applied on all sidesets bounding a radiation cavity except symmetry sidesets. It kills rays that hit the sideset and scores the ray for computation of view factors.
ThermalContact
  • Heat Transfer App
  • ThermalContactActionAction that controls the creation of all of the necessary objects for calculation of Thermal Contact
UserObjects
  • Heat Transfer App
  • ConstantViewFactorSurfaceRadiationConstantViewFactorSurfaceRadiation computes radiative heat transfer between side sets and the view factors are provided in the input file
  • FunctorGapFluxModelConductionGap flux model for varying gap conductance using a functor for temperature.
  • FunctorGapFluxModelRadiationGap flux model for heat transfer across a gap due to radiation, based on the diffusion approximation. Uses a temperature functor.
  • GapFluxModelConductionGap flux model for varying gap conductance using a coupled variable for temperature
  • GapFluxModelPressureDependentConductionHeat flux model across a closed gap to calculate the conductance between two solid materials
  • GapFluxModelRadiationGap flux model for heat conduction across a gap due to radiation, based on the diffusion approximation. Uses a coupled temperature variable.
  • GapFluxModelRadiativeGap flux demonstration model for radiative heat conductance
  • GapFluxModelSimpleGap flux model with a constant conductance
  • RayTracingViewFactorComputes view factors for arbitrary geometries using raytracing.
  • SelfShadowSideUserObjectCompute the illumination status for a self shadowing sideset
  • UnobstructedPlanarViewFactorComputes the view factors for planar faces in unubstructed radiative heat transfer.
  • ViewFactorObjectSurfaceRadiationViewFactorObjectSurfaceRadiation computes radiative heat transfer between side sets and the view factors are computed by a ViewFactor object
  • ViewFactorRayStudyThis ray study is used to compute view factors in cavities with obstruction. It sends out rays from surfaces bounding the radiation cavity into a set of directions determined by an angular quadrature. The rays are tracked and view factors are computed by determining the surface where the ray dies.
VectorPostprocessors

References

  1. M.F. Modest. Radiative Heat Transfer. Elsevier Science, 2013. ISBN 9780123869906. URL: https://books.google.com/books?id=J2KZq0e4lCIC.[BibTeX]