表面張力 — CAE用語解説
表面張力
インクジェットプリンタの液滴シミュレーションで「表面張力」を設定しろって言われたんですけど、これって何に効くんですか?
理論と物理
表面張力の定義と起源
表面張力って、教科書では「液体表面が収縮しようとする力」と書いてありますが、分子レベルではなぜそうなるんですか?
良い質問だ。液体内部の分子は、周囲から均等に分子間力(例えば水なら水素結合)で引っ張られて釣り合っている。しかし、表面にある分子は、下や横からは引かれるが、空気側からはほとんど引かれない。この非対称な引力の結果、表面分子は内部に引っ張られ、表面積を最小化しようとする。これが表面張力の起源だ。水の場合、この張力は約72 mN/m (20°C)という具体的な値を持つ。
72 mN/mという力の単位が「長さ分の力」なのが直感的にわかりにくいです。どう解釈すればいいですか?
表面張力係数σは、単位長さあたりに働く力として定義される。例えば、水面に長さL=0.01mの直線を想像し、その線を横切る膜を引き伸ばすのに必要な力Fは、
表面張力は温度や不純物で大きく変わると聞きました。具体的にどのくらい変化するんですか?
その通りで、CAEではこの変化を無視できない。純水の表面張力は、温度T(°C)に対してほぼ線形に減少し、
数値解法と実装
NS方程式への組み込みと離散化
流体解析の支配方程式であるナビエ-ストークス方程式に、表面張力はどのように組み込まれるんですか?
表面張力は、自由表面や界面に垂直な圧力ジャンプとして境界条件で扱うか、あるいは体積力としてNS方程式のソース項に追加する。後者のアプローチ、特にCSF (Continuum Surface Force) モデルが広く使われる。支配方程式は、
その体積力項
CSFモデルでは、界面をスムーズにした「カラー関数」φ(例えば、流体1で1、流体2で0)を導入する。その勾配の絶対値
曲率κの計算には二次微分が含まれていますが、数値的に不安定になりませんか?特にメッシュが粗い場合。
まさにそれが表面張力計算の最大の難所だ。曲率の計算誤差は「寄生流れ(Spurious Currents)」と呼ばれる非物理的な微小渦を発生させる。対策として、曲率を直接微分で計算するのではなく、界面の幾何形状を再構築して計算するHeight Function法や、曲率平滑化(Curvature Smoothing)が用いられる。OpenFOAMの`interFoam`ソルバーでは、`cAlpha`係数で界面のシャープネスを制御し、安定性と精度のバランスを取っている。
実践ガイド
解析設定のワークフロー
実際にAnsys Fluentで水滴の落下解析をするとき、表面張力を有効にするための具体的な設定手順はどうなりますか?
まず、多相流モデルとしてVOF (Volume of Fluid)法を選択する。Phase設定で、Primary Phaseを空気、Secondary Phaseを水と定義。そのうえで、Phase InteractionダイアログのSurface Tensionタブを開き、「Surface Tension」にチェックを入れる。ここで表面張力係数を入力するが、デフォルトは0.072 N/m(水-空気)だ。現実の条件に合わせて変更する。また、「Wall Adhesion」を有効にすれば、接触角の設定も可能になる。
表面張力係数の値はどこから持ってくれば信頼できますか?また、接触角はどう決めれば?
物性値は実験データベースを参照すべきだ。例えばCRC Handbook of Chemistry and Physicsには各種液体の表面張力が温度関数で載っている。NISTのデータベースも信頼できる。接触角は材質と液体の組み合わせで決まり、実験値が必要だ。清浄なガラスと水ではほぼ0°(完全濡れ)、パラフィンと水では約110°だ。実務では、材質の表面粗さや清浄度で大きく変わるため、安全側を見て少し大きめ(撥水性を強め)に設定することが多い。
メッシュのサイズは、どのくらい細かくする必要がありますか?感度を調べるには?
界面を捉えるために、少なくとも界面の曲率半径に対して数セルは必要だ。キャピラリー長さ
ソフトウェア比較
各ソルバーのアプローチと特徴
表面張力を扱う多相流解析で、Ansys Fluent、COMSOL Multiphysics、OpenFOAMでは、計算手法にどのような違いがありますか?
コアとなる考え方はCSFモデルで共通だが、実装と界面追跡法に違いがある。Fluentは主にVOF法(幾何再構築型とDonor-Acceptor型)を採用し、曲率計算には隣接セルからの勾配を用いる。COMSOLは「レベルセット法」または「フェーズフィールド法」を選択でき、特にフェーズフィールド法は界面に自然な厚みを持たせ、曲率計算が安定しやすい。OpenFOAMの`interFoam`はVOF法(MULESアルゴリズム)を用い、オープンソース故にソースコードレベルで曲率平滑化のアルゴリズムを直接いじれるのが特徴だ。
「フェーズフィールド法」は表面張力の計算でなぜ安定なんですか?また、欠点は?
フェーズフィールド法は、界面を0.5の等値面とする秩序パラメータφの拡散方程式を解く。界面は自然に数セルの厚みを持ち、その中でφが0から1まで滑らかに変化する。表面張力は自由エネルギーの勾配として導出され、曲率の計算がφのラプラシアンに比例する形で現れる。このため、VOF法のような界面の急勾配を直接微分する必要がなく、数値的にロバストだ。欠点は、界面が物理的に厚いため、極めて薄い界面や毛細管現象の詳細を捉えるには、その厚み分だけメッシュを細かくする必要があり、計算コストが高くなりがちな点だ。
商用ソフトとオープンソースで、表面張力関連の検証用ベンチマーク問題の実装例はありますか?
いくつか標準的なベンチマークがある。1つは「静止液滴テスト」:表面張力のみが働く真空中の2D液滴を解析し、理論上のラプラス圧
トラブルシューティング
よくあるエラーと対策
解析を実行すると、界面が異常に「ちぎれた」り、ぼやけたりします。考えられる原因と対策は?
これは典型的な界面の数値拡散問題だ。原因は主に3つ。1) メッシュが粗すぎて界面を解像できない。2) 時間刻みが大きすぎる(クーラン数>0.25)。3) VOF法での界面シャープニングが不十分。対策としては、まず界面領域のメッシュを細かくする。次に、時間刻みを自動調整(例えばFluentのAdaptive Time Stepping)にし、界面のクーラン数を0.25以下に制限する。最後に、界面再構築スキーム(FluentのGeo-Reconstruct)を使用し、必要に応じて界面の「シャープニング/スムージング」係数を調整する。
表面張力を有効にしたら、計算が発散したり、残差が振動します。安定化する方法は?
表面張力項は強いソース項であり、陽的に扱うと安定性条件(表面張力に基づく時間刻み制限)が非常に厳しくなる。対策は以下の通り。1) **ソース項の陰的化**:Fluentでは「Pressure-Velocity Coupling」スキームを「Coupled」にし、「Pseudo Transient」を有効にする。これでソース項を陰的に扱える。2) **圧力の離散化スキーム**を「PRESTO!」や「Body Force Weighted」に変更し、体積力のバランスを改善する。3) **表面張力係数を段階的に増加**させる。最初は0で走らせて流れを確立させ、その後、目的の値まで数ステップでゆっくり増やす。
壁面に設定した接触角の値と、シミュレーション結果の見かけの接触角が一致しません。なぜですか?
これには複数の要因が考えられる。第一に、**メッシュの解像度**。接触線(三相線)付近のメッシュが粗いと、界面の曲率が正しく計算できず、角度がずれる。接触線の移動方向に沿ってメッシュを細かくする必要がある。第二に、**動的接触角モデル**の考慮不足。現実の接触角は、界面が前進するか後退するかで値が異なる(接触角ヒステリシス)。多くのソフトのデフォルトは静的接触角だ。Fluentでは「Dynamic Contact Angle」モデルを有効にし、前進角・後退角を設定できる。第三に、壁面近傍の**界面スムージング**が強すぎると、界面形状がぼけ、見かけの角度が変化する。
寄生流れ(Spurious Currents)の速度が無視できないレベル(例えば主流の1%)になってしまいます。これを低減する最終手段はありますか?
メッシュと時間刻みを可能な限り細かくしても寄生流れが残る場合、アルゴリズムレベルでの対策が必要だ。1) **曲率平滑化**:Fluentの「Curvature Smoothing」機能で、曲率を計算する際のサンプリング点を増やし(デフォルトは1、最大3)、スムージング反復回数を増やす(2〜5回)。2) **界面張力のモデル変更**:COMSOLなどでは、表面張力の定式化を「反変密度」ベースのものに変更するオプションがあり、離散的な保存性が向上し寄生流れを減らせる。3) **平衡状態の解析には、表面張力を圧力ジャンプとして直接与える**方法もある。つまり、初期状態でラプラス圧を計算して与え、表面張力項そのものは計算から外す。これは平衡状態の検証専用の手法だが、最も寄生流れを抑えられる。
関連トピック
なった
詳しく
報告