流体-構造連成 — CAE用語解説
FSI(流体-構造連成 / Fluid-Structure Interaction)
先生、FSIって流体と構造を同時に解くってことですよね? なんでわざわざ連成させる必要があるんですか?
流体-構造連成の理論基礎
基本概念と支配方程式
流体-構造連成(FSI)って、結局どういう現象を扱うものなんですか?「連成」という言葉が抽象的でよくわかりません。
具体的には、流体の力で構造が変形し、その変形が逆に流体の流れを変える、という相互干渉現象です。例えば、飛行機の翼のフラッター(自励振動)は典型的なFSI問題です。空気力で翼がたわみ、そのたわみが空気の流れ方を変え、さらに異なる空気力を生む…という悪循環で振動が発散します。1940年のタコマナローズ橋の崩壊も、風と橋桁のFSIが原因でした。
なるほど。では、それを数式で表現する場合、流体と構造はそれぞれどういう方程式に従うんですか?
支配方程式は別々です。非圧縮性ニュートン流体ならナビエ-ストークス方程式、構造は運動方程式です。連成の本質は、これらの方程式を「境界条件」で結びつける点にあります。具体的には、流体-構造の界面で、次の2条件が満たされなければなりません:
1. 運動学的適合条件:界面での流体と構造の変位・速度が一致。
「弱連成」と「強連成」という言葉を聞きますが、この境界条件の扱い方の違いですか?
その通りです。時間積分の1ステップ内での解法の違いです。弱連成(疎結合)は、流体ソルバーと構造ソルバーを順番に実行し、境界データ(力、変位)をその都度受け渡します。計算コストは低いですが、特に密度比が近い問題(水とゴムなど)では不安定になりやすく、発散するリスクがあります。強連成(密結合)は、流体と構造の方程式を1つのシステムとして、または反復解法を用いて同時に解きます。安定性は高いですが、反復計算が必要でコストが高くなります。Ansysでは、System Couplingが強連成アルゴリズムを提供しています。
流体-構造連成の数値計算手法
離散化とソルバー設定
メッシュの話ですが、流体と構造でメッシュが独立している場合、界面でのデータはどうやって受け渡すんですか? メッシュの位置がずれると思うのですが。
その技術をマッピング(またはインターポレーション)と呼びます。構造側の節点で計算された変位を、流体側のメッシュ(特に動くメッシュの境界)に転写する必要があります。よく使われるのは放射基底関数(RBF)法や有限要素法に基づく補間です。例えば、MPCCI(昔の汎用連成ソフト)や現在のAnsys System Couplingでは、これらのアルゴリズムが裏側で働いています。精度を保つためには、界面付近のメッシュの粗さを両側でできるだけ揃えることが重要です。
動くメッシュと言いましたが、構造が大きく変形すると流体メッシュが大きく歪んで計算が破綻しませんか?
その通りで、それがFSIの大きな難所の一つです。対策として主に3つの手法があります。
強連成を実装する場合、具体的にソルバーはどう設定するんですか? 例えば、流体と構造の時間ステップは同じにする必要がありますか?
必ずしも同じである必要はありませんが、調整が難しいです。一般的には、より速い現象(多くの場合流体側の渦の剥離)に合わせてタイムステップを決めます。Ansys FluentとMechanicalをSystem Couplingで連成する場合、「Coupling Time Step」を設定します。このステップ内で、Fluentは複数回の内部ステップを、Mechanicalは(設定により)1回のステップを実行し、データ交換と強連成反復(例えばIQN-ILS法)を行います。安定性を確保するため、連成タイムステップは構造の固有周期の1/10〜1/20以下にすることが推奨されます。
流体-構造連成の実務適用
ワークフローとチェックリスト
FSI解析を始める前の準備として、単体の流体解析と構造解析はそれぞれどれくらいの精度で済ませておけばいいですか?
これは非常に重要です。まず単体検証を徹底してください。例えば、構造モデルに静的な圧力分布を負荷して、変形量を理論値や既知データと比較します。流体モデルは、固定形状で流体力(抗力、揚力)が実験値や文献値と合うかを確認します。特に乱流モデル(SST k-ωがFSIでは一般的)の妥当性を確認すること。これらが合わない状態で連成させても、無意味な結果が得られるだけです。初期のメッシュ感度解析も単体で行い、結果がメッシュに依存しないことを確認しましょう。
連成計算が発散した場合、最初に疑うべき設定は何ですか?
以下の順でチェックすることをお勧めします。
結果の妥当性を確認するための定量的な指標はありますか? 例えば、エネルギー保存則のような。
良い着眼点です。定常状態に至る振動問題では、エネルギー収支を監視します。流体から構造への仕事率(力×速度の界面積分)と、構造の運動エネルギー・ひずみエネルギーの変化率+減衰による散逸エネルギーが釣り合うはずです。もう一つの重要な指標は界面での残差です。強連成ソルバーでは、運動学的・力学的条件の満足度を「インターフェース残差」として出力します。これが指定した許容値(例えば1e-3)以下に収束していることを必ず確認してください。COMSOLでは、この残差を直接モニターできます。
流体-構造連成のソフトウェア比較
各ソフトウェアのアプローチ
Ansys、Abaqus、COMSOLでFSIをやる場合、根本的なアーキテクチャの違いは何ですか?
アーキテクチャは大きく分けて2種類です。
オープンソースではどうですか? OpenFOAMでFSIは可能ですか?
可能です。主に2つのアプローチがあります。1つは、OpenFOAM内の「solidDisplacementFoam」のような組み込みソルバーを使う方法。もう1つは、より一般的な「preCICE」というオープンソース連成ライブラリを使う方法です。preCICEは、OpenFOAM(流体)とCalculiXやdeal.II(構造)といった全く異なるソルバーを連成できます。柔軟性が非常に高く、研究開発の現場でよく使われています。ただし、商用ソフトのようにGUIでポチポチ設定できるものではなく、ある程度のコーディングと知識が必要です。
特定の業界、例えば自動車やバイオメディカルでは、どのソフトがデファクトスタンダードに近いですか?
業界によってかなり異なります。
流体-構造連成のトラブル対応
よくあるエラーと対策
計算中に「Negative Volume Detected」というエラーで止まります。これは流体メッシュが潰れたということですか?
そうです。構造の変形が大きすぎるか急激すぎて、隣接する流体メッシュ要素がひっくり返り、体積が負になったことを意味します。対策は以下の通りです。
弱連成で計算は回るのですが、結果が明らかに「ちかちか」振動していて、物理的に不自然です。これは何が原因ですか?
それは「人工的剛性」または「チェッカーボード振動」と呼ばれる数値的不安定現象の可能性が高いです。特に、流体と構造のメッシュが界面で一致せず、マッピング誤差が生じている場合に発生します。力の受け渡しが空間的に滑らかでなく、節点毎にバラつくためです。対策は:
連成計算が非常に遅いです。ボトルネックを特定するには、どのようなログを見ればいいですか?
各ソルバーのログと、連成プラットフォームのログを分けて確認します。
関連トピック
なった
詳しく
報告