はじめに

αFOIL+ωSIM version-0.07 — 松原水泳場 滑空・人力機 距離競技シミュレータ

version-0.07 で新しくなったこと

version-0.07 では、詳細揚力線解析の Sivells & Neely(TN 1269) を細かい分割でも 使えるようにし、面の積分で解く方法のための解析専用メッシュを機体形状から自動で切るように しました。FEM-3D物体の計算は約 300 倍速くなり、球の厳密解に合うよう 直しました。あわせて IVLM の誘導抵抗の誤りを修正しています。 既存の version-0.06 の機能一覧と操作説明は、この節の後にそのまま掲載しています。

分野内容
Sivells–Neely の安定離散化 詳細揚力線解析の Sivells タブに、「翼端・影響係数方式」を追加しました。 既定の「安定化版(翼端ゼロ循環・高次モード平滑化)」は、正弦級数で翼端の循環をゼロにし、 微分で増幅される翼端近傍の高次フーリエ成分を平滑化します。これにより、従来は不安定になりやすかった 半翼 20・40 選点でも非線形反復を収束させられます。
元の離散化との切替 「元の版(旧離散化・互換用)」も残しました。過去の計算との比較・再現には選べますが、 翼端に近い選点の高次モードが増幅されるため、選点数を増やすと発散する場合があります。 通常の設計計算では安定化版を使用してください。解析結果欄には、使用した離散化方式を表示します。
解析用メッシュの自動生成 表示用のメッシュは「見えないところは作らない」方針なので、翼根が開き、部品どうしが交差し、 パネルの縦横比が 24:1 になります。面の積分で解く方法はこれに耐えられないため、 解析専用のメッシュを切り直すようにしました。
胴体は母線に沿った弧長で等間隔に切り(球のメッシュと同じ作り)、機首・機尾は極 1 点で閉じます。 翼は胴体表面で切り、後縁は厚みを残して開けたまま後流で閉じます。翼幅方向の分割数は アスペクト比から自動で決めます(細長い翼ほど細かく切らないと揚力傾斜が過大に出るため)。
BEM3D の画面では「解析用の全機メッシュ」「解析用の胴体メッシュ」「表示用メッシュそのまま」 「四辺形のまま閉じる」「ブーリアン和で一体化」の 5 通りから選べます。
FEM-3D物体の計算に選択肢 FEM-3D(TR-724 パネル法)にも計算に入れるパートのチェックボックスと 面の作り方の選択を付けました。回転するプロペラは定常ポテンシャル流に合わないので 既定で外れます。面の作り方は BEM3D と同じ 5 通りで、既定は解析用の胴体メッシュです。
影響係数も 3 通りから選べます。付録1の解析式(原典どおり)、 立体角+ガウス積分(三角形に割ったメッシュでも厳密)、 ガウス積分のみ(検算用)です。薄い翼のパネルでは付録1の arctan が パネルの裏側で符号を落とすので、全機メッシュでは立体角を選んでください。
TR-724 の式(8)には後流項が無いので、翼を入れても循環が立たず揚力は出ません (原典も「三次元物体」の計算です)。揚力は BEM3D(TR-835)の後流付き計算で 求めてください。概算時間と、計算後の表面速度の様子も画面に出します。
FEM-3D物体の計算を
約 300 倍速く
影響係数をパネルの組み合わせごとに 1 組ずつ求めていたため、1 組 746 マイクロ秒 かかっていました。組の数はパネル数の2乗なので、胴体だけの 220 枚で約 1 分、 全機 4,358 枚では約 4 時間という見込みでした。
評価点をいくつかまとめて配列のまま一度に解くように組み替え、1 組あたり 約 2.3 マイクロ秒になりました。式も符号も原典のままなので、1 組ずつ求めた ものと小数 14 桁まで一致します。解析用の胴体 2,808 枚が 98 分の見込みから 16 秒へ、解析用の全機 5,672 枚が 400 分の見込みから74 秒へ 縮みました。
時間のめやすは「パネル数 × パネル数 × 0.0000023 秒」です。1 万枚なら約 4 分 ですが、影響係数の行列に 2.4 GB 必要になるので、そのあたりが実用の境目です。 表面を微分するときの近傍さがしも、同じようにまとめて解くようにしました。
FEM-3D物体の計算の修正 速くなって球の検算が数秒で回せるようになり、元からあった 2 つの誤りが 見つかりました。
ひとつは法線の向きをそろえていなかったことです。式(8)の (I − C) という形は 外向き法線のときだけ成り立ち、内向きだと C の符号が逆になって、行和が 1 − 1 = 0 の 特異行列になります。「四辺形のまま閉じる」で解けなかったのはこれが原因でした。
もうひとつは表面速度の作り方です。擾乱ポテンシャルだけを面に沿って微分して 一様流を足していたため、よどみ点で一様流の法線成分が残り、Cp の最大が 1.0 では なく 0.0 になっていました。TR-835 の式(29)と同じく全ポテンシャルを面に沿って 微分する形に改めました。
直した結果、球の厳密解 Cp = 1 − (9/4)sin²θ に収束します。 192・432・884 枚で平均誤差が 0.027・0.014・0.006、Cp の最小が −1.224・−1.240・−1.245(厳密解 −1.25)、 よどみ点の Cp はいずれも 1.000 です。解析用の胴体 2,808 枚では表面速度の 中央値が 0.998、合力はほぼ 0(ダランベールのパラドックス)になります。
IVLM の誘導抵抗の修正
(有料版)
Trefftz 面の吹き下ろしを右半翼の後流だけで作っていたため、翼根の荷重への罰則が足りず、 「翼根を軽くするほど誘導抵抗が下がる」という誤った最適解になっていました。 楕円翼の下限 CL²/(πAR) を 39 % 下回る値が出る状態でした。左半翼の鏡像を含めるよう直し、 最適スパン荷重が楕円分布に乗るようになりました。
主翼の段ごとの色 モデリング画面で主翼の段(上反角の折れ点で分かれる区間)にマウスを載せて右クリックすると、 その段だけ色を変えられるようになりました。「まるごとの色を変更」で全段を一度に 変えることもできます。左右は独立です。
メニューの整理 設計メニューの「微係数を計算」を「安定微係数計算」に改め、DATCOM の直下へ移しました。
プロペラモデリング中は、機体が無いと意味のない項目(安定微係数計算・微小擾乱理論・ 鳥コン滑空機の横方向理論・FEM-3D・BEM3D・QPSO+VLM・IVLM比較)をグレーアウトします。 飛行経路の最適化は機体データベースから機体を取るので、これまでどおり全モードで使えます。
最適化メニューがメニューバーから消えていた不具合も直しました。
参考文献に有料版タブ ヘルプの参考文献に、有料版でのみ「有料版」タブが出るようにしました。 無料版では従来どおり「有料版のほうに載せていきます」の案内が出ます。 有料版の文献一覧は有料版パッケージの中に置いてあるので、無料版の実行ファイルには 文献名の文字列も含まれません。
安定微係数の注記 「縦横・方向の微小擾乱理論で安定微係数の推算」の注記を 「注: 白本による初期設計向けの概略推算です。」に改めました(英訳も追加)。

version-0.06 で新しくなったこと

version-0.05 から追加・拡張された機能を、共通機能、有料版の解析、GAXQ に分けて掲載します。 「注 有料版」の項目は、有料機能を組み込んでコンパイルした配布版だけで使用できます。 無料版では対応するメニュー・ボタンが無効になります。GAXQ は別製品ではなく、ωSIM の翼型最適化機能です。 以前からメニュー名だけが存在した項目も、今回計算できるようになったものは掲載しています。 まだ計算できない「実装予定」の項目は、実装済み機能と分けて記載しています。

共通機能・改善 / 有料版の機体解析・最適化 / GAXQ の追加機能

共通機能・改善(無料版/有料版)

分野内容
自動計算の結果を機体へ 「自動計算」の保存済み (autocalc.db) で行を選び、 「選択行を機体データベースへ登録」を押すと、その計算の機体(翼幅・多段平面形・ 各段の翼型・上反角・飛行質量・翼厚)をグライダーの機体データベースへ登録できます。 メモ欄には飛行距離・滞空・取付角など、どの計算から来たかが残ります。
あわせて autocalc.db へ平面形そのものを保存するようにしました。以前の記録は 区間中央のコード長しか持っていないため、折れ点のコード長を組み直す必要があり、 翼面積が 1 % 弱ずれます(その旨は登録時に表示します)。
翼型自動選定の土台機体 探索の下側に「機体データベース」タブを追加しました。一覧から 「選択行機体を読み込む」を押すと、その機体を土台にして探索します。
GAが振るのは主翼(翼型・コード長・取付角・上反角)だけなので、胴体・尾翼・ 飛行性能(CD0・Oswald効率・CLmax/CLmin・トリムCL・零揚力迎角)は選んだ機体の ものがそのまま使われます。翼幅・機体重量・翼根の最大翼厚も、その機体の値が入ります。 「内蔵の既定グライダーに戻す」で元の動作に戻せます。 → 自動計算・最適化
操作性・モード別の有効化 全翼型 XFOIL自動解析の入力欄(Mach数・Ncrit・迎角・パネル数・最大反復回数)の ▲▼を大きくしました(1つあたり 26×18 px)。
飛行シミュレータの飛距離ランキングは、ダブルクリックで文字色を選ぶ範囲を 枠の 8 px 外側まで広げ、端を狙いやすくしました。
安定微係数推算・FEM/BEM・QPSO+VLM などの機体用項目は、グライダー/人力機のモデリングで有効になり、 プロペラのモデリングでは無効になります。
異なる Re の解析結果を重ね表示 XFOIL/Eppler の保存済みポーラーを、「Re重ね表示」「比較するRe…」で選んで、 CL–迎角、CL–CD、CM–迎角、CL/CD–迎角の各グラフに色別の凡例・共通目盛で重ねます。 翼型・エンジンと版・Mach・遷移条件・パネル数・反復上限が同じ解析だけを比較します。 選択中の履歴をその Re の代表に、その他の Re は最新の有効履歴を使います。 異なる迎角範囲を補間せず、未収束・非有限値は描きません。Cp・ログ・CSV は選択中の履歴のままです。 → 操作方法
XFOIL の時間制限と復帰 単一翼型解析に「1点の制限時間 [秒]」を追加しました(5〜300 秒、既定 45 秒)。 応答しない迎角は失敗として記録し、完了した点を残したまま XFOIL セッションを復旧して次の迎角へ進みます。 通常の未収束では境界層を初期化します。Cp 取得の失敗だけで、計算済みの空力係数を捨てることはありません。 → 停止・未収束の扱い
単一 XFOIL 解析の中止 進捗ダイアログの「中止」で実行中の XFOIL を止められます。 完了した点とログを中断結果として、解析開始時の翼型へ保存します。 途中で一覧の選択を変えても保存先は変わりません。未計算の点は成功扱いにしません。 解析中にアプリを終了しようとすると、中止して終了するか確認します。
縦横・方向の安定微係数推算 設計 → 「縦横・方向の微小擾乱理論で安定微係数の推算…」で、現在の機体から 縦・横方向の微係数を推算します。「現在の機体諸元で再計算」で更新できます。 尾翼腕などに近似を用いる初期設計用です。GUI では舵面効率を指定していないため、舵角微係数は既定の 0 です。 シミュレータへの自動書き戻しは行いません。→ 操作方法
鳥コン滑空機の横・方向理論 設計 → 「鳥コン滑空機における横・方向の微小擾乱理論…」で、内翼・外翼の上反角を含む 翼幅方向積分から 12 個の横・方向安定微係数を推算します。 GUI は翼根・上反角折れ点・翼端の 3 点と、翼根〜翼端の翼弦近似を使います。 全ての多段折れ点を積分する計算ではありません。現在の機体諸元で再計算できます。
CFRP 最大応力説の専用画面 設計 → 「最大応力説 (CFRP)…」から、新しい「桁解析 (最大応力説)」タブを開けます。 既存の古典積層理論(CLT)の応力を、繊維方向・繊維直角方向・せん断の強度と比較し、 各層表面の応力、最大応力比、Reserve Factor、合否を表示します。 材料・積層角・層厚・荷重を指定でき、「木製桁荷重を取込」にも対応します。
CFRP の破断合力計算 最大応力説タブの「破断合力を計算」は、現在の Nx・Ny・Nxy・Mx・My・Mxy を荷重の比例関係として、 最初の層表面が最大応力比 1 に達する倍率・合力・合モーメントと支配層・表面・角度を求めます。 表示の有効数字は 2〜9 桁です。線形弾性による最初の許容値到達であり、損傷後の積層全体の最終破断ではありません。
Morrisコード(無料版) airfoil解析の解析エンジンに Morrisコードを追加しました。添付のHess–Smithパネル法で CL・Cm・Cpを求め、Morrisの複素ポテンシャルの考え方を応用したBlasius積分で検算します。 単一翼型の迎角掃引、解析履歴、Cp表示、CSV出力、全翼型バッチに対応します。 鋭く閉じた後縁が必要です。Reynolds数・粘性・失速・実抗力は扱わず、CDとCL/CDは未算出です。 → 操作方法・制限

有料版で追加された機体解析・最適化

機能内容・操作
数値揚力線 注 有料版
詳細揚力線解析の「数値揚力線(有料版実装)」タブは、反復・Simpson 積分を実装しています。 現在の多段翼弦・ねじり、迎角・速度・分割数・緩和率を指定し、収束、CL/CDi、循環、誘導/有効迎角、断面 cl を表示します。 「CSV読込」で α[deg],cl の数値 4 行以上を取り込むと失速後を含むポーラーを使えます。未指定時は線形ポーラーです。 → 操作方法
ILLM 逆揚力線設計 注 有料版
詳細揚力線解析の ILLM タブで「ILLM最適化を実行」すると、目標 CL に対する最小誘導抗力の循環・迎角分布を求め、CL/CDi・KKT 残差を表示します。 GUI は現在の翼幅・面積を使う平面翼の初期設計です。任意の非平面影響係数や曲げ・重量制約は Python API 側の機能で、GUI からは設定しません。
IVLM 逆渦格子設計 注 有料版
詳細 VLM 解析の IVLM タブで、目標 CL・翼幅/翼弦方向の分割数を指定して「IVLM最適化を実行」します。 QVLM 影響係数、Trefftz 面誘導抗力、固定キャンバー制約を使う Stage-1 設計で、最適循環・ねじり、CL/CDi、KKT 残差、翼幅分布を表示します。
ModeFunction 揚力面法 注 有料版
詳細 VLM 解析の ModeFunction タブで「Mode Function解析を実行」します。 Glauert モード射影による定常揚力面解析です。多段平面形・テーパ・後退角に対応し、 迎角・速度・密度・帯/モード数・翼端除外 δ から CL/CS/CDi・分布を求めます。構造振動モード解析ではありません。
6 自由度安定微係数 注 有料版
設計 → 「安定微係数計算(有料版実装)…」で、低速準定常モデルの CX/CY/CZ/Cl/Cm/Cn の u・α・β・p・q・r 微係数を表示し、「CSVへ保存…」で出力します。 αdot・βdot・舵角微係数は未定義の NaN です。共通版の推算画面とは別機能で、一部の形状には近似を使います。
3D ポテンシャルパネル法 注 有料版
設計 → 「FEM-3D物体の空気力学的係数計算(有料版実装)」でモデル部品と表面生成法を選び、 閉鎖性・パネル数・推定時間を確認して「FEM解析を実行」します。四角形パネルの Cp・力/モーメント係数と積分診断を表示します。 メニュー名は FEM ですが、実体は空力ポテンシャルパネル法であり構造 FEM ではありません。GUI の流れ方向は既定の (1,0,0) です。
3D 境界要素法 注 有料版
以前は無効だった設計 → 「BEM3D物体空力特性計算(有料版実装)」が、現在のモデル表面を使って計算できます。 Mach・迎角・横滑り角・基準面積/長さ・積分次数・表面微分法・メモリ上限を指定して「BEM解析を実行」し、 Cp・ポテンシャル・流速・力/モーメント・診断を表示、「CSV保存…」でパネルデータを出力します。 粘性・失速・衝撃波は扱いません。 力/モーメントの符号は TR-835 の定義で、通常の外向き法線による空気力の符号と逆です。
柳沢三憲「境界要素法を用いた亜音速流中の三次元揚力物体の空力特性の計算」 (航空宇宙技術研究所報告 835号, 1984年9月)の式(1)〜(45) と、第8章の後流渦放出線に沿っています。 Prandtl–Glauert 変換で圧縮性を扱い、パネルの影響係数から擾乱速度ポテンシャルを解き、 隣り合う3パネルを通る円弧に沿って微分して表面速度・圧力係数・空力係数を求めます。
検証:球の厳密解 Cp = 1 − (9/4)sin²θ に対し、1,160 枚で平均誤差 0.0044 まで収束します。 揚力面では、アスペクト比 6 の矩形翼で揚力傾斜が揚力線理論の 0.98 倍、 人力機の全機(翼・尾翼・垂直尾翼・胴体)で 1.03 倍です。
静的 FSI 空力構造連成 注 有料版
連成解析 → 「FSI空力構造連成解析(有料版実装)」で、Drela 揚力線+非線形梁の同時解法、 または Vortex-Ring VLM+変形梁の反復を選びます。EI/GJ・せん断中心・翼質量・飛行条件・離散化・許容誤差などを指定し、 収束・揚力/抗力・翼根荷重・たわみ/ねじりを表示します。外部支持ワイヤ・集中荷重は扱いません。 Drela 側は多段翼弦を使い、VLM 側は翼根/翼端の台形近似です。
QPSO+VLM 注 有料版
最適化 → 「QPSO+VLM(有料版実装)」で、現在の機体・目標 CL・格子数・粒子数・世代数・ねじり範囲を指定し、 最小誘導抗力の翼幅方向ねじりを探索します。影響係数を一度作り、ねじり〜循環の線形写像で評価します。 CL/CDi・評価回数・翼根〜翼端ねじりを表示します。
従来「QPSO+IVLM」としていた項目を「QPSO+VLM」に改めました。原典では IVLM と QPSO は 比較対象の二手法であり、QPSO が各個体・各世代で回すのは VLM です。IVLM は反復探索を 置き換える手法なので、両者を足し合わせる使い方は原典にありません。
IVLM と QPSO+VLM の比較 注 有料版
最適化 → 「IVLM と QPSO+VLM の比較(有料版実装)」で、現在の機体、AR=8 矩形翼、30°後退の検証翼を選びます。 同じ翼・同じ格子・同じ目標 CL で、IVLM の 1 回解きと QPSO の反復探索を並べ、 未最適化/QPSO/IVLM と理論・論文値を比較します。CL/CDi・評価回数・時間に加え、 捩り角分布・スパンローディング・収束履歴を図にし、「CSV保存…」で出力します。
小田裕樹・湯原達規・李家賢一「渦格子法を用いたスパン方向揚力分布の最適設計手法の検証」 (日本航空宇宙学会論文集 Vol.66, No.1, 2018, pp.31–38)の第3表を再現し、 矩形翼・後退翼とも 1 % 以内で一致します。 → 操作方法

ωSIM に統合された GAXQ の機能

機能内容・操作
GAXQ 起動 注 有料版
最適化 → 「GA+αFOIL(GAXQ)(有料版実装)」、または airfoil 解析の「条件をクリア」の下の 「GAXQ起動」から同じ画面を開きます。airfoil 解析のボタンから新しい画面を開くと、選択中の DB 翼型を第1基底へ渡します。 既存画面の再表示では探索状態を保ちます。機体モデルは不要です。 → GAXQ の使い方
4 基底翼型・形状編集 注 有料版
第1〜第4翼型に DB 選択プルダウンを備え、「第n翼型を開く」で DAT も読み込めます。 既定は DAE11/41/51/21。混合係数、基底輪郭点、追加キャンバーのドラッグ、翼厚倍率から中央の合成翼型を作ります。
遺伝的アルゴリズム探索 注 有料版
「再計算」で Gray 符号化 GA を実行します。個体数・世代数・突然変異・sharing・評価係数を設定できます。 実際の非粘性パネル計算でふるい分け、XFOIL 通過率に応じて粘性評価し、エリートを保存します。 正の適応度には収束済み XFOIL 結果を使います。
多点評価・製作性・Cp 罰則 注 有料版
巡航・離陸・低 Re・高迎角の飛行条件を使い、設定 → 「飛行条件一覧を編集」で追加/削除できます。 目標 CL・翼厚、Cd/Cm 係数、最小 Cd、Cp リスク、最小翼厚・前縁半径・後縁厚・最大曲率・上下間隔の製作条件を設定します。 失敗/ふるい落とし個体の粘性 Cd を捏造しません。Cp 罰則はリスクの代理指標で、失速検証そのものではありません。
QMOPSO 多目的探索 注 有料版
設定 → 「QMOPSO 多目的探索を開始」で、平均 Cd・巡航 CL 誤差・巡航 |Cm|・高迎角 Cp リスク・製作性を探索します。 制約を考慮した優越判定と混雑度でアーカイブを維持し、正常かつ実行可能な非劣解をパレート表示します。
Morita 2013 モード 注 有料版
Morita / PARSEC → 「Morita 2013 モード」で、位置 Xc・高さ Zc・後縁角から四次の追加キャンバー、翼厚倍率 Am、Morita の逆抗力評価を使います。 「Moritaパラメータを適用」で反映します。目標翼厚は最大翼厚ではなく x/c=0.292 の上下間隔です。 4 基底の混合係数は非負・合計 1 です。
PARSEC 基底生成 注 有料版
Morita / PARSEC → 「PARSEC翼型を基底翼型へ適用」で標準 11 形状パラメータを編集し、 上下の半整数べき多項式を解いて 4 基底のいずれかを置き換えます。その基底を含む混合を GA/QMOPSO で探索できます。 GUI に PARSEC 11 変数を直接最適化するモードはありません。
理論翼型・基底の自動選抜 注 有料版
設定から Theodorsen/NACA または Theodorsen/Joukowski の基底を生成できます。 「フォルダから4基底翼型を自動選抜」ではパネル性能と形状の多様性から選びます。
Cp 逆設計の初期翼型 注 有料版
設定 → 「Cp目標で第1翼型を逆設計」で上面の目標 Cp をドラッグ編集し、QSPEC 混合逆設計により第1基底を更新します。 目標 Cp は JSON へ保存・読込できます。
候補・履歴・数値付きグラフ 注 有料版
Cp、合成翼型、各個体の評価関数、「現世代」「パレート」「履歴」を表示します。 「Cp表示世代」「候補」から保存済みの世代・個体を選ぶと、CL・Cd・CL/Cd・Cm・翼厚・解析状態も切り替わります。 履歴表と世代軸・数値目盛付きグラフで推移を確認できます。エリートが同一なら Cp も同じになります。
前世代・全世代 Cp 重ね表示 注 有料版
Cp 図の「重ね表示なし」「前世代重ね」「全世代重ね」を切り替えます。 選択候補はシアン、比較曲線は各保存世代の第1候補を共通 Cp 軸へ描きます。 Cp がない世代は除外し、除外数・一致曲線数を表示、ツールチップで世代凡例を確認できます。 airfoil 解析の Re 重ね表示とは別機能です。
一時停止・続行・巻き戻し 注 有料版
「一時停止」は実行中の XFOIL を中断し、完了世代を保持します。 「続行」で再開、「巻き戻し」で選択世代を探索の出発点に戻せます。 QMOPSO は粒子・個体最良・アーカイブ・乱数状態も復元します。評価条件を変えたときは再計算が必要です。
実験チェックポイント 注 有料版
新しい実験はローカルデータ領域の omegaSIM/GAXQ/experiments へ、完了世代を自動保存します。 ファイル → 「実験チェックポイントを保存/読込」で、基底・形状モード・条件・候補・履歴・続行状態を保存/復元できます。 世代別フォルダには候補 DAT・CSV も残ります。手動保存の前には一時停止してください。
DAT・CSV・極曲線出力 注 有料版
ファイル → 「翼型出力」は選択候補を DAT 出力します。候補を選択していない場合は表示翼型を出力します。 「候補群を一括出力」は候補 DAT・取得済み Cp CSV・性能一覧を保存します。 設定 → 「選択翼型のXFOIL極曲線」で迎角掃引し、中止・CSV 保存もできます。 手編集した現在の表示形状は「dbへ保存」で登録できます。
airfoil DB へ保存 注 有料版
巻き戻しの右の「dbへ保存」で、手編集を含む中央の表示翼型に名前を付け、airfoil 解析 DB へ新規登録します。 一覧と 4 基底プルダウンも更新します。計算中は無効、一時停止中または完了後に保存できます。
外部 XFOIL と計算上の制限
GAXQ の粘性探索には、別途用意した XFOIL 実行ファイルが必要です。 閉じた後縁の基底に対し正の最小後縁厚を要求すると、制約を満たすパレート解がない場合があります。 適切な基底を選ぶか、その制限を見直してください。→ 新しい解析機能の適用範囲

version-0.05 で新しくなったこと

飛行記録の保存とリプレイ

gliderSIM / hpaSIM は各試技の位置・姿勢・操縦量を、1秒間に約30回保存します。飛行記録一覧の行を右クリックし、記録を再生を選ぶと、試技時点の機体形状と会場条件を復元して飛行をリプレイできます。読み込み中は、キャンセルボタンのない進捗バーで準備状況を表示します。時系列を持たない旧形式の記録では再生項目が無効になります。

分野内容
座標系 3Dモデリングで使う公開座標を、軸コンパスと同じX=赤(左右)、Y=青(前後)、 Z=緑(高さ)に統一しました。既存の解析計算は変更せず、モデリング・表示・ 入出力との境界に座標変換層を設けています。
飛行シミュレータの表示 モデリングツリーの空、湖面、飛行経路1、飛行経路2をダブルクリックして、色を個別に変更 できるようにしました。着水後に中央へ表示される飛距離の文字と、それを挟む上下2本の線も、 それぞれダブルクリックして色を選択できます。左上の状態表示は風速までとし、飛距離は中央の 大表示と左下のランキングへ整理しました。
飛行記録データベース gliderSIM.db/hpaSIM.dbへ、各試技の時刻・位置・速度・姿勢・操縦量などを 1秒間に約30回の再生用時系列として保存するようにしました。新しい時系列は試技の削除と連動し、 データ一括保存 *.a2zでも書き出し・読み込みできます(旧記録の時系列は空欄です)。
飛行記録の行を右クリックして「記録を再生」を選ぶと、保存した位置・姿勢・操縦量に沿って 機体を再生します。3DOF質点法の記録は速度方向から機首方向を復元し、旋回中も軌跡に沿った 正しい向きで表示します。再生準備中は、機体形状・会場・時系列の読込状況を進捗バーへ表示します。
選択機体をGUI機体へ読み込む間は、処理状況が分かるプログレスバーを表示します。 各データベースには、選択データの削除と VACUUM(DB圧縮)機能も追加しました。
翼型検索 翼厚・キャンバーの最小/最大入力欄に、押しやすい大きさの▲/▼ボタンを追加しました。 三角形を直接描画するため、Windowsの表示テーマやフォントに左右されず、確実に表示されます。 長押しによる連続変更にも対応しています。
グラフ表示 構造解析をはじめ、LLT・VLMなどの解析グラフへ縦横のグリッドを追加し、 値と分布を読み取りやすくしました。
翼型座標の自動修正 翼型を読み込むと、XFOIL の NORM(翼弦長を1に)・DERO(座標に付いた迎え角を0に)・ PANE(曲率の大きい所へ節点を寄せる)にあたる手当てを自動で掛けます。 xfoil.exe を使わずPythonだけで行うので、内蔵の解析コードにも同じきれいな座標が渡ります。
Lednicer形式の変換、先頭の点数行・NaN・重複点の除去、一周の向きの統一も行います。 多要素翼や閉じていない輪郭は形が崩れるので手を付けず、理由を残します。
ファイル(F)→「翼型座標を自動修正…(NORM/DERO/PANE)」(Ctrl+R)で、 直す前後を重ねて見ながらつまみを調整し、データベースの座標を直すかDATに書き出せます。 読み込み時の自動修正は設定(S)メニューで切れます。 → 翼型解析
翼型解析の信頼性 Cp分布に重ねる非粘性Cpを、XFOILの非粘性モードで解くようにしました。粘性Cpと 同じパネル分割・同じソルバなので、2本の差がそのまま境界層の影響になります。 xfoil.exe が無いときはTheodorsenの写像で解きます。
Theodorsenコード・守屋コードは、翼型を円へ写す写像が成立しているかを確かめ、 成立していない翼型では結果を出さず未収束として扱うようにしました。前縁半径の 小さい翼型では写像が前縁で折り返し、圧力分布も零揚力角も当てにならなくなるためです。 理由は解析ログに残ります。
パネル法表示 機体モデリングを始めた直後から、内部でパネル表示を先に作っておくようにしました。 パネル法表示へ切り替えたときには出来上がっているので、待たずに切り替わります。 ソリッド表示へ戻しても網目を捨てないので、行き来も一瞬です。
作り直しが要るときはキャンセルなしの進捗バーを出します。側面図では断面を直すたびに 作り直しになるため、自動でソリッド表示へ戻し、パネル法表示はグレーアウトします。
機体パーツの選択と色 グライダー・人力機モデリングで、カーソルを載せたパートが光るようにしました。 面まで見て一番手前を選ぶので、主翼の陰の胴体を誤って拾いません。
右クリックすると、そのパートの色の変更・既定色へ戻す・一時的に隠すと、 パートに応じた寸法編集(胴体なら側面図、主翼なら平面図)を選べます。 パネル法表示のときは網目の線の色をパートごとに変えられます(白・青・緑・黄など)。 → 機体データの編集
人力機のパイロット 人力飛行機モデリングに、リカンベント姿勢のパイロットを表示するようにしました。 グライダーのパイロットと同じく表示専用で、パネル法・STL出力・パネル座標CSV・ 解析のどれにもデータを渡しません。位置はモデルツリーの「パイロット」を ダブルクリックして前後・上下に動かせます。
寸法編集の使いやすさ 平面図・正面図・側面図の入力欄の▲▼ボタンを大きくし、押しやすくしました。
胴体長・翼根の翼型・上反角(外翼)・垂直尾翼高さの欄を、寸法線や他の欄と重ならない 位置へ移しました。
主翼の構造解析 構造解析に「桁解析」タブを追加しました。オリンポスの木製ボックス桁の手順に沿って、 V-n線図・せん断力・曲げモーメント・ねじりモーメントからフランジ寸法・接着幅・箱寸法を 決め、たわみ・ねじれ・重量まで出します。
梁解析では、荷重倍数を機体重量にも掛けるようにし、翼型のCm0入力と 「1 G」トリムボタンを追加しました。
データの一括保存・読み込み 翼型・空力解析・機体・プロペラ・飛行記録・自動計算を、1つの *.a2z ファイルへ まとめて保存できます。読み込みではまだ無いものだけを取り込むので、 バージョンアップのたびに個別に出し入れする必要がありません。
バージョンチェックも入れてあり、このバージョンでまだ実装していない新しいデータは 読み飛ばして、その旨を報告します。
メニューの整理 項目の少なかった「ツール」メニューを無くし、中身を「設定」メニューへまとめました。
機体データベースの「解析」タブを「空力解析」へ改名しました。
設計メニューへ「BEM3D物体空力特性計算(有料版実装)」を加えました。
飛行シミュレータ 左下の飛距離ランキングをダブルクリックすると、文字色を選べるようにしました。 明るい色を選べば暗い縁取り、暗い色なら白い縁取りへ自動で切り替わるので、 海や空の色が変わっても読めます。
起動時スプラッシュ 起動画面のデザインを新しくしました。空から湖面へ落とした青のグラデーションを 背景に、左へ3枚ブレードのプロペラ紋章、右へ高台から飛び出す飛行軌跡と グライダーのシルエットを配した構図です。ソフト名・副題(松原水泳場 滑空・人力機 距離競技シミュレータ/PYTHON+OPENGL)と著作権表示も入れ直しました。 アプリのアイコンもプロペラで揃えています。
不具合の修正 守屋コードのCp分布が真っ白になっていたのを直しました(後縁のNaNで縦軸を 決められなくなっていたため)。あわせて、ごく一部の点が跳ね上がってもグラフが つぶれないよう、縦軸の決め方を頑丈にしました。
最大化したままモードを切り替えると、画面が一瞬小さくなってから戻るのを直しました。 最大化した窓の枠が画面の利用可能領域より数px大きく報告されるため、毎回「はみ出し」と 判定されていました。

version-0.04 で新しくなったこと

分野内容
取扱説明書 この鳥説(取扱説明書)概要を、アプリの中で読めるようにしました。 メニュー「ヘルプ → 取扱説明書…」(F1)で開きます。 本文はプログラムの中に収めてあるので、manual フォルダが無くても表示できます。
不具合の修正 3D モデリング画面の軸コンパスで、X・Y・Z の文字が表示されなくなっていたのを直しました。 → 使用方法
解析エンジン 解析エンジンの一覧に「吉田コード(今井の拡張 有料版実装)」を加えました。 今井コードを拡張した解析で、有料版で実装します。 → 翼型解析
機体モデリング 平面図の「翼根の翼型」の欄を、主翼の後ろの空いた所(斜め上)へ移しました。
側面図の「リカンベント型 IGAワイヤーフレーム」から、Autodesk T-Spline #TSS0001 / tspline-g0 の .iga を開き、 制御ネットとT-mesh要素境界を回転・ズーム表示できます。 → 機体データの編集
空力FEM弾性解析 「連成解析」メニューと機体データベースの解析タブに、空力荷重とCFRPシェルFEMを 反復する詳細解析を追加しました。空力解析法は Vortex-Ring VLM/VLM(Katz)/QVLM、 構造は CFRP BOX桁(閉断面翼箱)/CFRP薄肉円筒桁から選択でき、両構造の比較もできます。 変位・翼端ねじれ・Trefftz誘導抗力・各層応力・Tsai-Wu/Hashin破壊指数を表示し、 CSV/VTKへ保存できます。画面下部の機体データベースから解析対象も切り替えられます。 → 技術情報
主翼構造解析 設計メニューに「強度計算と構造法の実際」を追加しました。揚力線理論の翼幅荷重を使い、 せん断力・曲げモーメント・たわみ・ねじり・曲げ応力・安全率を計算します。 木製ボックス桁を含む構造条件を設定でき、結果をCSVへ保存できます。 → 技術情報
VLM結果の3D表示 VLM(Katz)などの解析後に、格子ごとの揚力矢印、誘導抗力を含む合力、循環Γ、 格子数値、ΔCp色分けを機体上へ表示できるようにしました。 翼幅方向分布との切替、表示ツリーからの個別ON/OFFにも対応しました。
パネル法の圧力表示 SUSCAP・Katzパネル法の結果を、機体表面のCpグラデーションとカラーバーで 表示できるようにしました。パイロットは空力パネル生成から除外し、表示専用としています。
パイロットモデル グライダーとハンググライダーの搭乗者をSTLベースのパイロットモデルへ変更しました。 STLは圧縮バイナリとしてプログラム内へ収録しています。モデリングツリーでは「パイロット」と表示し、 ダブルクリックすると側面の2次元平面で前後・上下位置を調整できます。
3D機体表示 ソリッド表示で、主翼―胴体、キャノピー―胴体、胴体―テールビーム、水平尾翼―垂直尾翼などの 部品間交線と多段上反角の継ぎ目を見やすく表示するようにしました。 パネル表示では内部で重なる部分を抑え、主翼・水平尾翼の色や軸コンパスも整理しました。
データベースと結果表示 飛行記録データベースは Shift/Ctrl で複数行を選び、まとめて削除できます。 別の機体を読み込んだときは、前の機体の解析結果を自動的に非表示にします。 揚抗比の表示は CL / (CD0 + CDi) に統一しました。
プロペラ詳細設計 守屋解(プロペラ揚力線理論)の設計条件・集計値・半径方向分布・性能曲線を、 1つのCSVファイルへ保存できるようにしました。
表示と操作の改善 VLMグラフの誘導角系列が描画領域からはみ出す問題、格子CL表示時の強制終了、 軸コンパスの向きと色、解析後の既定表示などを修正しました。 発進台のポールには第3・第4形態と同じ赤い旗を表示します。

version-0.03 で新しくなったこと

分野内容
翼型の逆設計 Qspec逆設計を追加しました。速度分布の曲線をマウスでつまんで動かすと、 その分布になる翼型が出てきます(XFOIL の QDES・MDES にあたります)。 → Qspec逆設計
翼型解析の表示 解析結果を XFOIL と同じ並びの Cp 分布図(上に Cp、下に翼型の形)で見られるようになりました。非粘性の Cp と、境界層の排除厚み δ* も重ねられます。 → Cp 分布を見る
解析データの保存 解析結果を CSV ファイルで書き出せるようになりました(ポーラー・Cp 分布・境界層)。 → 解析データを CSV で書き出す
最適化 GA最適化を実装しました。機体データベースの機体を 6 自由度モデルで飛ばし、 滑空距離が最大になる操縦のしかたを遺伝的アルゴリズムで探します。 → GA最適化
並列計算 全翼型バッチ解析・GA 探索・GA最適化は、同時には 1 つだけ動くようになりました。 → 並列計算について
水泳場 発進台に 第4形態(第3形態と同じ形で、飛び込み台が青)を追加しました。 桟橋の中央に青いシートを敷き、手すりはシーンツリーで消せるようにしました。 → シーンツリー
表記 「セオドーセンコード」を、原論文にあわせて Theodorsen コードと表記するようにしました。

αFOIL+ωSIM とは

高さ 10 m のプラットホームから滑空機・人力飛行機を飛ばし、飛行距離を競うシミュレータです。 それに加えて、飛ばす機体そのものを設計するための道具を一つのアプリにまとめています。

名前は二つの部分からできています。

αFOIL(アルファフォイル) 2D 翼型のデータベースと解析。UIUC/Selig の 1,665 翼型を収めた SQLite カタログを持ち、 XFOIL 6.99 をはじめ 9 種類の解析エンジンで翼型を計算できます。
ωSIM(オメガシム) 3D モデリングとフライトシミュレータ。プロペラ・グライダー・人力飛行機を モデリングし、そのまま松原水泳場の空へ飛ばせます。

この二つは切り離されていません。翼型解析で選んだ翼型が、そのままプロペラ・主翼・尾翼の断面になり、 モデリングした機体がそのままシミュレータで飛ぶ——X世代からY、Z、α世代からω世代へという一本の流れになっています。

αFOIL+ωSIM でできること

・2D 翼型データベースと 9 種類の解析エンジン

1,665 翼型の座標をデータベースに持ち、迎角掃引によるポーラー・Cp 分布・境界層を計算できます。 XFOIL のような粘性パネル法だけでなく、Theodorsen(NACA TR-452)・今井・守屋・森口といった 古典的な等角写像理論、Eppler PROFIL、水野 BEM まで選べます。 全 1,665 翼型を並列でまとめて解析するバッチ機能もあります。 Cp 分布は XFOIL と同じ並びの図で見られ、解析結果は CSV で書き出せます。

さらに望みの圧力分布・速度分布から翼型そのものを作り出すことができます。 「逆翼型設計」タブ(Eppler PROFIL・佐藤コード・Lighthill コード)のほかに、 速度分布の曲線をマウスでつまんで翼型を直していくQspec逆設計があります。

・プロペラ / グライダー / 人力飛行機の 3D モデリング

寸法をダイアログで打ち込むだけでなく、平面図・正面図・側面図の上で図形を直接ドラッグして 多段平面形・上反角・胴体の輪切りを編集できます。区間ごとに別々の翼型を割り当てることもできます。

作った機体はデータベース(SQLite)に名前を付けて保存でき、いつでも呼び戻せます。

・6 種類の計算エンジンを持つフライトシミュレータ

単純な 3DOF 質点から、尾翼操作を伴う縦 3 自由度、非線形 6DOF まで、 目的に応じて計算エンジンを切り替えられます。地面効果・翼のたわみ・ペダル出力と疲労も扱います。

・水泳場の散策

機体を降りて、松原水泳場を歩いて見て回れます。一人称・三人称・トップダウンの三つの視点があり、 桟橋や発進台の上にも登れます。景色を確かめたいときや、発進台の高さを体感したいときにどうぞ。

・自動計算と最適化

翼根の翼厚を指定するだけで、データベースから翼型を自動で選び、遺伝的アルゴリズムで 飛行距離が最大になる機体を探索することができます。並列計算なので、探索を回しながら 別のモードで作業を続けられます。

機体が決まったあとは、GA最適化で「その機体をどう飛ばせば一番遠くまで行くか」 (発進時の姿勢・引き起こしのタイミング・自動操縦のゲインなど)を探せます。

また、12 種類の揚力線理論をまとめて計算し、翼幅荷重分布を重ね描きして比較する機能もあります。

この鳥説(取扱説明書)概要の読み方

ページ内容
動作環境と起動 必要な環境、インストール、XFOIL の入手、起動のしかた、同梱ファイルの説明
使用方法 7 つのモードの切り替え、メニュー一覧、キー操作、視点変更
翼型解析 翼型データベースの使い方、解析エンジンの選び方、バッチ解析、Cp 分布の図、CSV 出力、 逆翼型設計、Qspec逆設計
機体データの編集 機体諸元・多段平面形・上反角・胴体・プロペラの編集、データベースへの保存
自動計算・最適化 翼型自動選定+GA 探索、揚力線理論群の比較、飛行経路最適化、GA最適化
技術情報 運動方程式、揚力の算出、地面効果、たわみ、使用している理論
FAQ よくある質問と答え
サポート・その他 連絡先、著作権・免責、参考文献、あとがき
まず何をすればいいか分からないときは
起動すると「プロペラ モデリング」の画面が出ます。まずは Ctrl+5 でグライダーシミュレータに入り、 Space で発進してみてください。飛ばしてみると、 どの数値をいじりたくなるかが見えてきます。