7.解析:OPERルーチンを使う上でのヒント
TYPEコマンドを使う
TYPE 1:
デフォルトの値です。
CLに関係なく指定のレイノルズ数Reとマッハ数Mを使用します。TYPE 2:
ReとMをCLの平方根に反比例させます。つまり,Re*sqrt(CL) = const. M*sqrt(CL) = const.これは,実際の飛行機は水平飛行で速度を変化させる際にReとMも上記のように変化するので,実際の飛行状態で翼型性能を見るのに便利なモードです。私はこのモードを多用します。
ただし,CLは0以上に設定する必要があります。TYPE 3:
Mは指定通りですが,ReはCLに反比例させます。つまり,Re*CL = const.これは,一定の飛行速度で,翼幅を同じにして翼弦長を変えた設計にした場合にどのように特性が変化するかを見るのに便利です。
例えば,アスペクト比を上げると,翼幅荷重が一定の場合には確かに全体のぬれ面積が減るので滑空比が向上します。
しかし模型のレイノルズ数では,2次元翼型自体の抗力係数が上がるので,機体構造の点も含めると一概にハイアスペクトが有利とは言えません。
このようなとき,与えられた飛行速度での最適なアスペクト比を決定する場合などに使えます。VACCコマンド(VPARルーチン)
非線形方程式を解くニュートン法が扱う行列は,Xfoilの場合,最初は約1/3の領域が0でない粗行列です。
VPARルーチンの説明にあるVACCコマンドは,行列の対角部以外の中で0でない部分の要素を,VACCコマンドで指定した値VACCEL以下であれば強制的に0にして行列の0の部分の度合いを大きくして高速化します。しかし,レイノルズ数が10^5以下の領域では逆効果になることもあるとのことです。
どのような対策をしても収束が良くならない場合は,VACCELを逆に小さくするか0にすると効果的な場合があるともあります。
eN法(VPARルーチン)
epplerコードでも使われているもので,擾乱の大きさとしてexp(N)を遷移の条件とするものです。
実機の滑空機 12-14 モーターグライダー 11-13 乱れの少ない風洞 10-12 一般的な風洞 9 (初期値) 乱れの多い風洞 4-8が目安であるとマニュアルにはあります。
VPARルーチンのNコマンドで指定します。- 数値誤差
バブルの位置にはパネルを増やすことが推賞されています。
(特に,Re=1-3*10^6の領域の,バブルの影響が重要であるがその大きさ自体が小さい場合)数値誤差を減らす
その目安として,以下がマニュアルに記述されています。(VPLOルーチンで確認する)
- バブルの中の遷移点におけるHk(境界層内の速度分布形状を表すパラメータ)の変化率がパネル辺り1.0を超えないこと
- Ue/Vinf(境界層外の無次元化速度)が,遷移点の後流においてはパネル辺り0.05以上変化しないこと。
(抗力係数の値に大きな影響を与えるので)尖った翼型
前縁半径の小さい翼型を解析する際には,前縁にセパレーションバブルができますが,自動的に生成されるパネル密度では十分ではないと記述されています。
この密度はCLmaxに大きな影響を与え,計算の不具合はポーラーカーブにギザギザができることで発見できます。PPARや,GDESのCADDコマンドでパネル密度を上げておきましょう。小さすぎて良くないことはありません。
パネルの差分方式と精度/安定度
Xfoilは,デフォルトでは2次精度の中心差分を各パネルに用いていますが,条件付きの安定度しかありません。よって,遷移点近くなど,パラメータが急に変化するところでは安定しないことがあるので,そのような部分のパネルにはXfoilは自動的に後退オイラー差分を適用します。このスキームは無条件安定なのですが,それとひきかえに精度が一次しかありません。
傾向をつかむ
あらかじめ非粘性のOPERiで圧力分布の傾向をつかみ,上下面のサクションピークがどの揚力係数または迎角で発生しはじめるかを見ます。そうすれば,計算すべき範囲,注意する部分,また翼型の細かな凸凹が大体分かります。
CSEQ/ASEQの間隔
下面のサクションから上面のサクションに切り替わる部分は解析の方向を切り替えた方が良い場合があります,
また,その付近ではバブルの移動が速いので,CSEQ/ASEQを使用する場合は解析の間隔を小さくした方が良いです。
あらかじめ上記のように傾向をつかんでおくと対策も早いです。イタレーション数
イタレーション数の初期値は10で,CSEQ/ASEQの場合の初期値は15です。これではしばしば収束しないことも多くなります。特にCSEQでは困り者です。
ITERコマンドでイタレーション数をセットでき,私はCSEQでは25位を好んで使用します。
CSEQ/ASEQのイタレーション数は,ITERで設定した値+5となります。
あまりに多すぎる値だと,明らかに収束しそうにない状態でもじっと我慢することになりがちです。収束の具合を見る
収束の具合は,たとえばあるイタレーションで
8 rms: 0.3324E+00 max: -.7045E+01 C at 40 2 RLX: 0.071 a = 0.240 CL = 0.4979 Cm = -0.1027 CD = 0.00636 => CDf = 0.00569 CDp = 0.00067と出力されますが,左上のrms,またCLの変動具合に注意すると大体分かります。
rmsが1.0e-02のオーダー以下になればその後の収束はまず確実です。
rmsやCLが同じ値に留まったり,または2つの値を交互に移動しているような場合は収束の見込みが薄いです。不幸にしてCSEQなどで途中の解析がうまくいかずに収束しなかった場合でも,PACCコマンドでポーラーカーブのデータに自動的に取り込むようにしていれば,後から個別にCLコマンドでデータを追加できます。
このような場合はINITコマンドで解析した境界層のデータをクリアすると,初期値と求めたい解との間隔が大きい現在の状態よりも収束が良い場合が多いようです。
それでも解決しない場合は,望みの(たとえば)CLなら,それに±0.01位を足してあげると収束する場合があります。
それでも駄目なら,上記の対策でVACCELを小さくしてみましょう。また,収束しない場合には,しばしば表示される境界層はとんでもない位置になっていることがあります。この場合は気長に続ければ収束することが多いですが,これもいっそINITを使用するか,上記にある対策をとると良いでしょう。
ポーラーカーブ
先ほどのような追加解析したケースで解析終了後にポーラーを書かせると,αやCLの並びが順になっていないのでジグザグになったりしますが,そのときはPSORコマンドでソートしてあげましょう。
また,それをしなくても,(PACCコマンド時にファイル名を指定しないでおいて)1ケース終了後,PWRTコマンドでファイルにポーラーカーブを出力してからpplotで表示させれば,問題なく表示できます。私の場合,解析と単独のポーラーはxfoilに任せ,複数のポーラーの比較はpplotに任せるようにしています。
レイノルズ数の限界
Xfoilは低いレイノルズ数を解析することを考慮していますが,境界層が本当に厚くなる10万以下だと少し不安です。
しかし,MLでのDrela氏のコメントでは,インドアFF機のレイノルズ数20-30K以下で層流が支配的な場になると,逆にナビエストークスCFDコード,層流の理論値,そしてインドアHLGの滑空テストと同じ値が得られるのだそうです。
そして,精度が悪くなりはじめる限界のレイノルズ数は,ハエや蚊の領域である約1000(!)ともコメントしています。ただし,これはセパレーションバブルがない完全な層流の場合であり,厚みが本当に0に近い膜翼は,(おそらく非粘性解析の点で)難しく,少なくとも1.5%の翼厚比は必要であるとのことです。
私感では,境界層の厚さが問題にならないのなら,前縁のバブルがある場合でも望みは大きいと思います。(実際Drela氏が飛ばしたと言う滑空テスト機には必ず前縁にバブルがあるはずですし)岡本先生のデータと比べてみて一致していれば大丈夫ではないでしょうか。
Copyright 2002, Koichi Takasaki.