問題概要#

トリム計算実行時にエラー、または全速度域でトリム解が得られない。低速域では特に顕著。機体XMLの構文エラーはない。

原因#

CD0(有害抗力係数、ゼロ揚力時の抗力)が過大な値(例: 0.045以上)に設定されていることが原因です。

CD0が大きすぎると、低速飛行時に必要な推力が利用可能な最大推力を超えてしまい、トリム解が存在しなくなります。多くの初心者がRascalの値(0.045)をそのまま使用してトラブルになります。

参考: JSBSim Reference Manual - Drag Coefficients(Public Domain)

解決方法#

XMLのaerodynamicsセクション、DRAG軸のaero/force/Drag_basic functionを確認します:

<function name="aero/force/Drag_basic">
  <sum>
    <value>0.028</value>  <!-- CD0を推奨値0.028に修正 -->
    ...
  </sum>
</function>

推奨値: 0.028(Rascalベース、小型固定翼機の適切な値) 典型範囲: 0.02-0.10 CD0 = 0.045 はほとんどの場合過大

修正後、トリム計算を再実行してください。

参考: JSBSim Reference Manual - Stability and Control(Public Domain)

予防策#

機体XMLテンプレートのCD0デフォルト値を0.028に設定します:

# Excel→XML変換スクリプト例
DEFAULT_CD0 = 0.028

# バリデーション
if cd0 > 0.04:
    print(f"警告: CD0={cd0}が過大です。推奨値0.028に修正してください。")

トリム計算失敗時の診断スクリプトにCD0チェックを含めると、原因特定が容易になります。

参照資料#

  • JSBSim Reference Manual(Public Domain): Drag Coefficients、Stability and Control
  • JSBSim XML Generator(CC BY-NC-SA 4.0、自作プロジェクト): https://github.com/Yaaasoh/jsbsim-xml-generator
  • 筆者の過去調査データ(private repository): CD0過大によるトリム計算失敗事例

関連記事#


© 2025 Yaaasoh. All Rights Reserved.