30. THERMAL_BC Namelist

The THERMAL_BC namelist is used to define boundary conditions for the heat transfer model at external boundaries and internal interfaces. Each instance of the namelist defines a particular condition to impose over a subset of the domain boundary. The boundary subset \(\Gamma\) is specified using mesh face sets. The namelist variable face_set_ids takes a list of face set IDs, and the boundary condition is imposed on all faces belonging to those face sets. Note that ExodusII mesh side sets are imported into Truchas as face sets with the same IDs.

Note

Required/Optional:

Required

Single/Multiple Instances:

Multiple

30.1. Conditions on External Boundaries

The following types of external boundary conditions can be defined. The outward unit normal to the boundary \(\Gamma\) is denoted \(\hat{n}\).

Temperature

A temperature Dirichlet condition,

\[T = T_b\text{ on $\Gamma$},\]

is defined by setting type to “temperature”. The boundary value \(T_b\) is specified using either temp for a constant value, or temp_func for a function.

Heat Flux

A heat flux condition,

\[-\kappa\nabla T\cdot\hat{n} = q_b \text{ on $\Gamma$},\]

is defined by setting type to “flux”. The heat flux \(q_b\) is specified using either flux for a constant value, or flux_func for a function.

Oriented Heat Flux

An oriented heat flux condition,

\[-\kappa\nabla T\cdot\hat{n}=\alpha\,\vec{q_b}\cdot\hat{n}\text{ on $\Gamma$},\]

is defined by setting type to “oriented-flux”. The 3-vector heat flux \(\vec{q_b}\) is specified using either vflux for a constant value, or vflux_func for a function, and the absorptivity coefficient \(\alpha\) is specified using either absorptivity for a constant value, or absorptivity_func for a function.

Heat Transfer

An external heat transfer flux condition,

\[-\kappa\nabla T\cdot\hat{n} = \alpha(T - T_{\infty}) \text{ on $\Gamma$},\]

is defined by setting type to “htc”. The heat transfer coefficient \(\alpha\) is specified using either htc for a constant value, or htc_func for a function, and the ambient temperature \(T_{\infty}\) is specified using either ambient_temp for a constant value, or ambient_temp_func for a function.

Ambient Radiation

A simple ambient thermal radiation condition,

\[-\kappa\nabla T\cdot\hat{n} = \epsilon\sigma\bigl((T-T_0)^4 - (T_{\infty}-T_0)^4\bigr) \text{ on $\Gamma$},\]

is defined by setting type to “radiation”. The emissivity \(\epsilon\) is specified using either emissivity for a constant value or emissivity_func for a function, and the temperature of the ambient environment \(T_{\infty}\) is specified using either ambient_temp for a constant value, or ambient_temp_func for a function. Here \(\sigma\) is the Stefan-Boltzmann constant and \(T_0\) is the absolute zero temperature. They must be redefined if the problem units differ from the default SI units using the Stefan_Boltzmann and Absolute_Zero variables of the PHYSICAL_CONSTANTS namelist.

30.2. Conditions on Internal Interfaces

Internal interfaces are merely coincident pairs of conforming external mesh boundaries. These are modifications to the mesh created by Truchas and are defined using the Interface_Side_Sets variable from the MESH namelist. Only the face set IDs referenced there can be used in the definition of the following interface conditions.

Interface Heat Transfer

An interface heat transfer condition models heat transfer across an imperfect contact between two bodies or across a thin subscale material layer lying along an interface \(\Gamma\). It imposes continuity of the heat flux \(-\kappa\nabla T\cdot\hat{n}\) across the interface \(\Gamma\) and gives this flux as

\[-\kappa\nabla T\cdot\hat{n} = -\alpha [T] \text{ on $\Gamma$},\]

where \([T]\) is the jump in \(T\) across \(\Gamma\) in the direction \(\hat{n}\). It is defined by setting type to “interface-htc”. The heat transfer coefficient \(\alpha\) is specified using either htc for a constant value, or htc_func for a function.

Gap Radiation

A gap radiation condition models radiative heat transfer across a thin open gap lying along an interface \(\Gamma\). It imposes continuity of the heat flux \(-\kappa\nabla T\cdot\hat{n}\) across \(\Gamma\) and gives the flux as

\[-\kappa\nabla T\cdot\hat{n} = \epsilon_{\Gamma}\,\sigma\bigl( (T_{-}-T_0)^4-(T_{+}-T_0)^4\bigr) \text{ on $\Gamma$},\]

where \(T_{-}\) and \(T_{+}\) denote the values of \(T\) on the inside and outside gap surfaces with respect to the normal \(\hat{n}\) to \(\Gamma\). It is defined by setting type to “gap-radiation”. The gap emissivity \(\epsilon_{\Gamma}\) is specified using either emissivity for a constant value, or emissivity_func for a function. The effective gap emissivity \(\epsilon_{\Gamma}\) depends on the emissivities \(\epsilon_{-}\) and \(\epsilon_{+}\) of the surfaces on either side of the gap and is given by

\[\epsilon_{\Gamma} = \frac{\epsilon_{-}\epsilon_{+}}{\epsilon_{-} + \epsilon_{+} - \epsilon_{-}\epsilon_{+}}.\]

The value of the Stefan-Boltzmann constant \(\sigma\) and the absolute zero temperature \(T_0\) must be redefined if the problem units differ from the default SI units using the Stefan_Boltzmann and Absolute_Zero variables of the PHYSICAL_CONSTANTS namelist.

30.3. Usage Limitations and Requirements

Use of the THERMAL_BC namelist is subject to a number of limitations:

  • Instances of the same type may not overlap (i.e., apply to intersecting portions of the boundary), with the exception of “oriented-flux” where the net heat flux is the sum of the fluxes from the individual instances.

  • A “temperature” type instance may not overlap with instances of any other type.

  • Instances with different external flux types (“flux”, “htc”, etc.) are allowed to overlap. The net flux will be the sum of the individual fluxes.

  • Instances with different interface flux types (“interface-htc”, “gap-radiation”) are allowed to overlap. The net flux will be the sum of the individual fluxes.

  • Interface flux instances may not overlap with external flux instances.

It is generally required that the specified thermal boundary conditions completely cover the domain boundary; there are no default thermal boundary conditions. However when enclosure radiation systems are present, no boundary condition need be imposed on any part of the boundary that belongs to an enclosure because the enclosure radiation system defines the heat flux. Nevertheless, either “temperature” or flux-type conditions may still be imposed there, and in the latter case the net heat flux is the sum of boundary condition fluxes and radiative (from enclosure radiation) fluxes.

30.4. Namelist Variables

name

A unique name used to identify a particular instance of this namelist.

Type:

string

Default:

none

face_set_ids

A list of face set IDs that define the portion of the boundary where the boundary condition will be imposed.

Type:

integer list (32 max)

Default:

none

type

The type of boundary condition.

Type:

string

Default:

none

Valid values:

Value

Description

Associated variables

“temperature”

Temperature Dirichlet condition

temp, temp_func

“flux”

Heat flux condition

flux, flux_func

“oriented-flux”

Oriented heat flux condition

vflux, vflux_func

“htc”

External heat transfer condition

htc, htc_func, ambient_temp, ambient_temp_func

“radiation”

Simple thermal radiation to ambient environment

emissivity, emissivity_func, ambient_temp, ambient_temp_func

“interface-htc”

Internal interface heat transfer condition

htc, htc_func

“gap-radiation”

A gap thermal radiation condition

emissivity, emissivity_func

temp

The constant value of boundary temperature for a “temperature” boundary condition. To specify a function, use temp_func instead.

Type:

real

Default:

none

temp_func

The name of a FUNCTION namelist defining a function that gives the boundary temperature for a “temperature” boundary condition. The function is expected to be a function of \((t,x,y,z)\).

Type:

string

Default:

none

flux

The constant value of the outward heat flux for a “flux” boundary condition. To specify a function, use flux_func instead.

Type:

real

Default:

none

flux_func

The name of a FUNCTION namelist defining a function that gives the outward boundary heat flux for a “flux” boundary condition. The function is expected to be a function of \((t,x,y,z)\).

Type:

string

Default:

none

vflux

The constant value of the heat flux for an “oriented-flux” boundary condition. To specify a function, use vflux_func instead.

Type:

real 3-vector

Default:

none

vflux_func

The name of a VFUNCTION namelist defining a function that gives the heat flux for an “oriented-flux” boundary condition. The function is expected to be a 3-vector function of \((t,x,y,z)\).

Type:

string

Default:

none

htc

The constant value of the heat transfer coefficient for “htc” or “interface-htc” type boundary conditions. To specify a function, use htc_func instead.

Type:

real

Default:

none

htc_func

The name of a FUNCTION namelist defining a function that gives the heat transfer coefficient for “htc” or “interface-htc” type boundary conditions. The function is expected to be a function of \((t,x,y,z)\) for an “htc” condition, and a function of \((T,t,x,y,z)\) for an “interface-htc” condition. In the latter case \(T\) is taken to be the maximum of the two temperatures on either side of the interface.

Type:

string

Default:

none

ambient_temp

The constant value of the ambient temperature for “htc” or “radiation” type boundary conditions. To specify a function, use ambient_temp_func instead.

Type:

real

Default:

none

ambient_temp_func

The name of a FUNCTION namelist defining a function that gives the ambient temperature for “htc” or “radiation” type boundary boundary conditions. The function is expected to be a function of \((t,x,y,z)\).

Type:

string

Default:

none

absorptivity

The constant value of absorptivity for the “oriented-flux” type boundary condition. To specify a function, use absorptivity_func instead.

Type:

real

Default:

none

Valid values:

\([0.0,1.0]\)

absorptivity_func

The name of a FUNCTION namelist defining a function that gives the absorptivity for the “oriented-flux” type boundary condition. This is expected to be a function of temperature \(T\) alone.

Type:

string

Default:

none

emissivity

The constant value of emissivity for a “radiation” or “gap-radiation” type boundary condition. To specify a function, use emissivity_func instead.

Type:

real

Default:

none

Valid values:

\([0.0,1.0]\)

emissivity_func

The name of a FUNCTION namelist defining a function that gives the emissivity for a “radiation” or “gap-radiation” type boundary condition. The function is expected to be a function of \((T,t,x,y,z).\) For a “gap-radiation” condition \(T\) is taken to be the maximum of the two temperatures on either side of the interface.

Type:

string

Default:

none