1次元非定常熱伝導の変数分離法

カテゴリ: 熱解析 > 非定常熱伝導 | 統合版 2026-04-12
1D transient heat conduction solved by separation of variables showing temperature profile decay with eigenfunction series expansion
変数分離法による1次元非定常温度分布の時間発展 — 初期の矩形分布が固有関数の重ね合わせで指数的に減衰する様子

理論と物理

概要 — 変数分離法とは

🧑‍🎓

変数分離法って熱伝導のどんな問題に使うんですか?

🎓

一様断面の平板・円柱・球の非定常温度分布を厳密に求める方法だ。偏微分方程式を「空間だけの関数」と「時間だけの関数」の積に分けて、固有関数展開で無限級数解を得る。

🧑‍🎓

厳密解って言うと、FEMみたいな近似じゃなくてドンピシャの答えが出るってことですか?

🎓

そのとおり。ただし「物性値が温度に依存しない」「形状が単純(平板・円柱・球)」「境界条件が線形」という条件付きだ。この条件を満たす限り、得られる解は数学的に厳密。だからこそFEMの検証用ベンチマークとして極めて重要なんだ。

🧑‍🎓

具体的にはどんな場面で使うんですか?

🎓

代表的な用途を3つ挙げよう。

  • クエンチ(急冷)処理の内部温度予測 — 鋼材を水中に投入した後、中心温度がいつマルテンサイト変態点を通過するか。これを変数分離法で秒単位で予測できる
  • FEM解の検証(V&V) — NAFEMS T2ベンチマーク問題は変数分離法の厳密解を参照値にしている
  • 設計初期の概算 — コンクリート壁の日射応答、電子基板の突然通電時の温度上昇を、FEMを回す前に手計算で見積もる
🧑‍🎓

へえ、FEMが正しいかどうかを確かめるための「答え合わせシート」みたいなものなんですね。

🎓

まさにそれ。変数分離法の解析解を知らずにFEMだけに頼るのは、電卓なしで暗算の答えを信じるようなものだ。

支配方程式と無次元化

🧑‍🎓

まず基本の方程式から教えてください。

🎓

1次元の熱伝導方程式はこうだ。内部発熱なし、物性値一定の場合:

$$ \frac{\partial T}{\partial t} = \alpha \frac{\partial^2 T}{\partial x^2} $$

ここで $\alpha = k / (\rho c_p)$ は熱拡散率 [m²/s]、$k$ は熱伝導率、$\rho$ は密度、$c_p$ は比熱である。

🧑‍🎓

$\alpha$ の値って材料ごとにどれくらい違うんですか?

🎓

ざっくり言うと、銅は $\alpha \approx 1.1 \times 10^{-4}$ m²/s、鋼は $\alpha \approx 1.2 \times 10^{-5}$ m²/s、コンクリートは $\alpha \approx 7 \times 10^{-7}$ m²/s。2桁以上差がある。銅の塊は一瞬で温まるけど、コンクリートの壁は何時間もかかるよね。

解析を統一的に扱うため、無次元温度 $\theta$ と 無次元数 を導入する:

$$ \theta = \frac{T - T_\infty}{T_i - T_\infty}, \quad \text{Fo} = \frac{\alpha t}{L^2} \;(\text{フーリエ数}), \quad \text{Bi} = \frac{hL}{k} \;(\text{ビオ数}) $$

ここで $T_i$ は初期温度、$T_\infty$ は周囲流体温度、$L$ は代表長さ(平板の半厚)、$h$ は熱伝達係数である。$\theta=1$ が初期状態、$\theta=0$ が定常状態(周囲温度と一致)に対応する。

変数分離の手順

🧑‍🎓

いよいよ「変数分離」の中身ですね。具体的にどうやるんですか?

🎓

温度を「空間だけの関数 $X(x)$」と「時間だけの関数 $\Gamma(t)$」の積に分離するんだ:

$$ \theta(x, t) = X(x) \cdot \Gamma(t) $$

これを熱伝導方程式に代入すると:

$$ \frac{1}{\alpha \Gamma} \frac{d\Gamma}{dt} = \frac{1}{X} \frac{d^2 X}{dx^2} = -\lambda^2 $$
🧑‍🎓

左辺は $t$ だけ、右辺は $x$ だけの関数なのに等しい……ということは、両方とも定数じゃないと辻褄が合わないってことですか?

🎓

その通り! それが変数分離法のキモだ。この定数 $-\lambda^2$ を分離定数と呼ぶ。マイナスを付けるのは、温度が時間とともに減衰する(発散しない)物理を反映するためだ。

これにより2つの常微分方程式が得られる:

$$ \frac{d\Gamma}{dt} + \alpha \lambda^2 \Gamma = 0 \quad \Rightarrow \quad \Gamma(t) = e^{-\alpha \lambda^2 t} $$
$$ \frac{d^2 X}{dx^2} + \lambda^2 X = 0 \quad \Rightarrow \quad X(x) = A\cos(\lambda x) + B\sin(\lambda x) $$
🧑‍🎓

時間の方は単純な指数減衰なんですね。空間の方は三角関数……なんだか波動方程式みたいですね?

🎓

いい着眼点だ。数学的には同じ形の固有値問題だからね。違いは波動は振動し続けるけど、熱伝導は $e^{-\alpha\lambda^2 t}$ のおかげで時間とともに減衰して定常状態に落ち着く。

境界条件と固有値方程式

🧑‍🎓

$\lambda$ の値はどうやって決まるんですか?

🎓

境界条件を課すと、$\lambda$ が取り得る値が離散的な固有値 $\lambda_n$ に制限される。$\zeta_n = \lambda_n L$ と無次元化すると、境界条件の種類ごとに固有値方程式が決まるんだ。

厚さ $2L$ の平板で、中心 $x=0$ に対称条件、両面 $x=\pm L$ に各種境界条件を適用した場合:

境界条件固有値方程式固有関数 $X_n$
第1種(表面温度一定)$\cos(\zeta_n) = 0$ すなわち $\zeta_n = (2n-1)\pi/2$$\cos(\zeta_n x/L)$
第2種(表面熱流束一定)$\sin(\zeta_n) = 0$ すなわち $\zeta_n = n\pi$$\cos(\zeta_n x/L)$
第3種(対流: $-k \partial T/\partial x = h(T-T_\infty)$)$\zeta_n \tan(\zeta_n) = \text{Bi}$$\cos(\zeta_n x/L)$
🧑‍🎓

第3種の $\zeta_n \tan(\zeta_n) = \text{Bi}$ って、解けるんですか? tanが入ってるから手計算は無理そう……

🎓

超越方程式だから解析的には解けない。Newton法やBrent法で数値的に根を求める。教科書の付録にビオ数ごとの $\zeta_1$ の値が表になっているのを見たことがあるだろう? あれは事前に計算して表にしたものだ。例えば Bi=1 なら $\zeta_1 \approx 0.8603$ になる。

固有関数の直交性を利用すると、展開係数 $C_n$ が初期条件から一意に決まる。平板で初期温度が一様 $T_i$ の場合:

$$ C_n = \frac{4 \sin(\zeta_n)}{2\zeta_n + \sin(2\zeta_n)} $$

最終的な解は以下の無限級数で表される:

$$ \boxed{\theta(x, t) = \sum_{n=1}^{\infty} C_n \cos\!\left(\zeta_n \frac{x}{L}\right) \exp(-\zeta_n^2 \, \text{Fo})} $$

フーリエ数と1項近似

🧑‍🎓

無限級数って、何項まで足せばいいんですか?

🎓

ここがこの手法の美しいところだ。$\exp(-\zeta_n^2 \text{Fo})$ の項を見てくれ。$n$ が大きいほど $\zeta_n$ も大きくなるから、指数関数的に急速に減衰する。Fo > 0.2 なら第1項($n=1$)だけで精度0.1%以内になる。

🧑‍🎓

え、たった1項で? そんなに早く高次項が消えるんですか?

🎓

具体的に計算してみよう。第1種BCで $\zeta_1 = \pi/2 \approx 1.571$、$\zeta_2 = 3\pi/2 \approx 4.712$ とする。Fo=0.2 のとき:

  • 第1項: $\exp(-\zeta_1^2 \times 0.2) = \exp(-0.493) \approx 0.611$ — まだ大きい
  • 第2項: $\exp(-\zeta_2^2 \times 0.2) = \exp(-4.44) \approx 0.012$ — もう1%程度
  • 第3項: $\exp(-\zeta_3^2 \times 0.2) = \exp(-12.3) \approx 4.5 \times 10^{-6}$ — 事実上ゼロ

だから「1項近似(one-term approximation)」で十分なんだ。ハイスラーチャートはまさにこの1項近似をグラフ化したものだよ。

1項近似を適用した中心温度 $\theta_0$($x=0$)の式:

$$ \theta_0 = C_1 \exp(-\zeta_1^2 \, \text{Fo}) \quad (\text{Fo} > 0.2) $$
🧑‍🎓

逆に Fo が小さいとき、つまり加熱・冷却の初期段階ではたくさん項が必要ってことですね?

🎓

そう。Fo < 0.05 くらいの極初期だと100項以上必要になることもある。その場合は変数分離法ではなく半無限体の解(誤差関数解)を使う方が効率的だ。これは別のトピックで詳しくやろう。

円柱と球への拡張

🧑‍🎓

平板以外にも使えるんですか?

🎓

無限円柱と球にも同じ手法が使える。座標系と固有関数が変わるだけだ。

形状座標固有関数固有値方程式(第3種BC)
平板直交座標 $x$$\cos(\zeta_n x/L)$$\zeta_n \tan(\zeta_n) = \text{Bi}$
無限円柱円柱座標 $r$$J_0(\zeta_n r/r_0)$$\zeta_n J_1(\zeta_n)/J_0(\zeta_n) = \text{Bi}$
球座標 $r$$\sin(\zeta_n r/r_0)/(\zeta_n r/r_0)$$1 - \zeta_n \cot(\zeta_n) = \text{Bi}$
🧑‍🎓

$J_0$ って何ですか? 見たことない記号です。

🎓

第1種ベッセル関数の0次だ。円柱座標でラプラシアンを書くと、平板の $\cos$ や $\sin$ の代わりにベッセル関数が出てくる。Pythonなら scipy.special.j0(x) で一発計算できるから、実務上は怖くないよ。

各項の物理的意味
  • 蓄熱項 $\rho c_p \partial T/\partial t$:単位体積あたりの熱エネルギー蓄積率。鉄のフライパンは熱しにくく冷めにくい($\rho c_p$ が大きい)が、アルミ鍋は熱しやすく冷めやすい。この積が大きいほど温度変化が緩やか。
  • 熱伝導項 $k \partial^2 T/\partial x^2$:フーリエの法則に基づく熱輸送。温度分布の曲率(凹凸)に比例して熱が移動する。金属スプーンを熱い鍋に入れると持ち手まで熱くなるのは $k$ が大きいから。
  • 熱拡散率 $\alpha = k/(\rho c_p)$:「どれだけ速く温度が均一化するか」を表す。大きいほど速く温度が拡散する。銅 ($1.1 \times 10^{-4}$) と木材 ($1.3 \times 10^{-7}$) で3桁の差がある。
  • フーリエ数 $\text{Fo} = \alpha t / L^2$:無次元時間。熱が拡散した距離と物体サイズの比の2乗。Fo=1 は「熱が物体全体に行き渡った」状態に概ね対応する。
  • ビオ数 $\text{Bi} = hL/k$:表面の対流抵抗と内部の伝導抵抗の比。Bi < 0.1 なら内部はほぼ一様温度(集中熱容量法が使える)。Bi > 100 なら表面温度は即座に $T_\infty$ になる(第1種BC近似)。
仮定条件と適用限界
  • 物性値が温度に依存しない:$k$, $\rho$, $c_p$ が一定。大温度差(数百度以上)では温度依存性を無視できず、変数分離法は適用できない。FEMが必要。
  • 等方性材料:熱伝導率が方向に依存しない。CFRP等の複合材料では異方性を考慮した別の手法が必要。
  • 内部発熱なし:ジュール発熱や化学反応熱がある場合は、定常解との重ね合わせで対処可能な場合もある。
  • 線形境界条件:放射($T^4$ に比例)を含む境界条件には直接適用できない。線形化近似が必要。
  • 1次元問題:2次元以上の問題には、直交座標であれば各方向の解の積(product solution)として拡張可能。
次元解析と単位系
変数SI単位典型値・注意点
温度 $T$K または °C温度差の計算はK, °Cどちらでも同じ。放射計算では絶対温度必須
熱伝導率 $k$W/(m·K)銅: 400、鋼: 50、コンクリート: 1.4、空気: 0.026
熱拡散率 $\alpha$m²/s銅: $1.1\times10^{-4}$、鋼: $1.2\times10^{-5}$、水: $1.4\times10^{-7}$
熱伝達係数 $h$W/(m²·K)自然対流: 5〜25、強制対流: 25〜250、水中急冷: 1,000〜10,000
フーリエ数 Fo無次元Fo > 0.2 で1項近似適用可。実務で最も頻繁に使う判定基準
ビオ数 Bi無次元Bi < 0.1 なら集中熱容量法。0.1 < Bi < 100 で変数分離法の出番
Coffee Break よもやま話

フーリエの情熱とナポレオン

変数分離法を確立したジョゼフ・フーリエ(1768-1830)は、ナポレオンのエジプト遠征に同行した経験がある。砂漠の猛烈な暑さと夜の極端な冷え込みを体感し、「なぜ温度はこのように変化するのか」という問いに取り憑かれたと言われている。1822年の名著『熱の解析的理論(Theorie analytique de la chaleur)』で変数分離法とフーリエ級数を発表したが、当時のラグランジュやラプラスは「任意の関数を三角関数の和で表せる」という主張を信じなかった。結局フーリエが正しかったわけだが、この論争が現代の関数解析学の出発点になった。

数値解法と実装

解析解の数値計算手順

🧑‍🎓

変数分離法の解を実際にコンピュータで計算するには、どういう手順でやればいいですか?

🎓

手順は4ステップだ:

  1. 固有値の計算: $\zeta_n \tan(\zeta_n) = \text{Bi}$ をNewton法で解く。$n$ 番目の根は区間 $((n-1)\pi, \; (n-0.5)\pi)$ に必ず存在するので、Brent法で挟み込むのが確実
  2. 展開係数の計算: $C_n = 4\sin(\zeta_n) / (2\zeta_n + \sin(2\zeta_n))$ を各 $n$ について計算
  3. 級数の合算: 所望の $x$ と $t$(Fo)に対して $\theta = \sum C_n \cos(\zeta_n x/L) \exp(-\zeta_n^2 \text{Fo})$ を計算
  4. 打ち切り判定: $|C_n \exp(-\zeta_n^2 \text{Fo})| < \epsilon$(例えば $10^{-10}$)になったら級数を打ち切る
🧑‍🎓

Pythonで書くとどんな感じですか?

🎓

SciPyを使えばこんな感じだ:

from scipy.optimize import brentq
import numpy as np

def eigenvalues_plate(Bi, N=50):
    """平板・第3種BCの固有値をN個求める"""
    zeta = []
    for n in range(1, N+1):
        a = (n - 1) * np.pi + 1e-12
        b = (n - 0.5) * np.pi - 1e-12
        f = lambda z: z * np.tan(z) - Bi
        zeta.append(brentq(f, a, b))
    return np.array(zeta)

def theta_plate(x_L, Fo, Bi, N=50):
    """無次元温度 theta(x/L, Fo, Bi)"""
    zn = eigenvalues_plate(Bi, N)
    Cn = 4 * np.sin(zn) / (2*zn + np.sin(2*zn))
    return np.sum(Cn * np.cos(zn * x_L)
                  * np.exp(-zn**2 * Fo))

FEMとの比較検証

🧑‍🎓

この解析解を使って、FEMの結果をどうやって検証するんですか?

🎓

代表的なのがNAFEMS T2ベンチマークだ。厚さ0.1mの鋼板($\alpha = 3.5 \times 10^{-6}$ m²/s)の片面を100°Cに固定し、もう一方は断熱。32秒後の $x = 0.08$ m での温度を求める問題で、参照値は $T = 36.60$ °C だ。

🧑‍🎓

FEMの結果がこの36.60°Cからどれくらいずれていたらダメなんですか?

🎓

一般的には1%以内($\pm 0.37$°C)なら合格。ただし、これはメッシュと時間刻みの両方が十分細かい場合の話だ。FEMの検証手順は:

  1. 粗いメッシュ×大きい時間刻みで解く
  2. メッシュを2倍に細分化して再解析 → 温度変化を確認
  3. 時間刻みを半分にして再解析 → 温度変化を確認
  4. 両方が1%以内に収まるまで繰り返す
  5. 最終結果を変数分離法の厳密解と比較

時間積分スキームの影響

🧑‍🎓

FEMの時間積分法によって精度は変わりますか?

🎓

大いに変わる。主要な3つのスキームを比較しよう:

スキーム$\theta_{\text{method}}$精度安定性備考
前進Euler(陽解法)0$O(\Delta t)$条件付き安定: $\Delta t < \Delta x^2 / (2\alpha)$時間刻みの制約が厳しい
Crank-Nicolson0.5$O(\Delta t^2)$無条件安定数値振動の可能性あり
後退Euler(陰解法)1$O(\Delta t)$無条件安定安全だが拡散を過大評価
🧑‍🎓

Crank-Nicolsonが一番精度いいのに「数値振動」があるって、怖いですね……

🎓

急激な温度変化(例えばクエンチの最初の瞬間)で、温度が物理的にあり得ないマイナスになったりする。これを避けるために、Ansysなどでは $\theta = 2/3$(Galerkin法)をデフォルトにしているソルバーもある。変数分離法の厳密解と比べることで、この種の数値アーティファクトを見つけられるんだ。

Coffee Break よもやま話

コンクリート壁の日射応答を手計算で

厚さ200mmのコンクリート壁($\alpha = 7 \times 10^{-7}$ m²/s)に突然の日射($\Delta T = 20$°C)が入射した場合を考えよう。1時間後のFo = $7 \times 10^{-7} \times 3600 / 0.1^2 = 0.252$。Fo > 0.2 なので1項近似が使えて、壁の内面温度変化は数°C程度と即座に見積もれる。JIS A 1470の断熱性能試験でも、この種の手計算が「FEMを回す前の妥当性チェック」として使われている。

実践ガイド

クエンチ(急冷)解析への応用

🧑‍🎓

クエンチ処理って、実務ではどんなふうに変数分離法を使うんですか?

🎓

典型的なのは「直径50mmの鋼棒を850°Cから水中急冷する」ケースだ。無限円柱モデルで、水の熱伝達係数 $h = 5000$ W/(m²·K)、鋼の $k = 50$ W/(m·K) とすると:

  • $\text{Bi} = h \cdot r_0 / k = 5000 \times 0.025 / 50 = 2.5$
  • 固有値方程式 $\zeta_1 J_1(\zeta_1)/J_0(\zeta_1) = 2.5$ を解くと $\zeta_1 \approx 1.814$
  • 中心温度が300°Cに達する時刻: $\theta_0 = (300 - 20)/(850 - 20) = 0.337$ から Fo を逆算
  • $0.337 = C_1 \exp(-\zeta_1^2 \text{Fo})$ → $\text{Fo} \approx 0.152$ → $t = \text{Fo} \cdot r_0^2 / \alpha \approx 4.8$ 秒

わずか5秒弱で中心が300°Cまで冷えることが分かる。冷却速度から焼入れ硬さを予測する連続冷却変態(CCT)図との組み合わせが実務のポイントだ。

🧑‍🎓

でも水中急冷って、沸騰したりして $h$ が一定じゃないですよね?

🎓

鋭い指摘だ。実際のクエンチでは膜沸騰→核沸騰→対流冷却と3段階で $h$ が劇的に変化する。変数分離法はあくまで $h$ 一定の近似。精密な解析にはFEMで $h(T)$ を温度関数として与える必要がある。ただし「おおよそ何秒で冷えるか」の概算には変数分離法で十分だ。

断熱材・多層壁の設計検討

🧑‍🎓

多層壁にも使えますか? 建築とかで断熱材が挟まってるケースとか。

🎓

厳密にはNoだ。多層壁は各層の物性が異なるから、単純な変数分離法は使えない。ただし実用的なアプローチとして:

  • 等価物性法: 多層壁を単一層に換算(等価 $\alpha$ を計算)して変数分離法を適用
  • 各層で個別に変数分離: 界面で温度と熱流束の連続条件を課す(かなり数式が複雑になる)
  • 実務ではFEMが無難: 層数が3以上なら1次元FEMの方が圧倒的に楽

単層の場合——例えば「厚さ50mmのグラスウール断熱材の片面を急に加熱したら、反対面は何分後に温まるか?」——にはそのまま使える。

商用ツールでの実装手順

🧑‍🎓

実際のCAEソフトで検証用に変数分離法の問題を設定するとき、注意点はありますか?

🎓

いくつか落とし穴がある:

項目注意点
メッシュ1次元問題でも2D/3D要素を使わざるを得ないツールがある。平板なら1要素厚×多層方向にメッシュを切り、他2方向は対称条件で拘束
初期条件$T_i$ を全節点に均一に与える。Ansysでは IC,ALL,TEMP,850
時間刻みFo=0.2 に対応する時刻前後でモニタリング。Abaqusでは *HEAT TRANSFER, DELTMX=5 で最大温度変化を制限
物性値の温度依存性検証目的なら必ず温度非依存に設定。COSMOLでは「Material: custom」で定数入力
出力節点温度の時刻歴を出力。解析解と比較する位置(中心、表面、特定 $x$ )を事前に決めておく

実務のコツ: フーリエ数で「筋のいい時間刻み」を決める

FEMの時間刻み $\Delta t$ を闇雲に決めていませんか? 変数分離法の知識を使えば、$\text{Fo} = \alpha \Delta t / \Delta x^2$ が 0.5 程度になるように $\Delta t$ を設定すると、陰解法なら安定かつ精度の良い結果が得られます。これは「1時間刻みで熱が隣の要素まで届く程度」という物理的直感に対応しています。

初心者が陥りやすい落とし穴

「Biが0.01だから内部温度は均一ですよね?」 —— 定常状態ならその通り。しかし過渡状態の初期段階(Fo < 0.2)では、Biが小さくても内部に温度勾配が生じ得ます。例えば、巨大なアルミブロック(Bi=0.005)を急に冷却した直後は、表面付近だけ温度が下がり、中心はまだ元のまま。集中熱容量法が使えるのは「十分時間が経ってから」です。Fo = 0 の瞬間はどんなBiでも温度勾配はゼロですが、直後の微小時間で表面温度が急変します。

境界条件の考え方: ビオ数で「支配的な抵抗」を見抜く

Biが大きい(Bi > 100)場合、冷却速度を決めているのは物体内部の伝導抵抗です。表面にいくら強力な冷媒を当てても、内部の熱が表面に到達するのが遅いためです。逆にBiが小さい(Bi < 0.1)場合、表面の対流抵抗が支配的で、物体内部はほぼ均一温度。熱伝達係数 $h$ の精度が結果を左右します。「自分の問題はどちらが支配的か?」をBiで判断してから解析に着手しましょう。

ソフトウェア比較

ツール別の非定常熱伝導対応

🧑‍🎓

変数分離法の検証問題をCAEソフトで解くとき、ソフトごとの違いってありますか?

🎓

各ツールの非定常熱伝導の設定方法と、変数分離法の検証との相性を見てみよう。

ツール解析タイプ指定時間積分検証との相性
Ansys MechanicalANTYPE,TRANSGeneralized Trapezoidal ($\theta=2/3$ デフォルト)APDLマクロで解析解との自動比較が容易
Abaqus*HEAT TRANSFER後退Euler(デフォルト)Python scripting + odb でポスト処理自動化可能
COMSOLHeat Transfer → Time DependentBDF (可変次数)解析解を「Analytic」機能で直接入力して差をプロット可能
OpenFOAMlaplacianFoamEuler / Crank-NicolsonPythonスクリプトで後処理。固体のみならsolidDisplacementFoamは不要
🧑‍🎓

COSMOLの「解析解を直接入力」って便利そうですね。

🎓

実際、COMSOL は式をGUIにそのまま打ち込めるから、変数分離法の検証が最も手軽にできるツールの一つだ。ただし「手軽=厳密」ではないので、固有値の計算精度は自分で確認する必要がある。

オープンソースツール

🧑‍🎓

商用以外で変数分離法の解を計算できるツールはありますか?

🎓
  • Python + SciPy: 前述のスクリプトで固有値計算から温度分布プロットまで完結。実質これが最も柔軟
  • Wolfram Mathematica: DSolve コマンドで記号的に導出可能。学術論文用に美しい数式出力が得られる
  • Octave / MATLAB: fzero で固有値を求め、besselj で円柱問題にも対応
  • hteqn(Pythonライブラリ): 平板・円柱・球の変数分離解を関数呼び出し一発で計算。ハイスラーチャート値との自動照合機能付き
Coffee Break よもやま話

10行で書ける「変数分離法電卓」

Python + NumPy + SciPyがあれば、変数分離法の1次元非定常熱伝導解は10行で書ける。固有値をBrent法で50個求め、級数を足すだけだ。一度書いてしまえば「Bi=3の円柱で中心温度が半分になるまでの時間は?」といった問いに一瞬で答えられる。FEMソフトを起動するまでもない。筆者はこのスクリプトをデスクトップに常駐させている。

先端技術

PINNと変数分離法の融合

🧑‍🎓

200年前のフーリエの手法が、最新のAI技術と関係あるんですか?

🎓

物理インフォームドニューラルネットワーク(PINN)の最新研究では、ネットワーク構造に変数分離法の「時間×空間」の構造をハードコードする手法が注目されている。

  • 空間方向のサブネットワーク: 固有関数に近い基底を学習
  • 時間方向のサブネットワーク: 指数減衰を学習
  • 結果: 従来のPINNより桁違いに少ないデータで収束し、物理的に正しい解を保証できる

変数分離法の数学的構造が、200年の時を経てニューラルネットの「帰納バイアス」として復活したわけだ。

非フーリエ伝導への拡張

🧑‍🎓

変数分離法が使えない「非フーリエ伝導」って何ですか?

🎓

フーリエの法則では「熱流束は温度勾配に瞬時に応答する」と仮定している。しかし超短パルスレーザー加熱(ピコ秒〜フェムト秒)や極低温(数K以下)では、熱の伝播に有限の速度がある。これを記述するのがCattaneo-Vernotte方程式:

$$ \tau \frac{\partial^2 T}{\partial t^2} + \frac{\partial T}{\partial t} = \alpha \frac{\partial^2 T}{\partial x^2} $$
🧑‍🎓

2階の時間微分が入ると、波動方程式みたいですね。

🎓

まさにその通りで、「熱波(thermal wave)」が存在する。面白いことに、この方程式にも変数分離法を適用できる(固有値方程式の構造が変わるが)。ただし実用上は半導体のフェムト秒レーザー加工など、極めて限られた場面でしか必要にならない。通常のCAEではフーリエの法則で十分だ。

トラブルシューティング

級数が収束しない場合

🧑‍🎓

級数を何項足しても温度が振動する、みたいなことは起きますか?

🎓

それは典型的な「Fo が極端に小さい」ときの症状だ。対処法を整理しよう:

症状原因対策
100項足しても収束しないFo < 0.01(極初期段階)変数分離法ではなく半無限体の誤差関数解を使う
表面近くで温度が振動する(ギブス現象)不連続な初期条件(ステップ関数的)500項以上取るか、$x/L$ を0.95程度にして表面直上を避ける
固有値の計算が失敗する探索区間の設定ミス$\zeta_n$ の存在区間 $((n-1)\pi, (n-0.5)\pi)$ を厳密に守る。二分法から始めてNewton法に切り替え
中心温度は合うが表面が合わないビオ数の入力ミス($L$ の定義が半厚か全厚か)変数分離法では $L$ = 半厚。FEMの入力と整合を確認

FEMと解析解が合わない場合

🧑‍🎓

FEMの結果と変数分離法の解が数%ずれています。どちらが間違っているんでしょう?

🎓

まずは冷静に切り分けよう。チェックリストは以下の通り:

  1. 変数分離法側のチェック:
    • 固有値を十分な個数(少なくとも20個)計算したか?
    • $L$ の定義は半厚か全厚か? 教科書によって異なる
    • 展開係数 $C_n$ の式は境界条件に対応したものを使っているか?
  2. FEM側のチェック:
    • 物性値を温度非依存に設定したか? 温度依存テーブルが紛れ込んでいないか?
    • メッシュ収束は確認したか? 特に表面近く(大きな温度勾配)は要細分化
    • 時間刻みは十分小さいか? 自動時間刻みの最大値制限は適切か?
    • 対称面の境界条件は正しいか? 断熱≠自由面
  3. 両者が一致しない場合: まず第1種BC(表面温度固定)で検証。これは最も単純で間違えにくい。第3種BCの検証は後回しにする
🧑‍🎓

なるほど、最もシンプルなケースから攻めるのが鉄則なんですね。

🎓

そうだ。デバッグの基本は「変数を1つだけ変えて確認」。複雑な境界条件でいきなり検証しようとすると、どこが原因か分からなくなる。変数分離法は「確実に正しい答え」が手元にあるという絶大な強みがあるから、それを最大限活用しよう。

「解析が合わない」と思ったら

  1. まず Bi と Fo を確認 — 問題の性格を把握する。Bi < 0.1 なら集中熱容量法で十分なのに変数分離法を使っていないか?
  2. 最小ケースを作る — 1次元、第1種BC、均一初期条件。これで合わなければ基本的な設定ミス
  3. $L$ の定義を確認 — 変数分離法の教科書は「半厚」を使うが、FEMのモデルでは「全厚」で入力していることが多い
  4. グラフで比較 — 数値の一致を見る前に、温度-時間曲線をプロットして「形」が合っているか確認する。形が違えば境界条件のミス、形は合っているが値がずれるならスケールの問題
関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

構造解析流体解析製造プロセス解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
プロフィールを見る