分離型連成(Partitioned CHT)によるCFD-FEM熱連成解析
理論と物理
概要 — 分離型連成とは何か
先生、分離型連成って流体と固体を別々に解くんですか? 一緒に解く直接連成とどう違うんですか?
いい質問だ。分離型連成(Partitioned Conjugate Heat Transfer)は、流体側をCFDソルバー、固体側をFEMの熱伝導ソルバーでそれぞれ独立に解いて、流体-固体の界面で温度と熱流束を交互にやり取りする手法だ。
なるほど、別々に解くメリットってあるんですか? わざわざ分けなくても…
最大のメリットは既存のCFDコードとFEMコードをそのまま使えることだ。例えばガスタービンブレードの冷却設計では、外部の高温ガス流路はAnsys Fluentで解いて、ブレード内部の固体熱伝導はAbaqusで解く——こういう組み合わせが実務の標準になっている。直接連成だと1つのソルバーに全部を詰め込む必要があるから、開発コストも計算コストも跳ね上がる。
え、でも別々に解くと精度が落ちたりしないんですか?
界面で十分に反復すれば直接連成と同じ精度に収束する。ただし収束に時間がかかる場合がある——特に固体と流体の熱容量比が近い場合は収束が遅くなる。そこで登場するのが緩和係数やAitken加速といったテクニックだ。あとで詳しく見ていこう。
分離型連成の基本的な考え方は、共役熱伝達(CHT)問題を次の2つのサブ問題に分割することにある。
- 流体サブ問題: Navier-Stokes方程式 + エネルギー方程式(CFDソルバーで解く)
- 固体サブ問題: 熱伝導方程式(FEMソルバーで解く)
これら2つのソルバーを「界面条件」で結合し、反復的に整合解を求める。
Dirichlet-Neumann界面条件
界面で温度と熱流束をやり取りするって言ってましたけど、具体的にどういう式になるんですか?
界面 $\Gamma$ では2つの条件が物理的に成り立つ。まず温度の連続性(Dirichlet条件):
そして熱流束の連続性(Neumann条件):
$k_f$ と $k_s$ はそれぞれ流体と固体の熱伝導率ですね。$n$ は界面の法線方向…。つまり「界面で温度が一致して、入ってくる熱と出ていく熱が等しい」ということですか?
その通り。分離型連成では、この2つの条件を交互に各ソルバーに与える。典型的なDirichlet-Neumann分割法では:
- 固体ソルバーに界面温度 $T_\Gamma$ を与える(Dirichlet条件)→ 固体側の温度場を求め、界面での熱流束 $q_\Gamma$ を算出
- 流体ソルバーに界面熱流束 $q_\Gamma$ を与える(Neumann条件)→ 流体側の温度場を求め、界面での温度 $T_\Gamma^{\text{new}}$ を得る
- $T_\Gamma^{\text{new}}$ を新しい界面温度として1に戻る
これを温度が収束するまで繰り返すんだ。
なるほど! キャッチボールみたいに温度と熱流束を投げ合うイメージですね。
緩和係数と安定化
さっき緩和係数が大事だと言ってましたけど、なぜそのまま温度を使い回さないんですか?
新しく得られた界面温度 $T_\Gamma^{\text{new}}$ をそのまま次の反復に使うと、振動が起きて発散することがある。特に固体の熱容量が流体より小さい場合に顕著だ。そこで緩和(under-relaxation)をかける:
ここで $\omega \in (0, 1]$ が緩和係数(relaxation factor)、$k$ は反復回数のインデックスである。
$\omega$ が1だとそのまま更新、0に近いと前回の値をほぼ保持するってことですか?
そうだ。$\omega$ が小さいと安定だけど収束が遅い、大きいと速いが発散リスクがある。実務では $\omega = 0.3 \sim 0.7$ が出発点で、問題に応じて調整する。これは数値計算でよくある「安定性と収束速度のトレードオフ」だ。
例えばガスタービンブレードだと、どのくらいの $\omega$ を使うんですか?
ブレードのような薄い固体に高温ガスが当たるケースでは、固体側の熱容量が相対的に小さくなるから、$\omega = 0.3 \sim 0.5$ から始めることが多い。後で説明するAitken加速を使えば、$\omega$ を動的に調整できるから、固定値で悩む必要がなくなる。
収束判定基準
何回反復すれば「収束した」と判断していいんですか?
界面温度の変化が十分小さくなったら収束と判定する。一般的な基準は:
ここで $\varepsilon_{\text{rel}}$ は相対収束閾値で、工学的な精度としては $10^{-4} \sim 10^{-6}$ が用いられる。同時に熱流束の連続性残差も監視する:
温度と熱流束の両方を見るんですね。実際のケースだと何回くらい反復するものですか?
問題の性質と緩和手法次第だ。固定緩和で $\omega = 0.5$ だと10〜30回程度。Aitken加速を使えば5〜10回で済むことが多い。ただし強い非線形性(例えば輻射や相変化)がある場合は50回以上必要になることもある。
安定性条件と熱容量比
さっき「固体の熱容量が流体より小さいと発散しやすい」と言ってましたけど、理論的な根拠はあるんですか?
ある。分離型CHTの安定性はCausin, Gerbeau & Nobile(2005)らによって厳密に解析されていて、Dirichlet-Neumann分割でNeumannを流体側に与える場合、安定性条件は界面の「追加質量効果」に帰着する。ざっくり言うと、流体の熱容量 $\rho_f c_{p,f}$ が固体の $\rho_s c_{p,s}$ に対して相対的に大きいとき、無緩和では不安定になる。
定量的には、緩和係数の安定上限は:
ここで $L_s, L_f$ はそれぞれ固体・流体側の代表長さである。
例えば液体金属(ナトリウム冷却)だと $\rho_f c_{p,f}$ が大きいから不安定になりやすいってことですね?
まさにその通り。液体ナトリウム冷却の原子炉燃料棒のCHT解析は、分離型連成が最も苦手とするケースの1つだ。そういう場合はDirichletとNeumannの役割を入れ替える(Robin-Neumann法やRobin-Robin法)と安定化できる。実務ではpreCICEライブラリがこの辺りの加速手法を自動で切り替えてくれる。
「ピンポン」か「キャッチボール」か
分離型連成の反復を「ピンポン法」と呼ぶ研究者もいるが、個人的には「キャッチボール」の方が実態に近いと思う。ピンポンは相手の球をそのまま打ち返すが、分離型連成では受け取った球(温度)にソルバーの計算という「変化」を加えて返す。しかも緩和係数で球速を調整する——速すぎると相手が捕れない(発散する)から、ちょうどいい速さ($\omega$)で投げ返すのがコツだ。
各項の物理的意味
- 界面温度 $T_\Gamma$:固体-流体境界面での温度。この値が両側で一致することが物理的要件。ガスタービンブレード表面では700〜1000℃、電子機器筐体では50〜100℃程度。
- 界面熱流束 $q_\Gamma$:界面を通過する単位面積あたりの熱量 [W/m²]。フーリエの法則 $q = -k \partial T / \partial n$ で算出。流体側からの対流熱伝達と固体内の熱伝導が釣り合う。
- 緩和係数 $\omega$:反復の安定性を制御する無次元パラメータ。$\omega = 1$(無緩和)は強連成の極限に対応し、$\omega \to 0$ は「ほぼ更新しない」保守的な設定。
- 熱容量比 $\rho c_p$:材料が温度変化に「抵抗する」度合い。鋼の $\rho c_p \approx 3.6$ MJ/(m³·K)、空気の $\rho c_p \approx 0.0012$ MJ/(m³·K) で約3000倍異なる。この比が安定性を支配する。
仮定条件と適用限界
- 界面は固定(変形しない)と仮定。流体-構造連成(FSI)のように界面が移動する場合は追加の処理(ALE法等)が必要
- 界面での温度ジャンプ(熱抵抗)はゼロと仮定。接触熱抵抗がある場合はRobin条件で対応
- 化学反応やアブレーションを伴う場合(再突入体の熱防護材など)は、質量・エネルギーの追加の界面条件が必要
- 定常CHT問題では反復回数のみが問題だが、非定常では各時間ステップ内で収束が必要(サブイテレーション)
数値解法と実装
反復アルゴリズムの全体像
理論は分かったんですが、実際のアルゴリズムを疑似コードで見せてもらえますか?
定常問題のDirichlet-Neumann分離型連成の疑似コードはこうなる:
- 界面温度の初期推定 $T_\Gamma^{0}$ を設定
- do $k = 0, 1, 2, \ldots$
- 固体ソルバー: $T_\Gamma^k$ をDirichlet BCとして熱伝導方程式を解く → 界面熱流束 $q_s^k$ を算出
- 流体ソルバー: $q_s^k$ をNeumann BCとしてNS + エネルギー方程式を解く → 界面温度 $T_f^k$ を取得
- 緩和: $T_\Gamma^{k+1} = \omega \, T_f^k + (1 - \omega) \, T_\Gamma^k$
- 収束判定: $\| T_\Gamma^{k+1} - T_\Gamma^k \| / \| T_\Gamma^{k+1} \| < \varepsilon$ なら終了
- end do
シンプルですね! でも実際の実装で面倒なのは、2つのソルバー間でデータをどう受け渡すかですよね?
鋭いね。データ受け渡しには3つの課題がある:
- メッシュの不一致: CFDメッシュとFEMメッシュの界面上のノード位置が異なる → 補間が必要
- データ形式の違い: ソルバーごとに温度・熱流束の出力形式が異なる
- プロセス間通信: MPI並列の場合、異なるプロセスグループ間でのデータ転送
これらを自動化してくれるのがMpCCIやpreCICEといった連成ミドルウェアだ。
Aitken加速と準ニュートン法
固定の $\omega$ だと遅いって話でしたけど、動的に最適化する方法を教えてください。
最も広く使われるのがAitken $\Delta^2$ 加速だ。反復ごとに最適な緩和係数を自動推定する:
ここで $r^k = T_f^k - T_\Gamma^k$(残差)、$\Delta r^k = r^k - r^{k-1}$(残差の差分)である。
つまり前の2回の反復結果から最適な $\omega$ を推定するんですね。Newton法みたいなものですか?
概念的にはそう。さらに高度な手法として準ニュートン法(Quasi-Newton: IQN-ILS)がある。過去数回の反復履歴から界面の「ヤコビアン」を近似し、多次元での最適な更新方向を求める。preCICEではIQN-ILSがデフォルトの加速手法で、多くのCHTベンチマークで最速の収束を示している。
| 加速手法 | 収束速度 | メモリ使用 | 実装難易度 |
|---|---|---|---|
| 固定緩和 | 遅い(線形) | O(1) | 簡単 |
| Aitken $\Delta^2$ | 中程度 | O(N) | 簡単 |
| IQN-ILS(準ニュートン) | 速い(超線形) | O(N·m) | 中程度 |
| Anderson加速 | 速い | O(N·m) | 中程度 |
異種メッシュ間の補間
CFDとFEMで界面のメッシュが違うとき、どうやって温度や熱流束を受け渡すんですか?
主に3つの手法がある:
- 最近傍補間: 最も近いノードの値を使う。簡単だが精度が低い
- RBF(放射基底関数)補間: 全ノードの値から滑らかな補間面を構築。精度が高いが大規模問題ではコストが大きい
- 射影法(Mortar法): 界面要素の重なりを厳密に計算して保存的な転送を実現。熱流束の保存性が最も高い
重要なのは、温度にはPoint-to-Point補間で良いが、熱流束には保存的な転送(界面全体で熱量の総和が一致する)が必要だということ。でないとエネルギーが生成/消滅してしまう。
非定常問題の時間積分
非定常解析だと、毎ステップ反復が必要になるんですか? めちゃくちゃ時間がかかりそう…
それが分離型連成の最大の計算コスト要因だ。各時間ステップ $\Delta t$ 内で界面反復(サブイテレーション)が必要になる。ただし対策はある:
- Loose coupling: 各ステップ1回だけ交換(反復なし)。精度は低いが高速。時間刻みが十分小さければ許容可能
- Tight coupling: 各ステップで収束まで反復。精度保証あり
- 予測子の活用: 前ステップの解から次の界面温度を外挿し、初期推定の精度を上げて反復回数を削減
非定常問題では、流体側と固体側で異なる時間刻みを使うことも可能(subcycling)。流体の対流時間スケール $\Delta t_f \sim \Delta x / u$ と固体の熱拡散時間スケール $\Delta t_s \sim \Delta x^2 / \alpha_s$ は大きく異なる場合が多く、subcyclingにより計算効率を大幅に改善できる。
陽解法と陰解法のたとえ
Loose couplingとTight couplingの違いは「天気予報を1回で出す vs 何度も修正して出す」に似ている。Loose couplingは速いが精度に不安が残る。Tight couplingは時間がかかるが信頼できる。どちらを選ぶかは「外れたときのリスク」——つまり温度予測のズレがどこまで許容されるか——で判断する。安全関連部品(原子炉、航空エンジン)ではTight coupling一択だ。
実践ガイド
分離型CHTの解析フロー
理論は分かったので、実際にどういう手順で解析するのか教えてください。
分離型CHTの標準的な解析フローはこうだ:
- ジオメトリの分割: 解析対象を流体ドメインと固体ドメインに分割し、界面を定義する
- 個別メッシュの作成: 流体側(CFD用)と固体側(FEM用)でそれぞれ最適なメッシュを独立に生成
- 連成インターフェースの設定: 界面の対応関係、補間方法、緩和パラメータを設定
- 各ソルバーの境界条件設定: 界面以外の外部境界条件をそれぞれに設定
- 連成実行: 反復を開始し、収束を監視
- 後処理: 界面温度/熱流束の分布、エネルギー収支を確認
メッシュを独立に作れるのが分離型の強みですよね。流体側は境界層を解像する細かいメッシュ、固体側は比較的粗くてOKとか。
その通り。直接連成だと界面でメッシュが一致する必要があるから、固体側に不必要な細かさを強いられることがある。分離型なら各ドメインに最適なメッシュを自由に選べる——これは計算効率とメッシュ品質の両方に効くメリットだ。
界面メッシュの設計指針
界面のメッシュで気をつけることはありますか?
- 要素サイズ比: 流体側と固体側の界面要素サイズの比は1:1〜1:5程度に抑える。10倍以上の差があると補間誤差が大きくなる
- CFD側の境界層メッシュ: $y^+ \approx 1$ の壁面第1層は温度の壁法則の精度に直結する。壁面熱流束の精度 ≈ 温度勾配の精度
- 固体側の界面付近: 壁面近傍に最低2〜3層の要素を配置し、壁面方向の温度勾配を解像
- 界面のジオメトリ一致: 両メッシュの界面形状は完全に一致させること。同じCADサーフェスから切り出すのがベスト
商用ツール別の設定手順
実際のソフトウェアだとどう設定するんですか? 例えばAnsysの場合は?
主要ツールの設定方法を紹介しよう。
Ansys System Coupling(Fluent + Mechanical)
- Workbenchで「System Coupling」コンポーネントを配置し、FluentとMechanicalをドラッグ&ドロップで接続
- Data Transfers: 温度(Fluent → Mechanical)、熱流束(Mechanical → Fluent)を定義
- Coupling Controlsで反復回数上限(デフォルト5)と収束基準($10^{-4}$)を設定
- Under-relaxation: Ansys 2024R1以降はAdaptive(自動)がデフォルト
STAR-CCM+内蔵CHT
- Simcenter STAR-CCM+は固体領域をCFDメッシュ内に直接定義するため、厳密には分離型ではなく疑似分離型
- ただしCo-Simulationモードを使えば外部FEMソルバー(Abaqus, Nastran等)との分離連成が可能
- Interface設定でMapped Contact Interfaceを選択し、Coupling Type = "Iterative"を指定
OpenFOAM + preCICE
- preCICEアダプタをOpenFOAMにリンクし、
precice-config.xmlで連成設定を記述 - 加速手法(IQN-ILS)、収束基準、データマッピング方法を全てXMLで制御
- 固体側はdeal.II, FEniCSx, CalculiX等の任意のFEMソルバーを使用可能
よくある失敗と対策
先生、分離型連成で初心者がハマりやすいポイントを教えてください。先に知っておきたいです。
よし、実務で本当に多いトラブルを挙げよう。
| 症状 | 原因 | 対策 |
|---|---|---|
| 界面温度が振動して収束しない | 緩和係数 $\omega$ が大きすぎる | $\omega$ を0.3程度に下げるか、Aitken加速を有効化 |
| 温度は収束するが熱流束が不一致 | 補間方法が非保存的 | 保存的転送(Mortar法)に切り替え、エネルギー収支を確認 |
| 界面付近で非物理的な温度ジャンプ | 界面のジオメトリ不一致(隙間/重なり) | CADレベルで界面形状を統一、トレランスを厳しく設定 |
| 反復ごとにCFDソルバーが発散 | 界面熱流束の急変が流れ場を乱す | CFD側にも温度の緩和を入れる、初期の数反復はloose couplingで暖機 |
| 計算時間が予想の10倍以上 | tight couplingで各ステップ50回以上反復 | IQN-ILS加速の導入、または物理的根拠があればloose couplingに切替 |
界面のジオメトリ不一致ってありがちですよね。CFDとFEMで別々にCADを読み込んでトリムすると微妙にずれるとか…
それは本当によくある。対策として界面サーフェスを1つのファイルから両ソルバーに共有するのがベストプラクティスだ。例えばSTLやSTEPで界面形状をエクスポートし、CFDとFEMの両方でそのサーフェスをインポートして壁面/界面として使う。これで幾何学的な不一致はゼロにできる。
ガスタービンブレードの冷却設計事例
Rolls-Royce社のTrentエンジン開発では、高圧タービンブレードの冷却設計にFluent(外部ガス流路、1500℃級の高温ガス)とAbaqus(ブレード内部のニッケル合金、内部冷却流路)の分離連成が使われた。ブレード表面のフィルム冷却効率を正確に予測するため、CFD側は1,200万要素のLESメッシュ、固体側は200万要素の二次六面体メッシュという、直接連成では到底組めない組み合わせが実現された。界面の反復回数はAitken加速で平均7回に抑えられ、定常解析1ケースあたり約48時間(128コア)で完了した。
ソフトウェア比較
連成ミドルウェアとフレームワーク
分離連成をやるためのソフトって、どんな選択肢があるんですか?
大きく分けて3つのカテゴリがある:
- 商用統合環境: Ansys System Coupling, STAR-CCM+ Co-Simulation — 自社製品間の連成に最適化
- 商用ミドルウェア: MpCCI(Fraunhofer SCAI)— 異ベンダー間の連成を仲介
- オープンソース: preCICE, OpenPALM — 研究用途から産業応用まで
| ツール | 種別 | 対応ソルバー | 加速手法 | 費用 |
|---|---|---|---|---|
| Ansys System Coupling | 商用統合 | Fluent, Mechanical, CFX, Icepak | Adaptive relaxation | Ansysライセンスに含む |
| MpCCI | 商用ミドルウェア | Fluent, STAR-CCM+, Abaqus, Nastran等 | 固定/Aitken緩和 | 年間約80万円〜 |
| preCICE | OSS (LGPL) | OpenFOAM, CalculiX, deal.II, FEniCSx等 | IQN-ILS, Aitken, Anderson | 無料 |
| OpenPALM | OSS (LGPL) | 任意のFortran/C/C++コード | ユーザー定義 | 無料 |
| STAR-CCM+ Co-Sim | 商用統合 | Abaqus, GT-SUITE等 | 固定緩和 | STAR-CCM+ライセンスに含む |
主要ツールの機能比較
結局、どれを選べばいいですか? 予算と目的で変わるとは思いますが…
選定の判断基準を整理しよう:
- 同一ベンダーで完結する場合(Fluent + Mechanical等): ベンダー統合環境が最もセットアップが楽
- 異ベンダー間の連成(Fluent + Abaqus等): MpCCIが実績豊富。自動車業界ではデファクトスタンダード
- 研究・カスタム開発: preCICEが柔軟性と加速手法の先進性で圧倒的。論文も多い
- 大規模HPC: preCICEのv3.0以降はGPU間データ転送に対応し、10億自由度級の問題にも適用実績あり
preCICEがオープンソースでそこまで高機能なのは意外です。研究室でも使えそうですね!
preCICEはドイツのTU Munichとシュトゥットガルト大学が中心に開発していて、BMW, Siemens, DLR(ドイツ航空宇宙センター)なども利用している。学術と産業の両方で実績があるのが強みだ。チュートリアルも充実していて、OpenFOAM + CalculiXの組み合わせなら1日で動かせるようになるよ。
ツール選定で最も重要な3つの問い
- 「どのソルバーを組み合わせるか」: 使いたいCFDとFEMが同一ベンダーならSystem Coupling。異ベンダーならMpCCIかpreCICE。
- 「どの加速手法が必要か」: 難しい問題(液体金属冷却、薄壁構造)はIQN-ILSが必須。シンプルな問題ならAitkenで十分。
- 「将来のスケーラビリティ」: HPCで数千コアに拡張する予定があるなら、MPIベースの並列連成を最初から考慮する。
先端技術
サロゲートモデルによる加速
分離型連成って反復が多いから遅いという話でしたが、最新の研究ではどうやって高速化しているんですか?
注目されているのは機械学習による加速だ。具体的には:
- PINN(Physics-Informed Neural Network): 界面の温度-熱流束関係を学習し、反復の初期推定を大幅に改善
- ROM(Reduced Order Model): 高コストなCFD/FEMソルバーの代わりに低次元の代理モデルを使い、最初の数反復を高速実行。最終収束のみフルモデルで確認
- Digital Twinへの応用: リアルタイムの温度モニタリングにROMベースの分離連成を使い、実機の熱状態を推定
すごい、分離連成とAIの組み合わせなんですね。将来的にはリアルタイムでCHTが解ける時代が来るんでしょうか。
部分的にはもう実現している。GEのH-class ガスタービンのDigital Twinでは、運転中のブレード温度をROMベースCHTで10秒以下で更新している。フルCFDでは数時間かかる計算だ。ただしROMの精度はトレーニングデータの範囲内に限定されるから、設計変更が大きい場合はフルモデルに戻る必要がある。
HPCにおける並列分離連成
大規模HPC環境で分離連成を走らせるときの注意点は?
最大のボトルネックは界面データ通信だ。CFDとFEMが別々のMPIコミュニケータで動いているから、界面データの交換でプロセス間通信が発生する。
- 通信量の最小化: 界面ノードのみを通信(フルモデルの1%以下)
- 非同期通信: データ転送中に計算を進める。preCICE v3.0で対応
- GPU-Direct通信: GPU上のソルバー同士でGPUメモリから直接データ転送(NVLink/Infiniband RDMA)
| 規模 | コア数 | 界面自由度 | 通信時間(1反復) | 備考 |
|---|---|---|---|---|
| 小規模 | 〜100 | 〜10万 | < 0.1秒 | 通信はボトルネックにならない |
| 中規模 | 100〜1,000 | 10万〜100万 | 0.1〜1秒 | RBF補間のコストが顕在化 |
| 大規模 | 1,000〜10,000 | 100万〜1,000万 | 1〜10秒 | Mortar法の並列化が必要 |
| 超大規模 | 10,000+ | 1,000万+ | 10秒+ | GPU-Direct必須 |
トラブルシューティング
界面反復の発散対策
先生、分離連成が発散したときの系統的なデバッグ手順ってありますか?
発散したらまず以下の手順で切り分けよう:
- 各ソルバー単体で動くか確認: 流体側は固定温度壁面、固体側は固定熱流束で個別に解く。単体で発散するなら連成の問題ではない
- 界面残差の推移をプロット: 残差が振動→ $\omega$ を下げる。単調増加→D-N分割の方向を逆にする
- 簡単な問題で検証: 平板の層流CHT(Graetz問題)で連成が正しく動くか確認。解析解があるので検証が容易
- メッシュの界面一致を確認: 隙間や重なりがないかビジュアルにチェック
Graetz問題で検証するのは良いアイデアですね! 解析解と比較できるから確実です。
そう、検証(Verification)は「簡単な問題で正しく解けるか」、妥当性確認(Validation)は「実験と合うか」だ。分離連成で最初にやるべきは検証。解析解のある問題で連成フレームワークの正しさを確認してから、実問題に進むのが鉄則だ。
ソルバー別エラー事例
具体的なエラーメッセージと対処法も知りたいです。
Ansys System Coupling
| エラー | 意味 | 対策 |
|---|---|---|
Coupling iteration did not converge | 界面反復が指定回数内に収束しなかった | Max Iterationsを増やす(10→25)、Under-relaxationを小さくする |
Mapping failed: no target elements found | 界面の対応付けに失敗 | Named Selectionの名前が両ソルバーで一致するか確認 |
Energy imbalance exceeds tolerance | 界面でのエネルギー保存が破れている | Conservative mappingに切り替え、メッシュ密度比を確認 |
preCICE
| エラー | 意味 | 対策 |
|---|---|---|
Quasi-Newton will be reset | IQN-ILS加速で残差が増加し、ヤコビアン近似をリセット | 初回反復のみ固定緩和($\omega=0.3$)を使う設定に変更 |
Received mesh is empty | 界面メッシュの転送に失敗 | ソルバーアダプタの界面名とprecice-config.xmlの名前を一致させる |
Relative convergence measure: inf | 全ノードの値がゼロ(初期化ミス) | 初期条件で界面温度に非ゼロの値を設定する |
MpCCI
| エラー | 意味 | 対策 |
|---|---|---|
No intersection found | 界面ジオメトリが重なっていない | Tolerance(デフォルト0.1mm)を大きくする or メッシュの座標系を確認 |
License check failed | MpCCIライセンスの認証失敗 | ライセンスサーバーへの接続を確認 |
いやぁ、分離型連成って奥が深いですね。でも先生の説明のおかげで全体像がつかめました。まずはGraetz問題でpreCICEを動かしてみます!
いい心がけだ。preCICEのチュートリアルに「flow-over-heated-plate」があって、まさに分離型CHTの入門に最適だ。OpenFOAMとCalculiXの組み合わせで動くから、オープンソースだけで試せるよ。結果は解析解と比較して、温度分布が±2%以内に収まればOKだ。頑張って!
初心者が陥りやすい落とし穴
「固定温度の壁面条件を使ったCFD単体解析と結果が合わない」——これは正常な挙動だ。固定温度のCFD解析では壁面温度が「入力」だが、CHT解析では壁面温度が「結果」。流体の対流冷却で壁面温度が下がり、それに応じて固体内の温度分布も変わる。つまりCHT解析は「自己整合的な解」を求めているから、壁面温度を固定した解析とは根本的に異なる結果になって当然だ。
関連トピック
なった
詳しく
報告