This process simulates transient heat conduction to model temperature distribution and heat flow.
It supports various thermal material models and can handle both steady-state and transient heat conduction problems with temperature-dependent properties.
The major features of this process are:
The process handles both Dirichlet and Neumann boundary conditions and can account for various heat sources and material interfaces.
The heat conduction process solves the transient heat equation in strong form:
$$ \rho c_p \frac{\partial T}{\partial t} = \nabla \cdot (\boldsymbol{\lambda} \nabla T) + Q, $$where:
The heat flux vector is defined by Fourier’s law:
$$ \mathbf{q} = -\boldsymbol{\lambda} \nabla T, $$where $\mathbf{q}$ is the heat flux vector [M·T⁻³].
The heat equation is discretized using the finite element method, resulting in:
$$ \mathbf{M} \frac{d T}{dt} + \mathbf{K} T = \mathbf{f}, $$where the element matrices are defined as follows.
The element storage matrix $\mathbf{M}_e$ [M·L⁻¹·Θ⁻¹] represents the heat capacity:
$$ \mathbf{M}_e = \int_{\Omega^e} \mathbf{N}^T \rho c_p \mathbf{N} d\Omega, $$where $\mathbf{N}$ is the shape function matrix.
The element conductivity matrix $\mathbf{K}_e$ [M·L·T⁻³·Θ⁻¹] represents the thermal diffusion:
$$ \mathbf{K}_e = \int_{\Omega^e} (\nabla \mathbf{N})^T \boldsymbol{\lambda} \nabla \mathbf{N} d\Omega, $$where $\nabla \mathbf{N}$ is the gradient of shape functions.
The load vector $\mathbf{f}_e$ [M·L·T⁻³] includes heat sources and boundary fluxes:
$$ \mathbf{f}_e = \int_{\Omega^e} \mathbf{N}^T Q d\Omega + \int_{\Gamma^e} \mathbf{N}^T q_n d\Gamma, $$where:
The heat conduction process has to be declared in the project file in the processes block. For example in following way:
<process>
<name>HeatConduction</name>
<type>HEAT_CONDUCTION</type>
<integration_order>2</integration_order>
<linear>true</linear>
<mass_lumping>false</mass_lumping>
<process_variables>
<process_variable>temperature</process_variable>
</process_variables>
<secondary_variables>
<secondary_variable name="heat_flux"/>
</secondary_variables>
</process>For more detailed description of tags used in this snippet, please see Processes.
The heat conduction process requires a single scalar temperature process variable. For more details, see Process variables.
The heat conduction process requires properties for the medium only.
Required medium property
| Property name | Units | SI | Notes |
|---|---|---|---|
thermal_conductivity |
M·L·T⁻³·Θ⁻¹ | W·m⁻¹·K⁻¹ | Thermal conductivity of the material |
specific_heat_capacity |
L²·T⁻²·Θ⁻¹ | J·kg⁻¹·K⁻¹ | Specific heat capacity at constant pressure |
density |
M·L⁻³ | kg·m⁻³ | Mass density of the material |
See medium properties for more details on defining them.
Mass lumping can be enabled to improve numerical stability for transient problems:
<mass_lumping>true</mass_lumping>The process supports linear solver optimizations for improved performance when solving linear problems:
<linear>true</linear>
<linear_solver_compute_only_upon_timestep_change>false</linear_solver_compute_only_upon_timestep_change>The heat conduction process supports various source term types including:
To gain more insight into this process, you can investigate heat conduction benchmarks.
This article was written by Dmitri Naumov. If you are missing something or you find an error please let us know.
Generated with Hugo 0.147.9
in CI job 683680
|
Last revision: December 20, 2025
Commit: chore: fix spelling mistakes fbc5f730
| Edit this page on