有限差分熱伝導シミュレーター 戻る
数値熱解析シミュレーター

有限差分熱伝導シミュレーター

陽解法FDM $T_i^{n+1}= T_i^n + r(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$($r = \alpha\Delta t/\Delta x^2 \leq 0.5$)による1次元熱伝導をリアルタイムアニメーション。

プリセット
数値パラメータ
熱拡散率 α10 mm²/s
格子間隔 Δx10 mm
全長 L200 mm
境界条件
左端温度 T_L200 °C
右端温度 T_R / T_∞25 °C
初期温度 T_init25 °C
計算結果
フーリエ数 r
Fo = αt/L²
T_max (°C)
0
ステップ n

陽解法 FDM

$$T_i^{n+1}= T_i^n + r(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$$ $$r = \frac{\alpha \Delta t}{\Delta x^2}\leq 0.5$$ $$\text{Fo}= \frac{\alpha t}{L^2}$$

有限差分熱伝導シミュレーターとは

🧑‍🎓
このシミュレーターで「陽解法」って何をしているんですか?棒の温度がどう変わっていくか、パラメータを変えると何が起こるんですか?
🎓
ざっくり言うと、未来の温度を現在の温度からズバッと計算する方法だよ。具体的には、ある点の次の瞬間の温度は、その点とその両隣の「今の温度」から決まるんだ。上のスライダーで「熱拡散率α」を大きくしてみて。温度が速く伝わるのがわかるよね。これが陽解法の計算そのものの結果だ。
🧑‍🎓
え、そうなんですか!でも「r ≤ 0.5」って表示されてます。これって何の条件ですか?これを超えるとどうなっちゃうんですか?
🎓
いいところに気づいたね。これは「安定性条件」で、計算が暴走しないためのルールなんだ。$r = \alpha \Delta t / \Delta x^2$ が0.5を超えると、温度がめちゃくちゃに振動し始めて、現実にはあり得ない値になっちゃう。シミュレーターでは自動で守られるようにしてあるけど、実務でこの条件を無視すると、解析結果が完全に信用できなくなるんだ。
🧑‍🎓
境界条件で「ディリクレ」「ノイマン」「ロビン」って選べますね。一番下の「ロビン」って何が違うんですか?
🎓
これが一番実用的な条件なんだよ。「ディリクレ」は温度固定(例えば氷で冷やす)、「ノイマン」は断熱みたいに熱の出入り固定。で、「ロビン」はそのハイブリッドで、$-k \frac{\partial T}{\partial n}= h(T_{wall}- T_{\infty})$ って式で表される。右端の「周囲温度 $T_{\infty}$」と「熱伝達率 $h$」を変えてみて。電子部品が空気で冷える様子をモデル化してるんだ。

物理モデルと主要な数式

時間的に変化する1次元熱伝導を支配する基本方程式(熱拡散方程式)は以下の通りです。

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

ここで、$T$は温度[°C]、$t$は時間[s]、$x$は位置[m]、$\alpha$は熱拡散率[m²/s]です。温度の時間変化は、温度分布のカーブの度合い(空間2階微分)に比例することを意味しています。

この偏微分方程式をコンピュータで解くために用いる「陽解法有限差分式」は次の形になります。

$$T_i^{n+1}= T_i^n + r(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$$

ここで、$T_i^n$は時刻$n$、位置$i$の温度、$r=\alpha \Delta t / \Delta x^2$はフーリエ数(無次元の時間ステップ)です。この式は、次の時刻$n+1$の温度が、現在の時刻$n$における自分と両隣の温度だけで直接計算できる(陽的)ことを示しています。計算が簡単ですが、$r \leq 0.5$という安定性条件が課されます。

実世界での応用

電子機器・半導体の熱設計:CPUやパワー半導体の発熱は、基板やヒートシンクを通じてどう拡散・放熱されるかが信頼性の鍵です。有限差分法は構造が比較的単純な部分の温度分布を素早く評価するのに使われ、過熱による故障を防ぎます。

建築物の断熱性能評価:壁の内部での熱の伝わり方をシミュレーションします。外気温の変化に対して、室内の温度がどのくらい遅れて反応するか(熱容量の効果)や、断熱材の効果を予測するのに利用されます。

地中熱利用システムの設計:地面の中に埋設したパイプ(地中熱交換器)の周りの温度場を解析します。季節による地温の変化や、熱の汲み上げ・蓄熱が周囲の地盤に与える影響を評価する基礎技術となります。

鋳造・熱処理プロセスの最適化:金属を鋳型に流し込んだ後や、焼入れ熱処理中のワーク内部の温度履歴を推定します。冷却速度が材料の微細組織や硬度に直結するため、品質を均一に保つための重要な工程設計ツールです。

よくある誤解と注意点

まず、「熱拡散率α」と「熱伝導率k」を混同しないでください。シミュレーターで直接触るのは熱拡散率αですが、実務では材料カタログに載っているのは熱伝導率kのことが多いです。両者の関係は $\alpha = k / (\rho c_p)$ です。例えば、銅は熱伝導率が高い(約400 W/mK)のでαも大きくなり、熱が速く広がります。逆に、発泡スチロールは熱伝導率が低いのでαも小さく、熱がこもります。パラメータ設定時には、密度ρと比熱$c_p$もセットで考える必要があるんです。

次に、「グリッドサイズΔxと時間ステップΔtは独立に選べない」という点。安定条件 $r \le 0.5$ は、Δtを小さくするか、Δxを大きくすることで守れます。例えば、Δxを1mmから0.5mmに細かくすると、空間分解能は上がりますが、その分Δtを4分の1にしないとrが大きくなりすぎてしまいます。結果、同じ実時間をシミュレーションするのに必要な計算ステップ数が爆発的に増え、計算時間がかかる。実務では「精度」と「計算コスト」のトレードオフを常に意識しましょう。

最後に、境界条件の「ロビン条件」の熱伝達率hは状況で大きく変わること。このツールでh=10や100と変えられますが、実際は自然対流(空気中で約5〜25 W/m²K)なのか、強制対流(ファンがあれば約25〜250 W/m²K)なのか、はたまた水冷(約500〜10000 W/m²K以上)なのかで桁が違います。ここを現実とかけ離れた値にすると、せっかくのシミュレーション結果が現実を全く反映しなくなってしまうので、文献や実験値でしっかり確認することが不可欠です。

関連する工学分野

この1次元熱伝導シミュレーターの背後にある考え方は、「拡散現象」を記述する偏微分方程式そのものです。つまり、温度の拡散と全く同じ数理モデルが、他の多くの工学分野で顔を出すんです。

例えば、物質拡散(化学工学)。半導体製造でのドーパントの拡散や、電池内部でのリチウムイオンの移動は、熱拡散方程式と全く同じ形の「フィックの第二法則」で記述されます。温度Tを濃度Cに、熱拡散率αを拡散係数Dに置き換えるだけ。境界条件も「表面濃度固定(ディリクレ)」や「表面での化学反応(ロビンに類似)」など、熱伝導とそっくりです。

もう一つは、地下水流動学(水文学・土木工学)です。帯水層中の地下水の流れは、非圧縮性流れの条件下で「ラプラス方程式」や「拡散型方程式」でモデル化されます。ここでは、温度が水頭(水圧の高さ)に、熱拡散率が透水係数に相当します。井戸を掘って揚水する状態は、ちょうど熱源を置くのと似た境界条件になります。

さらに、構造力学の一部(材料工学)でも応用できます。梁のたわみの基礎方程式や、あるいは時間依存性のあるクリープ現象の単純化モデルなど、異なる物理量ではあっても「ある量の変化が、その量の空間的なカーブ(2階微分)に比例する」という構造は共通。このシミュレーターで体感した「安定性条件」や「境界条件の影響」は、これらの分野の数値シミュレーションを学ぶ際の強力な基礎知識になります。

発展的な学習のために

このツールに慣れたら、次は「陰解法」の存在と意義を学びましょう。陽解法は計算が簡単ですが、時間ステップΔtに厳しい制約(r≤0.5)がありましたよね。陰解法は、未来の時刻(n+1)の隣接点温度を含む連立方程式を解くので、原理的にはどんなに大きなΔtを取っても計算が暴走しません。その代わり、1ステップごとの計算は重くなります。実務では、熱伝導が遅い部分には大きなΔtで陰解法を、変化が激しい部分には細かいΔtで陽解法を適用する「陰陽解法」といった高度な手法も使われます。

数学的背景としては、「偏微分方程式の分類」を理解するのがおすすめです。今回扱った熱伝導方程式は「放物型」と呼ばれ、時間とともに初期の影響が滑らかに減衰していく性質を持ちます。これに対し、波動方程式(双曲型)や静電場の方程式(楕円型)は性質が全く異なります。この違いが、適用できる数値解法や境界条件の設定の根本を決めているんです。

実践的な次の一歩としては、2次元の熱伝導シミュレーションに挑戦してみてください。考え方は1次元と全く同じで、ある点の次の温度は「今の自分の温度」と「上下左右4点の温度」から決まります。式は $T_{i,j}^{n+1} = T_{i,j}^n + r(T_{i+1,j}^n + T_{i-1,j}^n + T_{i,j+1}^n + T_{i,j-1}^n - 4T_{i,j}^n)$ のようになります。2次元になると、L字型のヒートシンクの効率や、複数の熱源が干渉する様子など、より実用的で面白い問題を扱えるようになりますよ。