. XGAG」 - yuukivelの、個人でできる「航空技術」
XGAG」 - yuukivelの、個人でできる「航空技術」
XGAG」 - yuukivelの、個人でできる「航空技術」

遺伝的アルゴリズムによる翼型最適化プログラム「XGAG」

DAE-11 //// DAEシリーズのなかで最も太い翼型です。31、21と比べると空力的性能はちょっと微妙。。。DAE-21 //// DAEシリーズのなかでよく使われる翼型です。太さと空力性能がちょうどいいです。DAE-31 //// 言わずと知れた名作。細いですが空力的な性能が良いです。DAE-41 //// 影に隠れてあまりぱっとしないですが、低揚力係数での抗力係数が小さく、翼端向けの翼型としてよい翼型です。DAE-51 //// プロペラ向けの翼型です。低レイノルズ数で使いやすいです。細いですが。FX76MP120 //// 高いレイノルズ数、高い揚力係数では、圧倒的な揚抗比を誇ります。1度解析して取り憑かれる人が多いですが、高すぎる揚力係数、凄まじい捻りモーメント係数など欠点も多いです。FX76MP140 //// FX76MP120のとんでもない性能には劣りますが、その代わり翼型の中ではかなり太い部類に入ります。それでも十分に良い性能です。FX76MP160 //// 太さがとんでもないです。太すぎて二段失速の傾向が見えていますが、性能はよいです。SD7037 //// うちのチームでプロペラに使っていました。下面が直線で作りやすいです。性能は普通です。探せば風洞試験データが手に入るようです。epper66 //// 低レイノルズ数での揚抗比がとんでもないです。ちょっと細いですが使いやすいです。

初回起動したらOptionタブからDefault Directory & Foilsを選択して翼型ディレクトリとデフォルト翼型を設定して下さい。次回起動時からその翼型が選択された状態で起動します。(初回起動時でもFileタブでNewを選ぶと、デフォルトがすべてBase Airfoilに設定されます)

Reynolds数 : 解析するレイノルズ数です。人力飛行機でしたら大体翼根のレイノルズ数=500000、翼端のレイノルズ数=200000ぐらいになるかと思います。定義はRe = Chord * Velocity / ν ν : 動粘係数(空気だと1.512×10^(-5)くらい)

XGAGの使い方-実行編

ある程度計算をすすめると、下のような画面になります。解析をすすめて、これはとっておきたい!という翼型ができたら、エクスポート(後述)するか、計算のセーブをしましょう。Ctrl+SもしくはファイルタブのSave,Save as で計算状況が.gagで保存されます (.gagの中身は基本的にCSVですが、エクセルで開いてしまうと壊れるので独自拡張子にしました。メモ帳で中身が見られます)

  • 新規プロジェクトの開始 (Fileタブ→New)
  • プロジェクトのオープン (Fileタブ→Open)
  • 翼型のエクスポート (翼型表示の下の世代選択ボタンとexprot foilボタン
  • 翼型のロールバック
技術的なこと
  • ルーレットルール (評価の低い翼型も生き残る可能性を残すことによって系の多様性を維持する)
  • 突然変異 (系の多様性を維持)
  • エリート戦略
  • Gray coding
  • シェアリング手法
  • XFOILによる翼型の自動整理(翼型データを綺麗にする)
エリート戦略 Gray Cording

XGAG ver1では遺伝子表現にbinary(2進数)表現を用いていました。この遺伝子を遺伝的アルゴリズムによって組み換えていきます。例えば、遺伝的アルゴリズムによってある変数値を10進数にして11から12に変えたいという要請があったとしましょう。このとき2進数表現では、1011から1100の変更となり、1と0を2箇所入れ替えなければなりません。逆に考えて、ある2進数にて0と1を1箇所入れ替えると10進数が2とか3とか変わることがあります。これが遺伝的アルゴリズムの収束に悪影響を与えます。これを防ぐのに用いられるのが「Gray Cording」です。Gray Codeにて0と1を1箇所入れ替えたとき、10進数も1しか変わらないようになっています。「グレイコード」とかでググるともっと詳しい解説が出てきます。

📎📎📎📎📎📎📎📎📎📎