Skip to content

Solid Temperature Model

Introduction

The solid temperature model describes the temporal evolution of temperature in a solid due to thermal conduction in the presence of internal heat sources. It also supports heat exchange at the solid boundaries through convection and radiation. The governing transient heat equation is $$ \begin{align} \rho c_p \frac{\partial T}{\partial t} - \nabla \cdot (\kappa \nabla T) = Q. \end{align} $$

  • \(T\) - temperature [K]
  • \(\rho\) - material density [kg/m\(^3\)]
  • \(c_p\) - specific heat capacity [J/(kg K)]
  • \(\kappa\) - thermal conductivity [W/(m K)]
  • \(Q\) - volumetric heat power density [W/m\(^3\)]

Model

The model can be created and added to the simulation using

solid_thermal_model = SolidTemperatureModel(
    marker=["Plate"] @ Vol,
    order=1,
)

sim.get_model_manager().add_model(solid_thermal_model)

where - marker determines where the domain on which the model is solved - order the model order

Materials

In general, the material parameters \(\rho\), \(c_p\), and \(k\) in Eq. (1) may vary spatially, be direction-dependent, or depend on other physical quantities. These dependencies can be defined through material functions, which can be specified using analytical expressions, tabulated data, or numerical models. Details are provided in Solid Temperature Material.

Table 1: General Material Example
materials
Example of a silicon plate.
Silicon
The silocon plate has following properties $$ \begin{alignat*}{2} \kappa &= 111 \quad &\left[ \rm{W} / (\rm{m} \cdot \rm{K}) \right] \\ c_p &= 668 &\left[ \rm{J} / (\rm{kg} \cdot \rm{K}) \right] \\ \rho &= 2330 &\left[ \rm{kg} / \rm{m}^3 \right] \end{alignat*} $$ we can create the material using:

silicon_material = SolidTemperatureMaterial(
    name="Silicon",
    marker="Plate" @ Vol,
    thermal_conductivity=111.0,
    specific_heat_capacity=668.0,
    density=2330,
)

Note that once created the materials need to be added to the model

solid_thermal_model.add_material(silicon_material)

Conditions

List of supported conditions
Name Supported Entities Description
Adiabatic Boundary Enforces zero normal heat flux (perfect thermal insulation, no heat transfer).
Convection Boundary Models heat exchange with a surrounding fluid using Newton’s cooling law.
Heat Flux Boundary Prescribes the normal heat flux across the boundary (including zero-flux case).
Radiation Boundary Models radiative heat transfer between the surface and its surroundings.
Temperature Volume, Boundary Prescribes a fixed temperature in within a volume or on a boundary (Dirichlet condition).
Volumetric Heat Source Volume Defines internal heat generation within the material domain.

Coefficients

The following functions are available in the solid temperature model for visualization or querying:

List of functions
Name Field Type Description
Temperature Scalar Temperature: $T$ [K]
Density Scalar Material density: $\rho$ [kg/m$^3$]
Specific Heat Capacity Scalar Specific heat capacity: $c_p$ [J/(kg K)]
Thermal Conductivity Scalar Thermal Conductivity: $\kappa$ [W/(m K)]

Solver

The model exposes a solver instance used to configure convergence and damping.

The solver can be obtained and configured using

solver = model.get_solver()
solver.set_verbose(True)
solver.set_urf_factor(0.7)

See Solver for more details.