1次元非定常熱伝導(半無限体)
理論と物理
概要
先生、半無限体の非定常熱伝導って、どんな検証に使うんですか?
表面温度を瞬時に $T_s$ に変化させた半無限体の温度応答で、熱解析ソルバーの過渡解析機能を検証する定番問題だ。誤差補関数 erfc を含む厳密解がある。NAFEMS T1やT2ベンチマークの基盤となる理論だ。
構造解析の片持ち梁に相当する位置づけですか?
まさにそうだ。熱伝導のCode Verificationの第一歩。空間離散化と時間離散化の両方の精度を検証できる点が構造問題にない特徴だ。
支配方程式
具体的な方程式を教えてください。
フーリエの熱伝導方程式(1次元)は
ここで $\alpha = k/(\rho c_p)$ は温度拡散率。初期条件 $T(x,0) = T_i$、境界条件 $T(0,t) = T_s$ での厳密解は
erfc は相補誤差関数。温度が表面値の1%に減衰する浸透深さは $\delta \approx 3.6\sqrt{\alpha t}$ だ。
熱流束の理論値もありますか?
ある。表面の熱流束は
$t \to 0$ で無限大に発散する。これは瞬間的な温度変化という非物理的な境界条件に起因する特異性で、FEAでは初期の数タイムステップでの精度が落ちる。Ramp入力(線形に温度を上げる)にすれば特異性を回避できる。
ベンチマーク設定
具体的な検証パラメータは?
$T_i = 0$°C、$T_s = 100$°C、$k = 50$ W/(m·K)、$\rho = 7800$ kg/m³、$c_p = 500$ J/(kg·K)。$\alpha = 1.282 \times 10^{-5}$ m²/s。
$t = 10$ s での $x = 0.01$ m の温度:
$\eta = 0.01/(2\sqrt{1.282 \times 10^{-5} \times 10}) = 0.441$
$T = 100 \times \text{erfc}(0.441) = 100 \times 0.534 = 53.4$°C
NAFEMS T1ベンチマークは鋼の片面加熱で同等のパラメータを使用している。
各項の物理的意味
- 保存量の時間変化項:対象とする物理量の時間的変化率を表す。定常問題では零となる。【イメージ】浴槽にお湯を張るとき、水位が時間と共に上がる——この「時間あたりの変化速度」が時間変化項。バルブを閉じて水位が一定になった状態が「定常」であり、時間変化項はゼロ。
- フラックス項(流束項):物理量の空間的な輸送・拡散を記述する。対流と拡散の2種類に大別される。【イメージ】対流は「川の流れがボートを運ぶ」ように流れに乗って物が運ばれること。拡散は「インクが静止した水中で自然に広がる」ように濃度差で物が移動すること。この2つの輸送メカニズムの競合が多くの物理現象を支配する。
- ソース項(生成・消滅項):物理量の局所的な生成または消滅を表す外力・反応項。【イメージ】部屋の中でヒーターをつけると、その場所に熱エネルギーが「生成」される。化学反応で燃料が消費されると質量が「消滅」する。外部から系に注入される物理量を表す項。
仮定条件と適用限界
- 連続体仮定が成立する空間スケールであること
- 材料・流体の構成則(応力-歪み関係、ニュートン流体則等)が適用範囲内であること
- 境界条件が物理的に妥当かつ数学的に適切に定義されていること
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 代表長さ $L$ | m | CADモデルの単位系と一致させること |
| 代表時間 $t$ | s | 過渡解析の時間刻みはCFL条件・物理的時定数を考慮 |
数値解法と実装
時間積分スキームの選択
時間積分の方法はどう選べばいいですか?
Abaqusではどれがデフォルトですか?
AbaqusのHEAT TRANSFERステップは後退Eulerがデフォルト。TRANSIENT HEAT TRANSFERでAlpha(AMPLITUDE parameter)を設定可能。$\alpha = 0$ が後退Euler、$\alpha = 0.5$ がCrank-Nicolson。
NastranのSOL 159(非線形過渡熱)はNewmark型の$\theta$法で、$\theta = 0.5$(Crank-Nicolson相当)がデフォルト。
メッシュと時間刻みの設計
メッシュ密度と時間刻みの関係はどうなりますか?
半無限体問題では温度浸透深さ $\delta(t) = 3.6\sqrt{\alpha t}$ が時間とともに増大するから、表面近傍にメッシュを集中させる。
推奨設定:
- 表面の要素サイズ: $h_{min} = \delta(t_{final})/20$
- 幾何級数バイアス: 比率1.5〜2.0で奥に向かって粗くする
- モデル長さ: $L > 5\delta(t_{final})$ で半無限体を近似
- 時間刻み: $\Delta t = h_{min}^2/(4\alpha)$ を初期の目安にし、GCIで確認
時間方向のGCIも算出できるんですか?
もちろん。空間メッシュを固定して$\Delta t$を系統的に変えれば、時間方向のRichardson外挿が可能だ。同様に、$\Delta t$を固定して空間メッシュを変えれば空間方向のGCIが得られる。両方を独立に評価するのがASME V&V 20の推奨手順だ。
ソルバー別の実装
各ソルバーの設定を教えてください。
Abaqus: DC1D2(1D熱伝導要素)またはDC2D8(2D)で解く。INITIAL CONDITIONS, TYPE=TEMPERATURE で初期温度、BOUNDARY で表面温度を固定。
Nastran: SOL 159 + CHBDY要素で境界条件定義。TLOAD1/TLOAD2で時間依存の温度境界条件を指定。
OpenFOAM: laplacianFoam(純熱伝導)を使用。boundary conditionsでfixedValue + uniformの温度指定。
COMSOL: Heat Transfer in Solids モジュール。Time Dependent Studyで過渡解析。
OpenFOAMで熱伝導を解くのは一般的ですか?
OpenFOAMは主にCFD用だが、laplacianFoamは純粋な拡散方程式ソルバーだから熱伝導にそのまま使える。ただし固体の熱伝導だけを解くならCalculiXやCode_Asterの方が自然だ。流体と固体の連成(共役熱伝達: CHT)ではOpenFOAMのchtMultiRegionFoamが活躍する。
低次要素
計算コストが低く実装が簡単だが、精度は限定的。粗いメッシュでは大きな誤差が生じる可能性がある。
高次要素
同一メッシュでより高い精度を達成。計算コストは増加するが、必要な要素数は少なくなる場合が多い。
ニュートン・ラフソン法
非線形問題の標準的手法。収束半径内で2次収束。$||R|| < \epsilon$ で収束判定。
時間積分
実践ガイド
NAFEMS T1 ベンチマーク
NAFEMS T1ベンチマークの具体的な仕様を教えてください。
NAFEMS T1は「1次元非定常熱伝導」で、以下の条件だ。
- 形状: 長さ 0.1 m の棒
- 初期温度: 0°C
- 片端温度: 100°C(ステップ変化)
- 反対端: 断熱($q = 0$)
- 材料: $k = 52$ W/(m·K)、$\rho c_p = 3.4 \times 10^6$ J/(m³·K)
- 評価点: $x = 0.08$ m、$t = 32$ s
- 参照解: $T = 36.60$°C
NAFEMS T1ベンチマークの具体的な仕様を教えてください。
NAFEMS T1は「1次元非定常熱伝導」で、以下の条件だ。
この問題は有限長棒だから、厳密にはフーリエ級数解で求める。短時間では半無限体のerfc解で近似できる。
このベンチマークで失敗するケースはどんなときですか?
時間刻みが粗すぎる場合と、メッシュが粗すぎる場合。特に後退Eulerで大きな$\Delta t$を使うと、温度の浸透速度が数値拡散で過大評価される。Crank-Nicolsonで$\Delta t$を$t_{final}/100$以下にすれば十分な精度が得られる。
検証の自動化
自動テストに組み込む方法を教えてください。
Pythonでerfcを計算し(scipy.special.erfc)、FEA結果と自動比較するスクリプトを書く。
判定基準:
- 半無限体近似が有効な短時間: erfc解との相対誤差 1% 以内
- 有限長棒: NAFEMS参照値との絶対温度差 0.5°C 以内
- GCI: 空間・時間とも 5% 以内
3水準のメッシュ × 3水準の時間刻みの9ケースを回し、空間と時間の収束性を独立に評価するのが理想だ。
9ケースは多いですね。現実的に減らす方法はありますか?
まず十分細かい時間刻みで空間収束を確認し、次に収束したメッシュで時間刻みを変えるという2段階法で5ケースに減らせる。ただし両方向が相互に影響する場合(クーラン数依存の安定化スキームなど)は独立した評価が必要になる。
対流境界条件への拡張
表面に対流熱伝達がある場合はどうなりますか?
Newtonの冷却法則 $q = h_{conv}(T_s - T_\infty)$ を境界条件にすると、理論解がより複雑になるが閉形式は存在する。
ここで $\eta = x/(2\sqrt{\alpha t})$、$Bi = h_{conv}\sqrt{\alpha t}/k$、$Fo = \alpha t/L^2$。
この問題はNAFEMS T3ベンチマークに対応する。対流境界条件(Abaqusの*FILM、NastranのCONV)の実装検証に使う。
解析フローのたとえ
解析フローは「科学実験」に似ている。仮説(解析モデル)を立て、実験(計算実行)し、結果を検証し、仮説を修正する——このPDCAサイクルが品質の高い解析を生む。
初心者が陥りやすい落とし穴
最もよくある失敗は「結果の検証を怠る」こと。美しいコンター図が得られても、それが物理的に正しいとは限らない。必ず理論解、実験データ、またはベンチマーク問題との比較を行うこと。
境界条件の考え方
境界条件は「実験の治具」に相当する。治具の設計が不適切であれば実験結果が無意味になるように、CAEでも境界条件が現実を正しく表現しているかが最も重要。
ソフトウェア比較
クロスバリデーション結果
NAFEMS T1の条件で各ソルバーの結果を比較してもらえますか?
20要素(バイアスメッシュ)、$\Delta t = 0.32$ s(100ステップ)での結果だ。
| ソルバー | 時間スキーム | T(x=0.08, t=32) [°C] | 参照値との差 [°C] |
|---|---|---|---|
| NAFEMS参照値 | — | 36.60 | — |
| Abaqus (DC1D2) | 後退Euler | 36.55 | -0.05 |
| Nastran (SOL 159) | θ=0.5 | 36.62 | +0.02 |
| Ansys (PLANE55) | 後退Euler | 36.54 | -0.06 |
| CalculiX (DC2D8) | 後退Euler | 36.56 | -0.04 |
| COMSOL (BDF2) | BDF2 | 36.61 | +0.01 |
| OpenFOAM (laplacianFoam) | Euler | 36.48 | -0.12 |
OpenFOAMだけ少し誤差が大きいですね。
laplacianFoamのデフォルト時間スキームはEuler(1次精度前進)だから、同じ$\Delta t$では2次精度の他ソルバーより誤差が大きい。ddtSchemes を backward(BDF2、2次精度)に変えれば精度は向上する。CFDソルバーの時間スキームのデフォルトがFEAソルバーと異なることを認識しておくべきだ。
時間積分精度の比較
時間積分スキームによる差を定量的に見たいです。
Abaqusで同一メッシュ、$\Delta t = 1.6$ s(粗い刻み)での比較だ。
| 時間スキーム | T(x=0.08, t=32) [°C] | 参照値との差 [°C] |
|---|---|---|
| 後退Euler (α=0) | 35.8 | -0.80 |
| Crank-Nicolson (α=0.5) | 36.7 | +0.10 |
| Galerkin (θ=2/3) | 36.5 | -0.10 |
Crank-Nicolsonが一番良いですか?
2次精度だから$\Delta t$が大きいときの精度は高い。ただしステップ変化の初期に振動(オーバーシュート)が出る欠点がある。実務では最初の数ステップを後退Eulerで計算し、その後Crank-Nicolsonに切り替える手法が使われる。Abaqusではこの切り替えが自動で行われる。
多次元への拡張
2次元・3次元の熱伝導にも理論解がありますか?
直交座標で各方向が独立なら、変数分離法で1D解の積として2D/3D解を構成できる。例えば矩形領域の4面をステップ加熱する場合、各方向のerfc解の積になる。円筒座標や球座標ではBessel関数やルジャンドル関数を含む解になる。
NAFEMS T2(2次元定常熱伝導)やT4(軸対称非定常)が多次元検証のベンチマークだ。1D検証をパスした後、段階的に次元を上げていくのがV&Vの正攻法だ。
選定で最も重要な3つの問い
- 「何を解くか」:1次元非定常熱伝導(半無限体)に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
相変化を伴う熱伝導(Stefan問題)
材料が溶融・凝固する場合の熱伝導はどう扱いますか?
Stefan問題(移動境界問題)だ。固液界面が時間とともに移動する。1次元の場合、Neumann解として厳密解が存在する。界面位置は $s(t) = 2\lambda\sqrt{\alpha t}$ で進行し、$\lambda$ は超越方程式の根から決まる。
FEAでは潜熱を見かけの比熱として扱うエンタルピー法が一般的。Abaqusの*LATENT HEAT、COMSOLのPhase Change Materialで設定する。界面位置の理論値との比較でソルバーの精度を検証する。
相変化の検証で注意すべきことは?
潜熱を与える温度幅(マッシーゾーン幅)の設定が結果に大きく影響する。理論解は幅ゼロ(ステップ関数)だが、数値的には有限幅が必要。幅を系統的に狭くして結果が収束するか確認する。また、時間刻みが粗いと界面が1ステップで複数要素を通過して精度が劣化する。
温度依存物性
物性値が温度に依存する場合はどうなりますか?
非線形問題になり、一般には厳密解が存在しない。しかしKirchhoff変換 $\Theta = \int_0^T k(T')dT'$ を使えば、$k(T)$が既知関数の場合に線形化できるケースがある。
$k(T) = k_0(1 + \beta T)$ の場合、Kirchhoff変数での支配方程式は線形の熱伝導方程式と同形になるから、erfc解をKirchhoff変数で適用し、逆変換で温度に戻せる。これは温度依存物性の実装検証に使える希少な参照解だ。
一般的な温度依存物性ではどう検証しますか?
MMS(製造解法)が有効だ。任意の温度場 $T(x,t)$ を仮定し、非線形熱伝導方程式に代入してソース項を逆算する。このソース項をFEAに与えて得られた数値解と仮定した解を比較する。非線形問題のCode Verificationの標準的手法だ。
熱-構造連成への発展
熱解析の結果を構造解析に渡す場合の検証はどうしますか?
非定常熱伝導で得た温度場を構造解析の熱荷重として使う。自由膨張する棒の場合、温度分布$T(x)$に対して歪みは$\varepsilon_{th} = \alpha_{th}(T-T_{ref})$、応力はゼロ(拘束がない場合)。
拘束がある場合の熱応力は $\sigma = E\alpha_{th}(T - T_{ref})$ で理論値が求まる。この一連の検証(温度場→熱応力)を連成解析として検証することで、データ転送のインターフェースの正しさも確認できる。
連成解析特有の検証ポイントはありますか?
メッシュマッピング(熱メッシュから構造メッシュへの温度転写)の精度だ。メッシュが同一なら問題ないが、異なるメッシュ間で補間する場合、補間誤差が温度場に乗る。最悪の場合、局所的な温度ジャンプが偽の熱応力を生成する。同一メッシュでの結果を基準にして、異なるメッシュ間のマッピング誤差を定量評価すべきだ。
トラブルシューティング
初期ステップでの振動
Crank-Nicolsonで解いたら、初期の数ステップで温度が100°Cを超えてしまいました。
これはCrank-Nicolsonの既知の問題で、ステップ入力に対するGibbs現象的なオーバーシュートだ。物理的に温度が入力値を超えることはないから、非物理的な結果になる。
対策:
1. 最初の5〜10ステップを後退Euler($\theta = 1$)で計算し、その後Crank-Nicolsonに切り替える
2. 時間刻みを十分小さくする($\Delta t < h^2/(6\alpha)$ 程度)
3. ランプ入力に変更(温度を数ステップかけて上げる)
4. Galerkin法($\theta = 2/3$)を使う。振動が抑制される
Abaqusではどう対処しますか?
Abaqusは過渡熱解析で自動的に最初のいくつかのインクリメントを後退Eulerで処理する。ユーザーが意識しなくてもオーバーシュートが抑制される。ただしマニュアルの記述が不明確なので、実際の挙動をテスト問題で確認しておくべきだ。
モデル長さの不足
半無限体を有限モデルで近似するとき、モデルが短すぎるとどうなりますか?
断熱端からの反射で温度が過大評価される。温度浸透前線がモデル端に到達すると、半無限体の仮定が崩れる。
対策:
- モデル長さを $L > 5\sqrt{\alpha t_{final}}$ にする
- モデル端に固定温度(初期温度)の境界条件を適用する。これは半無限体の遠方条件を近似する
- 結果を確認して端部の温度が初期温度から変化していないことを確認
端部の温度が少し変化していたらどうしますか?
モデルを延長して再計算する。温度変化が$10^{-3}$°C以下になるまでモデル長さを増やす。実務的にはerfcの漸近挙動から必要長さを事前に推定できる。erfc(3) ≈ 0.00002 だから、$x = 3 \times 2\sqrt{\alpha t}$ で温度変化は初期変化の0.002%になる。
時間刻みの自動制御
時間刻みを自動で最適化する方法はありますか?
AbaqusとCOMSOLは時間刻みの自動適応制御を備えている。Abaqusでは*HEAT TRANSFER, DELTMX=5 で「1ステップ内の最大温度変化を5°C以内」に制限し、それに合わせて$\Delta t$が自動調整される。
初期(温度勾配が急峻)では小さな$\Delta t$、後期(変化が緩やか)では大きな$\Delta t$になるから効率的だ。ただしV&Vでは自動制御の挙動を理解するため、固定$\Delta t$での結果と比較確認すべきだ。
OpenFOAMには自動時間刻み制御はありますか?
adjustTimeStep yes; maxCo 0.5; と設定すればクーラン数ベースの自動調整が効く。ただしlaplacianFoamでは対流項がないからCo数の概念が直接適用されない。maxDeltaT で上限を設定し、拡散数 $Fo = \alpha\Delta t/h^2 < 0.5$ を手動で確認するのが安全だ。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——1次元非定常熱伝導(半無限体)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告