エネルギー保存 — CAE用語解説
エネルギー保存
先生、CFDで「エネルギー保存方程式」って必ず解くんですか? 流れだけ見ればいい場合は要らないのかと…
理論と物理
エネルギー保存の基本概念
エネルギー保存則って、CAEの世界では具体的にどういう形で出てくるんですか?教科書の熱力学第一法則とは違うんですか?
本質は同じです。CAEでは、解析対象の「系」に対して、流入するエネルギー、流出するエネルギー、内部エネルギーの変化、仕事のやり取りをすべて数値的に追跡することを意味します。例えば、自動車エンジンのシリンダー内燃焼解析では、燃料の化学エネルギーが、ピストンへの仕事、冷却水への熱損失、排ガスの顕熱・潜熱に分配されます。このバランスが、熱力学第一法則
構造解析でも「エネルギー保存」って言いますか?力と変位の話なのに。
もちろんです。構造の弾性変形では、外部から加えた仕事が、ひずみエネルギーとして部材内部に蓄えられます。これを支配するのが、仮想仕事の原理や最小ポテンシャルエネルギーの原理です。具体的には、荷重Fによる仕事
CFDで「残差」が収束するって言いますが、あれとエネルギー保存は関係あるんですか?
直接的な関係です。連続の式、運動量方程式、エネルギー方程式の各「残差」が十分小さくなる、ということは、各セルにおける質量、運動量、エネルギーの流入出バランス(保存則)が数値的に満たされた状態を意味します。特にエネルギー方程式の残差が、例えば1e-6まで落ち着かないと、計算領域全体の熱収支が合わず、誤った温度分布を出力します。これが収束判定基準の一つです。
数値解法と実装
離散化とソルバーでの扱い
有限要素法でエネルギー保存を保証するのは、どの段階でどうやっているんですか?
離散化の段階で、弱形式(積分形式)の支配方程式を導くことが第一歩です。これにより、領域全体でのエネルギーの流れを自然に扱えます。例えば熱伝導解析では、ガラーキン法を用いて重み付き残差法を適用し、要素ごとの熱流束の連続性を保ちながら全体マトリックスを組み立てます。ソルバーはこの連立方程式を解くだけですが、非対称マトリックスや非線形問題では、反復解法の各ステップでエネルギーバランスが一時的に崩れることがあります。
一時的に崩れるって?具体的にどんな問題が起きるんですか。
動的解析で顕著です。例えば、陰解法のニューマーク-β法で時間積分する場合、数値減衰(アルゴリズム減衰)が発生し、系の全エネルギーが物理的に説明のつかない形で減少することがあります。これを防ぐため、エネルギー保存性に優れた時間積分スキーム、例えばシンプレクティック法やエネルギー運動量保存法の採用が検討されます。Abaqus/Explicitでは、デフォルトの積分スキームは条件付き安定ですが、エネルギー誤差をモニターする機能があります。
CFDの有限体積法は「保存型」が売りだと聞きます。有限要素法とどう違うんですか?
その通り、有限体積法(FVM)の最大の利点は、離散化の定義からして各コントロールボリュームで保存則が厳密に満たされることです。コントロールボリュームの界面を通る流束(質量、運動量、エネルギー)の「和」が、ボリューム内の貯留量の変化率に等しくなるように離散化します。一方、有限要素法(FEM)は、変分原理に基づくため、全体としての保存性は保証されますが、個々の要素レベルでは必ずしも保存的ではありません。ただし、FEMでも保存型の離散化スキームは研究されています。
実践ガイド
解析ワークフローでの確認ポイント
実際の解析で「エネルギー保存が成り立っているか」をユーザーが確認する方法はありますか?
主要なソフトでは、エネルギー収支レポートを出力する機能があります。Ansys Mechanicalで熱解析を行う場合、「Solution Information」で「Heat Flux」や「Heat Flow Rate」を要求し、流入熱量と流出熱量の合計がゼロ(定常状態)または内部エネルギーの変化と一致する(過渡状態)かを確認します。許容誤差は用途によりますが、一般的に0.1%〜1%以内が目安です。1Wの入力に対して、1mWの不均衡は許容できるが、100mWはモデルや境界条件を見直す必要があります。
動的構造解析では、運動エネルギーとひずみエネルギーの和が保存されるはずですよね?それが大きく変動していたら、まず何を疑えばいいですか?
まず疑うのは「数値減衰(ダンピング)の設定」です。過渡応答解析で構造減衰(Rayleigh dampingなど)を過大に設定していないか。次に「時間積分ステップ」です。Explicit法では安定性限界(Courant条件)を超える大きなステップを使うと、エネルギーが爆発的に増加することがあります。逆に、Implicit法では数値減衰が働きすぎてエネルギーが減りすぎることも。Abaqusでは、ALLIE(全体内部エネルギー)とALLKE(全体運動エネルギー)の時系列出力を確認し、外力による仕事(ALLWK)と比較するのが定石です。
境界条件の設定ミスでエネルギー保存が破れる具体例は?
よくあるのは「熱解析での断熱条件の忘れ」です。現実の部品は周囲への自然対流や放射で熱を逃がしますが、これを境界条件で定義しないと、入力した熱がすべて内部に蓄積され、非現実的な高温を計算します。もう一つは「CFDでの圧力境界条件の不整合」です。流入境界で質量流量を、流出境界で圧力を指定した場合、計算が進むにつれて領域内の質量(つまりエネルギーを運ぶ媒体)が増え続けたり減り続けたりすることがあります。常に全体の質量収支レポートを確認すべきです。
ソフトウェア比較
各ソフトでのエネルギー収支の扱い
Ansys FluentとCOMSOL Multiphysicsで、エネルギー保存の扱いや確認のしやすさに違いはありますか?
コンセプトの違いが現れます。Fluentは有限体積法ベースなので、各反復ステップで「Flux Reports」を出力すれば、任意の面または領域を通る熱流束やエンタルピー流束を直接合計できます。また、「Surface Integrals」で熱伝達率や放射熱流束を積分するのも簡単です。一方、COMSOLは「派生値」機能が強力で、モデルツリー上で「積分」や「平均」を定義し、任意のドメインや境界でのエネルギー流束の総和をリアルタイムでプロットできます。多物理場結合が前提なので、電磁発熱と熱伝導のエネルギー受け渡しも自動で追跡できます。
Abaqus/Explicitの「エネルギー出力」には、ALLIE, ALLKE, ALLVD, ALLFDなどたくさん種類があります。これらは全部足すと保存されるんですか?
良い質問です。Abaqus/Explicitにおけるエネルギーバランスは以下の式で表されます:
無償のCAEソフト(CalculiX, OpenFOAM)でも、エネルギー収支の確認は同じようにできるんですか?
原理は同じですが、機能の完成度や出力の見やすさは商用ソフトに劣ります。OpenFOAMでは、`controlDict`ファイルに`functions`ブロックを記述し、計算中に特定パッチの熱流束や質量流量を積分・出力するように設定できます。ただし、これはユーザー自身が設定する必要があります。CalculiX(CCX)では、静解析ではエネルギー出力は標準ではありませんが、動的解析では`.dat`ファイルに運動エネルギーと内部エネルギーが出力されます。いずれにせよ、商用ソフトのようなグラフィカルなエネルギー収支レポートはなく、出力された数値データを自分で処理して確認することになります。
トラブルシューティング
よくあるエネルギー不均衡と対策
熱流体連成解析(CHT)で、固体側と流体側の界面で熱流束が一致せず、エネルギーが「消失」しているように見えます。原因は?
最も多い原因は「界面でのメッシュ不一致と補間誤差」です。固体と流体で異なるメッシュを貼り、データを補間して受け渡す場合、補間アルゴリズムによって微小な誤差が生じます。Ansys WorkbenchのSystem Couplingなどでは、これを軽減するために「保守的インターポレーション」オプションがあります。次に「時間ステップの非同期」です。固体と流体で最適な時間ステップが異なるため、データの受け渡し間隔が粗すぎると、瞬間的な熱流束のピークを見逃し、エネルギーが保存されないことがあります。インターポレーション誤差は、メッシュを細かくし、界面で節点を一致させることで大幅に低減できます。
非線形構造解析(接触・大変形)で、外力の仕事と内部エネルギーの和が、時間とともにドリフト(徐々にずれ)していきます。これは許容される誤差ですか?
微小なドリフトは数値誤差として避けられませんが、傾向として増大する場合は問題です。まず「接触設定」を疑ってください。接触アルゴリズム(ペナルティ法、ラグランジュ乗数法)によっては、接触力が仕事をしない「拘束」として扱われ、エネルギー収支から漏れることがあります。Abaqusのデフォルト接触はペナルティ法で、わずかな浸透が生じ、これがエネルギードリフトの原因になり得ます。対策は、1) 接触制約の許容値(「滑り許容値」や「ペナルティ剛性」)を厳しくする、2) ラグランジュ乗数法に切り替える(ただし計算コスト増)、3) 出力される「人工的エネルギー(ALLAE)」を監視し、総エネルギーに対する比率が数%を超えないようにすることです。
定常状態のCFD解析なのに、計算領域全体のエンタルピーがわずかですが増加し続けます。どこからエネルギーが湧いて出てきているんですか?
これは「数値的発散」の古典的な兆候です。原因は主に二つ。第一に「圧力-速度連成の不安定さ」です。SIMPLEアルゴリズム系のソルバーで緩和係数が大きすぎると、発散することがあります。第二に「境界条件の不整合」、特に「流入・流出境界での再循環」です。流出境界で逆流(リバースフロー)が発生していると、その境界条件(例えば圧力固定)が物理的に不適切になり、領域内に質量とエネルギーが「閉じ込められ」て増加して見えます。対策は、1) ソルバーの緩和係数を下げる(0.2程度から始める)、2) 流出境界で逆流が起きないように十分下流に設定する、または「圧力流出」条件を使う、3) 初期条件を現実的な値にすることです。
関連トピック
なった
詳しく
報告