問題概要#
トリム計算実行時にエラー、または全速度域でトリム解が得られない。低速域では特に顕著。機体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過大によるトリム計算失敗事例
関連記事#
- E-2: Cmalpha符号ミス(トリム問題の別の原因)
- A-4: トリム探索機能の使い方(トリム探索の基礎)
© 2025 Yaaasoh. All Rights Reserved.