1.Xfoilの背景:中で何をしているのか?


 Xfoilの背景について,私の拙い知識の一部で,Xfoilが中で何をしているのかを手短にご紹介したいと思います。車と同じように,運転するのに中身の知識があった方がちょっとは楽しいかもしれません。

 本文で紹介したように,Xfoilはパネル法と境界層方程式を組み合わせた2次元粘性流解析コードです。

 パネル法とは,2次元または3次元物体の表面を有限個数のパネルに分割し,それぞれのパネルに,それ自身が持つパラメータ,パラメータの値により外部の場に影響するある関数,そしてそのパネル自身に関する境界条件を付加して,全てのパネルについて境界条件を満たすようにそれぞれのパネルの持つパラメータ値を計算する方法です。この方式は一般的には境界要素法と呼ばれ,一般的な問題の中でも表面のデータのみで済む場合に好んで使用されます。
(Xfoilの前身のISESは,パネル法ではなくオイラー方程式という,翼型の外の空間も分割して非粘性流の解析を行う方法を用いていました。)

 Xfoilの場合,翼型の表面をある個数に分割(参考文献では,精度を出すためには120点以上必要と記述してある),さらに翼型の後流にもパネルを配置します。それぞれのパネルが持つ値は,翼型表面には渦度γ(表面での速度と等価)とわき出しσ,後流にはσのみです。γは速度分布,σは境界層の厚さに影響します。

 γの分布は,それぞれのパネルの端にある節点での値を線形補間したもので,これはEpplerコードよりも一つ近似次数が少ないものになっています。(おそらく,近似次数を上げるよりもパネルの数を増やして解像度を上げた方がバブルの再現などで結局有利としたのではないかと私は思っています。)

 Xfoilはまず非粘性でγと後縁のσを求めます。これは,迎角0°と迎角90°(!)の2ケースを計算してそれぞれの速度分布を記憶し,後に与えられる迎角のcosとsinをそれぞれのケースにかけて,与えられた迎角での速度分布を求めるという,一般的に用いられる手法を使っています。(この時点では問題が線形なので,これで正しい結果が得られます。いちいち与えられた迎角で計算するのは時間の無駄です。)

 境界層とは,物体表面と周りの流れとの間に存在する,粘性により流れの速度が周りの流れのものから物体表面の0まで変化するある分布を持った層のことです。流体の慣性力と粘性力の比であるレイノルズ数が十分大きい領域では,この境界層の厚さは物体の大きさに比べて十分小さく,境界層の性質は,流れの方向の速度分布が得られていれば物体形状には直接関係なく求めることができます。

 境界層方程式は,流れが下流に向かうに従って境界層断面での速度分布と境界層の厚さがどのように変化してゆくかを数学モデルにしたものです。後縁での境界層の厚さが翼型の2次元抗力係数に対応します。 (しかし,Xfoilの揚力/抗力係数計算は,実際には翼型表面の圧力係数と摩擦係数の積分で求めます。)

 私がMathcadで書いてみたEppler氏のコードの場合,前縁のよどみ点から上下面をそれぞれ後縁に向かって順々に積分してゆくと一回のイタレーションで境界層の厚さが求まりますが,Xfoilの場合はもっと複雑な手順を用います。

 Epplerコードの場合,まず非粘性でγを解いて表面の速度分布を求め,「境界層は十分薄く,境界層の外の速度も非粘性の速度と同じである」との仮定の下に境界層方程式を解いて境界層の厚さを求めます。

 ですから境界層が薄く,層流からそのまま乱流に遷移するような,実機グライダーの領域以上のレイノルズ数ではとても精度の良い結果を出すのですが,境界層が厚くなる低いレイノルズ数の解析や,セパレーションバブルの再現にはどちらかというと不向きです。しかし,1イタレーションで1ケースの解析が終了するので非常に高速ですから,ウェブ上で操作できる翼型解析ページはこのEpplerコードを元にしたものが使われています。

 しかしXfoilの場合,まず非粘性でγを解いて速度分布を求め,これを最初の境界層方程式に適用するまでは同じですが,翼型表面に境界層の厚さを足した位置を新たな表面として,その位置での速度分布で全体としてつじつまが合うように繰り返し計算をします。これにより,低いレイノルズ数に伴う厚い境界層やセパレーションバブルを再現できる長所が生まれます。

 この繰り返し計算には,非線形の連立方程式を解くソルバーが必要です。Xfoilは,ソルバーの中でも最も基本的なNewton法を用いています。(連立方程式を表す行列が密ではないので,その点を利用して高速に解ける工夫がされているようです。)

 このNewton法の特性として,初期値が解に近ければ素直に解に収束するのですが,初期値が適当でないと収束しにくい点があります。これは,後に述べるようにポーラーカーブを書かせる際にいらいらさせる問題となる場合があります。この解決法については後に説明します。


Copyright  2002, Koichi Takasaki.

[軽模型飛行機研究室メイン][Library目次][MacOSXでXfoil]