HeatTransferPDEComponent[vars,pars]
モデル変数が vars でモデルパラメータが pars の熱移動PDE項を与える.
HeatTransferPDEComponent
HeatTransferPDEComponent[vars,pars]
モデル変数が vars でモデルパラメータが pars の熱移動PDE項を与える.
詳細
- HeatTransferPDEComponentは,微分方程式の一部として使われる微分演算子の和を返す.
- HeatTransferPDEComponentは,物理系における,対流,伝導,放射等のメカニズムによる,熱エネルギーの生成と伝播をモデル化する.
- HeatTransferPDEComponentは,熱移動現象を,従属変数温度
(単位:[
]),独立変数
(単位: [
]),時間変数
(単位:[
])でモデル化する. - 定常変数 vars は vars={Θ[x1,…,xn],{x1,…,xn}}である.
- 時間依存変数 vars は vars={Θ[t,x1,…,xn],t,{x1,…,xn}}である.
- 非保存型時間依存熱移動PDE HeatTransferPDEComponentは,質量密度
,比熱容量
,熱移動率
,対流速度ベクトル
,熱源
の対流拡散項に基づいている. - 非保存型定常熱移動モデルは以下で与えられる.
- 非保存型モデルについての陰的デフォルト境界条件はHeatOutflowValueである:
- 非保存型モデルと保存型モデルの違いは対流速度
の扱いである. - 熱移動モデル項の単位は[
],つまり,[
]と同等である. - 次のパラメータ pars が使用できる.
-
パラメータ デフォルト シンボル "HeatConvectionVelocity" {0,…}
(流速,単位:[
])"HeatSource" 0
(熱源,単位:[
])"MassDensity" 1
(密度,単位:[
])"Material" Automatic 
"ModelForm" "NonConservative" なし "RegionSymmetry" None 
"SpecificHeatCapacity" 1
(熱容量,単位:
])"ThermalConductivity" IdentityMatrix
(熱伝導率,単位: [
]) -
パラメータ デフォルト シンボル "CrossSectionalArea" 1
,断面積(単位:[
])"HeatConvectionVelocity" {0,…}
,流速(単位:[
])"HeatSource" 0
,熱源(単位:[
])"MassDensity" 1
,密度(単位:[
])"Material" Automatic 
"ModelForm" "NonConservative" なし "RegionSymmetry" None 
"Thickness" 1
,厚み(単位:[
])"SpecificHeatCapacity" 1
,比熱容量(単位:[
])"ThermalConductivity" IdentityMatrix
,熱伝導率(単位:[
) - パラメータはどれも,任意の
,
,
およびその他の従属変数に依存する可能性がある. - 独立変数の数
は
の次元と
の長さを決定する. - 時に熱伝導方程式が熱拡散率で指定されることがある.熱拡散率は熱伝導率を密度と定圧での比熱容量で割ったものである.
- 熱対流速度は,液体が熱を運ぶ速度
を指定する.液体がない場合は,熱対流速度は0である. - 熱源
は,系に取り入れられる(正の)あるいは系から取り除かれる(負の)熱エネルギーをモデル化する. - パラメータ"RegionSymmetry"の可能な選択肢には"Axisymmetric"がある.
- "Axisymmetric"領域対称性は,以下のように角度変数を削除することで円柱座標が縮小された切り取られた円柱座標系を表す.
-
次元 縮小 方程式 1D 

2D 

- パラメータの入力指定は対応する演算子項と全く同じである.
- 結合方程式は対応する演算子形と同じ入力指定で生成できる.
- パラメータが指定されていない場合のデフォルトの熱移動PDEは以下になる.
- HeatTransferPDEComponentが…,keypi…,pivi,…のような連想 pars で指定されるパラメータ
に依存する場合は,パラメータ
は
で置換される.
例題
すべて開く すべて閉じる例 (3)
HeatTransferPDEComponent[{Θ[x], {x}}, <||>]HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <||>]HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> {{κ}}|>]スコープ (10)
基本的な用法 (5)
HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"Material" -> ["Tungston"]|>]いくつかの材料領域について時間依存熱意同意モデルを設定する:
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]1Dモデルに"CrossSectionalArea"パラメータを加える:
vars = {Θ[x], {x}};
pars = <|"CrossSectionalArea" -> A, "ThermalConductivity" -> k, "HeatSource" -> Q, "HeatConvectionVelocity" -> {vx}|>;
HeatTransferPDEComponent[vars, pars]1D軸対称領域モデルに"Thickness"パラメータを加える:
vars = {Θ[r], {r}};
pars = <|"Thickness" -> d, "RegionSymmetry" -> "Axisymmetric", "ThermalConductivity" -> k, "HeatSource" -> Q, "HeatConvectionVelocity" -> {vr}|>;
HeatTransferPDEComponent[vars, pars]1D (1)
vars = {Θ[x], {x}};Ω = Line[{{0}, {1}}];pars = <|"ThermalConductivity" -> 0.026|>;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)
高熱伝導材に埋め込まれたセラミック片をモデル化する.セラミック片の側面境界は一定の温度
で保たれている.セラミック片の天面は熱対流と熱放射の両方で周辺温度
になるまで熱を失う.底面は断熱されていると考えられる:
vars = {Θ[x, y], {x, y}};Ω = Rectangle[{0, 0}, {0.02, 0.01}];pars = <|"ThermalConductivity" -> 3|>;左右の境界に熱面境界条件
を設定する:
Subscript[Γ, temp] = HeatTemperatureCondition[x == 0 || x == 0.02, vars, pars, <|"SurfaceTemperature" -> 1173|>]天面に熱移動境界条件を設定する:
Subscript[Γ, convective] = HeatTransferValue[y == 0.01, vars, pars, <|"AmbientTemperature" -> 323, "HeatTransferCoefficient" -> 50|>]天面に熱放射境界条件も設定する:
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)
両側に2つの熱条件があり直交異方性熱伝導率
である温度場をモデル化する:
vars = {Θ[x, y, z], {x, y, z}};Ω = Cuboid[];直交異方性熱伝導率
を指定する:
pars = <|"ThermalConductivity" -> {{1, 0, 0}, {0, 5, 0}, {0, 0, 10}}|>;heatConditions = {HeatTemperatureCondition[x ≤ 1 / 4, vars, pars, <|"SurfaceTemperature" -> 0|>], HeatTemperatureCondition[x ≥ 3 / 4, vars, pars, <|"SurfaceTemperature" -> 1|>]}最初の300秒間
の熱流束
が左端に適用される方程式を設定する:
eqn = HeatTransferPDEComponent[vars, pars] == 0Tfun = NDSolveValue[{eqn, heatConditions}, Θ, {x, y, z}∈Ω];SliceContourPlot3D[Tfun[x, y, z], {...}, {x, y, z}∈Ω]時間依存 (1)
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];熱移動モデルパラメータ質量密度
,比熱容量
,熱伝導率
を指定する:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026|>;pars["HeatFlux"] = Piecewise[{{3, t ≤ 300}, {0, t > 300}}];ics = Θ[0, x] == 0;最初の300秒間左端に適用される
の熱流束
で方程式を設定する:
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[...]]非線形時間依存 (1)
vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];熱移動モデルパラメータ質量密度
,比熱容量
,非線形熱伝導率
を指定する:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> {{0.026 + 10 ^ -2Θ[t, x] }}|>;pars["HeatFlux"] = Piecewise[{{3, t ≤ 300}, {0, t > 300}}];ics = Θ[0, x] == 0;最初の300秒間左端に適用される
の熱流束
で方程式を設定する:
eqn = HeatTransferPDEComponent[vars, pars] ==
HeatFluxValue[x == 0, vars, pars]TfunNonlinear = NDSolveValue[{eqn, ics}, Θ, {t, 0, 600}, x∈Ω];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[...]]アプリケーション (8)
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}∈Ω]境界条件 (5)
温度場をモデル変数
とパラメータ
で計算する.左境界に
の熱表面
があるものとする:
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}}]];Manipulate[Plot[Tfun[t, x], {x, 0, 1 / 5}, ...], {{t, 320}, 0, 600, 20}, Rule[...]]vars = {Θ[t, x], t, {x}};
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "HeatConvectionVelocity" -> {0.01}|>;eqn = HeatTransferPDEComponent[vars, pars] ==
HeatOutflowValue[x == 1 / 5, vars, pars]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}}]];解を可視化して右側の熱流出境界を通ってエネルギーがどのように領域を出るかに注目する:
Manipulate[Plot[Tfun[t, x], {x, 0, 1 / 5}, ...], {{t, 8}, 0, 15, 1 / 2}, Rule[...]]vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];熱移動モデルのパラメータ質量密度
,比熱容量
,熱伝導率
を設定する:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "ReferenceTemperature" -> -273.15|>;一定の周囲温度
を![]()
,表面放射率
を
として境界条件パラメータを指定する:
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[...]]vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];熱移動モデルのパラメータ質量密度
,比熱容量
,熱伝導率
を指定する:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026, "ReferenceTemperature" -> -273.15|>;外部の流動温度
を![]()
,熱移動係数
を
として境界条件パラメータを指定する:
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[...]]vars = {Θ[t, x], t, {x}};Ω = Line[{{0}, {1 / 5}}];熱移動モデルパラメータ質量密度
,比熱容量
,熱伝導率
を指定する:
pars = <|"MassDensity" -> 1.2, "SpecificHeatCapacity" -> 1006.14, "ThermalConductivity" -> 0.026|>;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[...]]連立方程式 (2)
hvars = {Θ[t, x], t, {x}};
mvars = {c[t, x], t, {x}};Ω = Line[{{0}, {1}}];熱移動と物質移動のモデルパラメータ,熱源
,熱伝導率
,質量拡散率
,物質源
を指定する:
pars = <|"ThermalConductivity" -> 0.01, "HeatSource" -> 0.2 * R, "DiffusionCoefficient" -> 0.01, "MassSource" -> R, R -> -10 ^ -3 * Θ[t, x] * c[t, x]|>;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[...]]境界に熱移動値と質量流束値を使用して熱移動と物質移動の結合モデルを解く:
hvars = {Θ[t, x], t, {x}};
mvars = {c[t, x], t, {x}};Ω = Line[{{0}, {1}}];熱移動と物質移動のモデルパラメータ,熱源
,熱伝導率
,質量拡散率
,物質源
を指定する:
pars = <|"ThermalConductivity" -> 0.01, "HeatSource" -> 0.2 * R, "DiffusionCoefficient" -> 0.01, "MassSource" -> R, R -> -10 ^ -3 * Θ[t, x] * c[t, x]|>;外部流動温度
が1000K,熱移動係数が
が
で,熱対流値についての境界条件パラメータを指定する:
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[...]]考えられる問題 (1)
記号計算については,"ThermalConductivity"パラメータを行列として与えなければならない:
HeatTransferPDEComponent[{Θ[x, y], {x, y}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> {{Subscript[κ, 11], 0}, {0, Subscript[κ, 12]}}|>]//Activate数値計算の場合は,"ThermalConductivity"パラメータは適切な次元の行列に自動的に変換される:
HeatTransferPDEComponent[{Θ[x, y], {x, y}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> 1|>]HeatTransferPDEComponent[{Θ[t, x], t, {x}}, <|"MassDensity" -> ρ, "SpecificHeatCapacity" -> Subscript[C, p], "ThermalConductivity" -> κ|>]%//Activate関連するガイド
テキスト
Wolfram Research (2020), HeatTransferPDEComponent, Wolfram言語関数, https://reference.wolfram.com/language/ref/HeatTransferPDEComponent.html (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: 14-November-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: 14-November-2026]}

