HeatTransferPDEComponent[vars,pars]
yields a heat transfer PDE term with variables vars and parameters pars.
HeatTransferPDEComponent
HeatTransferPDEComponent[vars,pars]
yields a heat transfer PDE term with variables vars and parameters pars.
Details
- HeatTransferPDEComponent returns a sum of differential operators to be used as a part of partial differential equations:
- HeatTransferPDEComponent models the generation and propagation of thermal energy in physical systems by mechanisms such as convection, conduction and radiation.
- HeatTransferPDEComponent models heat transfer phenomena with dependent variable temperature
in [
], independent variables
in [
] and time variable
in [
]. - Stationary variables vars are vars={Θ[x1,…,xn],{x1,…,xn}}.
- Time-dependent variables vars are vars={Θ[t,x1,…,xn],t,{x1,…,xn}}.
- The non-conservative time-dependent heat transfer model HeatTransferPDEComponent is based on a convection-diffusion model with mass density
, specific heat capacity
, thermal conductivity
, convection velocity vector
and heat source
: - The non-conservative stationary heat transfer PDE term is given by:
- The implicit default boundary condition for the non-conservative model is a HeatOutflowValue.
- The difference between the non-conservative model and the conservative model is the treatment of a convection velocity
. - The units of the heat transfer model terms are in [
], or equivalently in [
]. - The following parameters pars can be given:
-
parameter default symbol "HeatConvectionVelocity" {0,…}
, flow velocity [
]"HeatSource" 0
, heat source [
]"MassDensity" 1
, density [
]"Material" Automatic 
"ModelForm" "NonConservative" none "RegionSymmetry" None 
"SpecificHeatCapacity" 1
, specific heat capacity [
]"ThermalConductivity" IdentityMatrix
, thermal conductivity [![TemplateBox[{InterpretationBox[, 1], {"W", , "/(", , "m", , "K", , ")"}, watts per meter kelvin, {{(, "Watts", )}, /, {(, {"Meters", , "Kelvins"}, )}}}, QuantityTF] TemplateBox[{InterpretationBox[, 1], {"W", , "/(", , "m", , "K", , ")"}, watts per meter kelvin, {{(, "Watts", )}, /, {(, {"Meters", , "Kelvins"}, )}}}, QuantityTF]](Files/HeatTransferPDEComponent.en/30.png)
-
parameter default symbol "CrossSectionalArea" 1
, cross-sectional area in [
] "HeatConvectionVelocity" {0,…}
, flow velocity [
]"HeatSource" 0
, heat source [
]"MassDensity" 1
, density [
]"Material" Automatic 
"ModelForm" "NonConservative" none "RegionSymmetry" None 
"Thickness" 1
, thickness in [
] "SpecificHeatCapacity" 1
, specific heat capacity [
]"ThermalConductivity" IdentityMatrix
, thermal conductivity [![TemplateBox[{InterpretationBox[, 1], {"W", , "/(", , "m", , "K", , ")"}, watts per meter kelvin, {{(, "Watts", )}, /, {(, {"Meters", , "Kelvins"}, )}}}, QuantityTF] TemplateBox[{InterpretationBox[, 1], {"W", , "/(", , "m", , "K", , ")"}, watts per meter kelvin, {{(, "Watts", )}, /, {(, {"Meters", , "Kelvins"}, )}}}, QuantityTF]](Files/HeatTransferPDEComponent.en/46.png)
- All parameters may depend on any of
,
and
, as well as other dependent variables. - The number of independent variables
determines the dimensions of
and the length of
. - Sometimes the heat equation is specified with a thermal diffusivity. The thermal diffusivity is the thermal conductivity divided by the density and the specific heat capacity at constant pressure.
- The thermal convection velocity specifies the velocity
with which a fluid transports heat. If no fluid is present, the thermal convection velocity is 0. - A heat source
models thermal energy that is introduced (positive) or removed (negative) from the system. - A possible choice for the parameter "RegionSymmetry" is "Axisymmetric".
- "Axisymmetric" region symmetry represents a truncated cylindrical coordinate system where the cylindrical coordinates are reduced by removing the angle variable as follows:
-
dimension reduction equation 1D 

2D 

- The input specification for the parameters is exactly the same as for their corresponding operator terms.
- Coupled equations can be generated with the same input specification as with the corresponding operator terms.
- If no parameters are specified, the default heat transfer PDE is:
- If the HeatTransferPDEComponent depends on parameters
that are specified in the association pars as …,keypi…,pivi,…, the parameters
are replaced with
.
Examples
open all close allBasic Examples (3)
Define a time-independent heat transfer model:
HeatTransferPDEComponent[{Θ[x], {x}}, <||>]Define a time-dependent heat transfer model:
HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <||>]Set up a time-dependent heat transfer model with particular material parameters:
HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> {{κ}}|>]Scope (10)
Basic Uses (5)
Set up a time-dependent heat transfer model for a particular material:
HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"Material" -> ["Tungston"]|>]Set up a time-dependent heat transfer model for several material regions:
HeatTransferPDEComponent[{Θ[t, x, y], t, {x, y}}, <|"Material" -> {{y ≤ 1, ["Tungston"]}, {y > 1, ["Titanium"]}}|>]vars = {Θ[x, y], {x, y}};
pars = <|"Thickness" -> d, "ThermalConductivity" -> k, "HeatSource" -> Q, "HeatConvectionVelocity" -> {vx, vy}|>;
HeatTransferPDEComponent[vars, pars]Add a "CrossSectionalArea" parameter for a 1D model:
vars = {Θ[x], {x}};
pars = <|"CrossSectionalArea" -> A, "ThermalConductivity" -> k, "HeatSource" -> Q, "HeatConvectionVelocity" -> {vx}|>;
HeatTransferPDEComponent[vars, pars]Add a "Thickness" parameter for a 1D axisymmetric region model:
vars = {Θ[r], {r}};
pars = <|"Thickness" -> d, "RegionSymmetry" -> "Axisymmetric", "ThermalConductivity" -> k, "HeatSource" -> Q, "HeatConvectionVelocity" -> {vr}|>;
HeatTransferPDEComponent[vars, pars]1D (1)
Model a temperature field with two heat conditions at the sides:
Set up the heat transfer model variables
:
vars = {Θ[x], {x}};Ω = Line[{{0}, {1}}];Specify heat transfer model parameter thermal conductivity
:
pars = <|"ThermalConductivity" -> 0.026|>;Specify heat surface conditions:
Subscript[Γ, Θ] = {HeatTemperatureCondition[x == 0, vars, pars, <|"SurfaceTemperature" -> 0|>], HeatTemperatureCondition[x == 1, vars, pars, <|"SurfaceTemperature" -> 1|>]}eqn = HeatTransferPDEComponent[vars, pars] == 0Tfun = NDSolveValue[{eqn, Subscript[Γ, Θ]}, Θ, x∈Ω];Plot[Tfun[x], {x}∈Ω]2D (1)
Model a ceramic strip that is embedded in a high-thermal-conductive material. The side boundaries of the strip are maintained at a constant temperature
. The top surface of the strip is losing heat via both heat convection and heat radiation to the ambient environment at
. The bottom boundary is assumed to be thermally insulated:
Model a temperature field and the thermal radiation and thermal transfer with:
Set up the heat transfer model variables
:
vars = {Θ[x, y], {x, y}};Set up a rectangular domain with a width of
and a height of
:
Ω = Rectangle[{0, 0}, {0.02, 0.01}];Specify thermal conductivity
:
pars = <|"ThermalConductivity" -> 3|>;Set up temperature surface boundary conditions
at the left and right boundaries:
Subscript[Γ, temp] = HeatTemperatureCondition[x == 0 || x == 0.02, vars, pars, <|"SurfaceTemperature" -> 1173|>]Set up a heat transfer boundary condition on the top surface:
Subscript[Γ, convective] = HeatTransferValue[y == 0.01, vars, pars, <|"AmbientTemperature" -> 323, "HeatTransferCoefficient" -> 50|>]Also set up a thermal radiation boundary condition on the top surface:
Subscript[Γ, radiation] = HeatRadiationValue[y == 0.01, vars, pars, <|"AmbientTemperature" -> 323.|>]eqn = {HeatTransferPDEComponent[vars, pars] == Subscript[Γ, convective] + Subscript[Γ, radiation], Subscript[Γ, temp]}Tfun = NDSolveValue[eqn, Θ, {x, y}∈Ω];Legended[ContourPlot[Tfun[x, y], {x, y}∈Ω, ...], BarLegend[...]]3D (1)
Model a temperature field with two heat conditions at the sides and an orthotropic thermal conductivity
:
Set up the heat transfer model variables
:
vars = {Θ[x, y, z], {x, y, z}};Ω = Cuboid[];Specify an orthotropic thermal conductivity
:
pars = <|"ThermalConductivity" -> {{1, 0, 0}, {0, 5, 0}, {0, 0, 10}}|>;Specify heat surface conditions:
heatConditions = {HeatTemperatureCondition[x ≤ 1 / 4, vars, pars, <|"SurfaceTemperature" -> 0|>], HeatTemperatureCondition[x ≥ 3 / 4, vars, pars, <|"SurfaceTemperature" -> 1|>]}Set up the equation with a thermal heat flux
of
applied at the left end for the first 300 seconds:
eqn = HeatTransferPDEComponent[vars, pars] == 0Tfun = NDSolveValue[{eqn, heatConditions}, Θ, {x, y, z}∈Ω];SliceContourPlot3D[Tfun[x, y, z], {...}, {x, y, z}∈Ω]Time Dependent (1)
Model a temperature field and a thermal heat flux through part of the boundary with:
Set up the heat transfer model variables
:
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];Specify heat transfer model parameters mass density
, specific heat capacity
and thermal conductivity
:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026|>;Specify a thermal heat flux
of
applied at the left end for the first 300 seconds:
pars["HeatFlux"] = Piecewise[{{3, t ≤ 300}, {0, t > 300}}];ics = Θ[0, x] == 0;Set up the equation with a thermal heat flux
of
applied at the left end for the first 300 seconds:
eqn = HeatTransferPDEComponent[vars, pars] ==
HeatFluxValue[x == 0, vars, pars]Tfun = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];Manipulate[Show[Plot[Tfun[t, x], {x, -0.06, 0.2}, ...], Graphics[...]], {{t, 160}, 0, 600, 20}, Rule[...]]Time-Dependent Nonlinear (1)
Model a temperature field with a nonlinear heat conductivity term with:
Set up the heat transfer model variables
:
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];Specify heat transfer model parameters mass density
, specific heat capacity
and a nonlinear thermal conductivity
:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> {{0.026 + 10 ^ -2Θ[t, x] }}|>;Specify a thermal heat flux
of
applied at the left end for the first 300 seconds:
pars["HeatFlux"] = Piecewise[{{3, t ≤ 300}, {0, t > 300}}];ics = Θ[0, x] == 0;Set up the equation with a thermal heat flux
of
applied at the left end for the first 300 seconds:
eqn = HeatTransferPDEComponent[vars, pars] ==
HeatFluxValue[x == 0, vars, pars]TfunNonlinear = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];Solve a linear version of the PDE:
parsLinear = pars;
parsLinear["ThermalConductivity"] = 0.026;
TfunLinear = NDSolveValue[{HeatTransferPDEComponent[vars, parsLinear] ==
HeatFluxValue[x == 0, vars, parsLinear], ics}, Θ, {t, 0, 600}, x∈Ω];Manipulate[Show[Plot[{TfunNonlinear[t, x], TfunLinear[t, x]}, {x, -0.06, 0.2}, ...], Graphics[...]], {{t, 200}, 0, 600, 20}, Rule[...]]Applications (8)
Model a temperature field with a heat source in a rod:
vars = {Θ[x], {x}};
pars = <|"ThermalConductivity" -> 0.026, "HeatSource" -> 1|>;
Ω = Line[{{0}, {1}}];
eqn = HeatTransferPDEComponent[vars, pars] == 0Tfun = NDSolveValue[{eqn, HeatTemperatureCondition[x == 0, vars, pars, <|"SurfaceTemperature" -> 0|>]}, Θ, x∈Ω];Plot[Tfun[x], {x}∈Ω]Boundary Conditions (5)
Compute the temperature field with model variables
and parameters
with a thermal surface
of
at the left boundary:
vars = {Θ[t, x], t, {x}};
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "SurfaceTemperature" -> Sin[π t / 300]|>;eqn = {HeatTransferPDEComponent[vars, pars] == 0, HeatTemperatureCondition[x == 0, vars, pars]}Tfun = NDSolveValue[{eqn, Θ[0, x] == 0}, Θ, {t, 0, 600}, x∈Line[{{0}, {1 / 5}}]];Visualize the solution and note the sinusoidal temperature change on the left:
Manipulate[Plot[Tfun[t, x], {x, 0, 1 / 5}, ...], {{t, 320}, 0, 600, 20}, Rule[...]]Compute the temperature field with model variables
parameters
:
vars = {Θ[t, x], t, {x}};
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "HeatConvectionVelocity" -> {0.01}|>;Set up the equation with a thermal outflow boundary at the right end:
eqn = HeatTransferPDEComponent[vars, pars] ==
HeatOutflowValue[x == 1 / 5, vars, pars]Define the initial temperature field:
ics = Θ[0, x] == D[0.2 Erf[(x - 0.1) / 0.025], x];Tfun = NDSolveValue[{eqn, ics}, Θ, {t, 0, 15}, x∈Line[{{0}, {1 / 5}}]];Visualize the solution and note how the energy leaves the domain through the thermal outflow boundary on the right:
Manipulate[Plot[Tfun[t, x], {x, 0, 1 / 5}, ...], {{t, 8}, 0, 15, 1 / 2}, Rule[...]]Model a temperature field and a thermal radiation boundary with:
Set up the heat transfer model variables
:
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];Specify heat transfer model parameters mass density
, specific heat capacity
and thermal conductivity
:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "ReferenceTemperature" -> -273.15|>;Specify boundary condition parameters with a constant ambient temperature
of
and a surface emissivity
of
:
pars["BC1"] = <|"Emissivity" -> 0.2, "AmbientTemperature" -> -25|>;eqn = HeatTransferPDEComponent[vars, pars] == HeatRadiationValue[x == 0, vars, pars, "BC1"]ics = Θ[0, x] == 0;Tfun = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];Manipulate[Plot[Tfun[t, x], {x}∈Ω, ...], {{t, 180}, 0, 600, 20}, Rule[...]]Model a temperature field with heat transfer boundary:
Set up the heat transfer model variables
:
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];Specify heat transfer model parameters mass density
, specific heat capacity
and thermal conductivity
:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "ReferenceTemperature" -> -273.15|>;Specify boundary condition parameters with an external flow temperature
of
and a heat transfer coefficient
of
:
pars["BC1"] = <|"HeatTransferCoefficient" -> 5, "AmbientTemperature" -> 10|>;eqn = HeatTransferPDEComponent[vars, pars] == HeatTransferValue[x == 0, vars, pars, "BC1"]ics = Θ[0, x] == 0;Tfun = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];Manipulate[Plot[Tfun[t, x], {x}∈Ω, ...], {{t, 160}, 0, 600, 20}, Rule[...]]Model a temperature field and a thermal insulation and a thermal heat flux boundary with:
Set up the heat transfer model variables
:
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];Specify heat transfer model parameters mass density
, specific heat capacity
and thermal conductivity
:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026|>;Specify boundary condition parameters for a heat flux
of
:
pars["BC1"] = <|"HeatFlux" -> 3|>;eqn = HeatTransferPDEComponent[vars, pars] ==
HeatInsulationValue[x == 0, vars, pars] + HeatFluxValue[x == 1 / 5, vars, pars, "BC1"]ics = Θ[0, x] == 0;Tfun = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];Manipulate[Plot[Tfun[t, x], {x}∈Ω, ...], {{t, 140}, 0, 600, 20}, Rule[...]]Coupled Equations (2)
Solve a coupled heat and mass transport model:
Set up the heat transfer mass transport model variables
:
hvars = {Θ[t, x], t, {x}};
mvars = {c[t, x], t, {x}};Ω = Line[{{0}, {1}}];Specify heat transfer and mass transport model parameters, heat source
, thermal conductivity
, mass diffusivity
and mass source
:
pars = <|"ThermalConductivity" -> 0.01, "HeatSource" -> 0.2 * R, "DiffusionCoefficient" -> 0.01, "MassSource" -> R, R -> -10 ^ -3 * Θ[t, x] * c[t, x]|>;Set up the model and initial conditions:
eqn = {HeatTransferPDEComponent[hvars, pars] == 0, MassTransportPDEComponent[mvars, pars] == 0}ics = {Θ[0, x] == 200 + 800x, c[0, x] == 800};{Tfun, cfun} = NDSolveValue[{eqn, ics}, {Θ, c}, {t, 0, 10}, {x}∈Ω];Manipulate[Plot[{cfun[t, x], Tfun[t, x]}, {x}∈Ω, ...], {{t, 1.3}, 0, 10}, Rule[...]]Solve a coupled heat transfer and mass transport model with a thermal transfer value and a mass flux value on the boundary:
Set up the heat transfer mass transport model variables
:
hvars = {Θ[t, x], t, {x}};
mvars = {c[t, x], t, {x}};Ω = Line[{{0}, {1}}];Specify heat transfer and mass transport model parameters, heat source
, thermal conductivity
, mass diffusivity
and mass source
:
pars = <|"ThermalConductivity" -> 0.01, "HeatSource" -> 0.2 * R, "DiffusionCoefficient" -> 0.01, "MassSource" -> R, R -> -10 ^ -3 * Θ[t, x] * c[t, x]|>;Specify boundary condition parameters for a thermal convection value with an external flow temperature
of 1000 K and a heat transfer coefficient
of
:
pars["BC1"] = <|"AmbientTemperature" -> 1000, "HeatTransferCoefficient" -> 0.1|>;eqn = {HeatTransferPDEComponent[hvars, pars] == HeatTransferValue[x == 1, hvars, pars, "BC1"], MassTransportPDEComponent[mvars, pars] == NeumannValue[20, x == 0 || x == 1]}ics = {Θ[0, x] == 200 + 800x, c[0, x] == 800};{Tfun, cfun} = NDSolveValue[{eqn, ics}, {Θ, c}, {t, 0, 10}, {x, 0, 1}];Manipulate[Plot[{cfun[t, x], Tfun[t, x]}, {x}∈Ω, ...], {{t, 1.7}, 0, 10}, Rule[...]]Possible Issues (1)
For symbolic computation, the "ThermalConductivity" parameter should be given as a matrix:
HeatTransferPDEComponent[{Θ[x, y], {x, y}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> {{Subscript[κ, 11], 0}, {0, Subscript[κ, 12]}}|>]//ActivateFor numeric values, the "ThermalConductivity" parameter is automatically converted to a matrix of proper dimensions:
HeatTransferPDEComponent[{Θ[x, y], {x, y}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> 1|>]This automatic conversion is not possible for symbolic input:
HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> κ|>]Not providing the properly dimensioned matrix will result in an error:
%//ActivateTech Notes
Related Guides
Text
Wolfram Research (2020), HeatTransferPDEComponent, Wolfram Language function, https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html (updated 2026).
CMS
Wolfram Language. 2020. "HeatTransferPDEComponent." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html.
APA
Wolfram Language. (2020). HeatTransferPDEComponent. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html
BibTeX
@misc{reference.wolfram_2026_heattransferpdecomponent, author="Wolfram Research", title="{HeatTransferPDEComponent}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_heattransferpdecomponent, organization={Wolfram Research}, title={HeatTransferPDEComponent}, year={2026}, url={https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html}, note=[Accessed: 12-June-2026]}

