機体データの作成

Tatさんの書かれた、フライトモデル解説と、FlightGear/docs/README.yasimを元にこちらにまとめてみました。
また、誤訳誤記の指摘・加筆・修正等をお待ちしています。

<airplane>

フライトモデル全てを包含するトップレベルのタグです。

  • 属性
    • mass: 燃料が入っていないときの重量をポンド(lbs)で指定してください。
  • 使用例と解説

    <airplane mass="3704">
    <!-- ここに他のタグが全て列挙される -->
    </airplane>

    mass="3704" は airplane タグの属性であり、機体の総重量から燃料分を差し引いた値(あるいは乾燥重量)を米ポンド(Lb)で記述します。A6M2 は1680 kg なので 3704 lb になります。ちなみに1kg は約2.2046 lb です。A6M2 の場合、総重量は6,164lb ですが、これだととてももっさりな挙動になります。またフライトギア上の機体には武器も予備タンクもありませんから、乾燥重量としています。

<approach>

着陸時(アプローチ時)の機体の飛行パラメタを記述します。Yasim は JSBSim とは異なり、飛行特性を推定するために必要な航空力学上の詳細な係数を記述する必要がありません(従って比較的簡単にフライトモデルが記述できます)。このため、アプローチ時及び最高速時の機体の速度等様々なパラメタから、数百回のシミュレーションを行った上で飛行特性を推定します。

  • 属性
    • speed:着陸時の速度を真対気速度(KTAS)で指定します。
    • aoa:迎え角を指定します。
    • fuel:燃料タンク内の燃料の量を0から1の間で指定します。デフォルト値は0.2です。
  • 使用例と解説 approach タグでは、アプローチ時の速度、迎え角、燃料の量(着陸重量に影響する)を属性として持っていて、<control>タグで空燃費、スロットル位置、プロペラピッチ等のパラメタを記述します。以下に A6M2 の例を示します。

<approach speed="60" aoa="9">
<control-setting axis="/controls/engines/engine[0]/throttle" value="0.30"/>
<control-setting axis="/controls/engines/engine[0]/mixture" value="0.55"/>
<control-setting axis="/controls/engines/engine[0]/propeller-pitch" value="0.6"/>
<control-setting axis="/controls/engines/engine[0]/boost" value="0.0"/>
<control-setting axis="/controls/flight/flaps" value="1.0"/>
<control-setting axis="/controls/gear/gear-down" value="1"/>
</approach>

この例では、approach タグの属性に speed (60ノット), aoa (Angle of Attack: 迎え角) 9度を設定しています。アプローチ時の速度はストール速度、またはそれより若干速めに設定します。タグ内では、制御可能な操作機器が、現在どんな状態にあるかを記述します。 1.0は全開であることを、0.0 は全閉であることを示します。A6M2 ではそれぞれ以下の意味になります。

  • スロットル 30%
  • 空燃費 55%
  • プロペラピッチ 60% (100% でピッチ角最大)
  • 過給機 0%
  • フラップ 100% (一番下に下ろしている)
  • ランディングギア 100% (ギアが降りている)

これらのパラメターを記述する際には、資料に記述された正確な値にこだわる必要はなく、ざっくり言えば釣り合いが取れていればいいということになります。 (とりあえず、yasimテストプログラムでの計算結果が、Approach Elevator が -1.0000 以下でなければ大丈夫です。)
ある程度の値を設定しておき、着陸時のストール直前の速度や最高速が資料等に記述されたものと一致するように調整すると良いでしょう。

<cruise>

最高速で飛行中の状態を approach タグと同様に記述します。ここでの速度は「真対気速度」です。従って計器から読み取れる速度ではなくカタログスペックを speed 属性に記述します。alt (altitude: 高度 )属性には 最高速で飛行する際の高度を ft 単位で指定します。

  • 属性
    • speed:巡航速度を、真対気速度(KTAS)で指定します。
    • alt:巡航時の海面高度をknotで指定します。
    • fuel:この時の燃料タンク内の燃料の量を0から1の間で指定します。デフォルトでは0.2です。
  • 使用例と解説 A6M2 の場合、以下の記述に示す通り、高度 14927 ft で最高速度 288 kt になることを示します。

    <cruise speed="288" alt="14927">
    <control-setting axis="/controls/engines/engine[0]/throttle" value="1.0"/>
    <control-setting axis="/controls/engines/engine[0]/mixture" value="1.0"/>
    <control-setting axis="/controls/engines/engine[0]/propeller-pitch" value="1.0"/>
    <control-setting axis="/controls/engines/engine[0]/boost" value="1.0"/>
    <control-setting axis="/controls/flight/flaps" value="0.0"/>
    <control-setting axis="/controls/gear/gear-down" value="0"/>
    </cruise>

    cruise タグ内の情報の意味は approach タグのものと同様です。最高速はカタログスペック通りに記述しても簡単に再現する事は難しいでしょう。従って、approach タグと同様に、テスト飛行と調整を繰り返す事となります。この際に注意すべき事は、計器速度と cruise の speed 属性に指定する真速は異なるということです。指示対気速度は高度が高くなるに従って真対気速度よりも遅い値を示します。 同じ真対気速度なら、指示対気速度は1000フィート上昇する毎に約2%づつ減っていきます。 例えば、4000フィート、QNH=29.92では、真対気速度と指示対気速度の誤差はおよそ8%です。このとき、指示対気速度で120ノットで飛んでいれば、それは真対気速度で約128ノットであることを意味します。

<cockpit>

パイロットの視点位置を記述します。この位置は3Dモデルの中心を (0, 0, 0) とした相対座標として表現したもので、単位はメートルです。

  • 属性
    • x,y,z:視点の位置(詳細は後述) A6M2 では以下のようになります。
  • 使用例と解説

    <cockpit x="-0.44" y="0" z="0.774"/>

    この座標の割り出しは、3D モデリングツールでパイロットの視点にカーソルを合わせ、その座標を記録する事で行います。各軸は以下のようになります。
    • x軸: 機体の前後方向を示し、後方が正となります
    • y軸: 機体の左右方向を示し、右側が正となります
    • z軸: 機体の上下方向を示し、上側が正となります
      A6M2 の場合、パイロットの視点は3Dモデルの原点から前方に 0.44m, 上方に0.774m の位置になります。この位置が、コクピット視点の位置になります。

<fuselage>

機体胴体の形状を両端の座標、最大幅、先細り具合、最大幅となる位置とで示します。fuselage タグの属性を以下に示します。機体胴体とはエンジンカウル先端(プロペラ軸は含みません)から機体の最後尾までの筒として捉えられます。以下に fuselage タグの属性について説明します。

  • 属性
    • ax, ay, az : 胴体先端の中心座標 (座標軸と単位はcockpit タグの属性と同じ)
    • bx, by, bz : 胴体末尾の中心座標
    • width : 最大幅(通常、翼の付け根のx軸上の中心位置における胴体の幅)。単位はメートルです。
    • taper : 胴体の先細り度合いを示す数値で、先端の幅を最大幅で割った値になります。0.0 で先端が点になり、1.0 では先端から末尾迄同じ幅となります。
    • midpoint : 胴体の幅が最も広くなる位置
    • idrag : 胴体の発生する誘導抗力のための乗数を指定します。値を指定しない場合、1です。idrag="0"とすると、機体は誘導抗力を発生しません。(形状抗力、干渉抗力、造波抗力は発生します)
    • cx,cy,cz : 機体の「ローカル座標システム」上で発生している抗力のための要素です。 点xが航空機の先端にあって、y=0ならばzはxと垂直になります。~(不正確?) 例:幅の2倍の高さの機体の場合、cy=2、(前面の面積が2倍になっているため)cx=2と定義することが出来ます。

<wing>

主翼の形状や特性を設定します。wing タグの属性では主翼の左半分の形状と抗力(ドラッグ)を指定します。この要素タグは一つしか使うことが出来ません。(しかし、後述するvstabタグを使えばさらに揚力を発生する面を追加することが出来ます。) また、後述のstallタグやflap,slat,spoilerタグを子要素で持つことが出来ます。 航空実用辞典-翼型 airfoil, wing sectionと翼wingも参考にしてください。

  • 属性
    • x, y, z: 主翼左半分の付け根の中心座標。単位はメートル
    • taper: 主翼の先細り具合を示す数値で、x軸上の翼端の長さを主翼の付け根(胴体と接する部分の主翼の長さ)で割った値となります。1.0で翼端と長方形の翼となり、0.0で翼端が点になります。
    • length: 翼根の中心点から翼端の中心点への距離 (翼幅 - span とは異なります。)
    • chord: 翼根の前縁から後縁への距離
    • camber: 翼型中心線(翼断面の上面と下面の中点を結んで得られる曲線)と翼弦線との距離を示します。翼の断面図において、上下の形状が対称であればキャンバー角は 0となります。一般的にキャンバーを大きくすれば失速時の迎え角(aoa)が増加します。これにより得られる最大揚力も増加しますが、同時に抵抗も増加します。(Yasim では aoa=0の時の揚力を失速時の揚力 で割った値を書きます)
    • dihedral: 主翼の取り付け角度。y軸と翼との角度を示します。
    • idrag: 主翼により発生する誘導抗力の乗数を示します。一般的にアスペクト比の低い翼はアスペクト比の高い翼と比べると同じ迎え角に対して低い誘導抗力を発生させます。Yasim では、誘導抗力に関する推定は不十分であるため、アプローチ時のスロットル設定をチューニングするためにこの値を調整する必要があります(とはいうものの、非常に難しいです)。
    • incidence: 翼の付け根部分の取り付け角を示します。前翼端が後翼端よりも高い場合はが正の値を示します。
    • sweep: 主翼の後退角を示します。前翼後退角ではないので注意してください。A6M2 はほぼ 0となります。
    • twist: 翼の付け根の迎え角と翼端の迎え角との差のことで、翼端の迎え角の方が小さければ負の値を示します。通常は負の値となり、翼端の迎え角の方が小さくなります(wash out:捻り下げ)

以下に A6M2 の wing タグを示します。wing タグ中では、失速時の挙動と、フラップ及びエルロンの設定をタグで記述します。これらのタグの説明は後述します。

<wing x="0.0" y="0.4" z="-0.35" taper="0.44" incidence="-0.5" length="5.6" chord="2.464" sweep="0.0" dihedral="6.5" camber="0.05" twist="-1.8" idrag="1.25">
<stall aoa="14" width="5" peak="1.5"/>
<flap0 start="0.0" end="0.4" lift="1.7" drag="1.9"/>
<flap1 start="0.4" end="1.0" lift="1.4" drag="1.1"/>
<control-input axis="/controls/flight/flaps" control="FLAP0"/>
<control-output control="FLAP0" prop="/surface-positions/flap-pos-norm"/>
<control-speed control="FLAP0" transition-time="7"/>
<control-input axis="/controls/flight/aileron" control="FLAP1" split="true"/>
<control-output control="FLAP1" side="left" prop="surface-positions/left-aileron-pos-norm"/>
<control-output control="FLAP1" side="right" prop="surface-positions/right-aileron-pos-norm"/>
<control-speed control="FLAP1" transition-time="1"/>
<control-input axis="/controls/flight/aileron-trim" control="FLAP1" split="true"/>
</wing>

<hstab>

水平尾翼の左側の形状や特性を記述します。hstab は wing オブジェクトであるため、記述内容は wing タグと同等ですが、水平尾翼の「効き具合」を示す effectiveness 属性が追加されています。また、wing と同様に右半分はミラーされることになります。なお、hstab オブジェクトは xml ファイルに1つしか記述できません。以下に A6M2 の例を示します。

  • 使用例と解説

    <hstab x="-4.73" y="0.22" z="0.46" taper="0.439" length="2.0" chord="1.43" sweep="-0.1" incidence="0.0" effectiveness="2.5">
    <stall aoa="16" width="8" peak="1.5"/>
    <flap0 start="0.0" end="1.1" lift="1.6" drag="1.6"/>
    <control-input axis="/controls/flight/elevator" square="true" control="FLAP0"/>
    <control-input axis="/controls/flight/elevator-trim" control="FLAP0"/>
    <control-output control="FLAP0" prop="/surface-positions/elevator-pos-norm"/>
    </hstab>

    ここで注目すべき所は flap0 の翼端が 1.1 を越えていることです。これはエレベータの幅が翼の幅よりも長い事を示しています。決して正しい数値ではないのですが、カタログスペックの値だと揚力が十分に得られない場合や、アプローチ時の迎え角が小さくなりすぎる時に1.0 以上の数値を記述することで、実機に近いアプローチ体勢を実現する事ができます。
    effectiveness, flap0, stall, approach のパラメタはそれぞれ依存し合っていますので、この辺をチューニングするのは時間が掛かるでしょう。

<vstab>

垂直尾翼の形状と特性とを記述します。hstab 同様に wing オブジェクトであるため、wing タグと同等の属性やサブ要素を記述します。hstab と同様に effectiveness 属性があります。wing タグや hstab タグと異なるところは、左右にミラーされないことです。これは複数の 垂直尾翼が存在する場合は、vstab タグを複数記述する必要があります。

  • 使用例

    <vstab x="-5.0" y="0" z="-0.6" taper="0.5" effectiveness="3.5" length="1.6" chord="1.65" sweep="0">
    <stall aoa="15" width="14" peak="1.5"/>
    <flap0 start="0" end="1" lift="1.6" drag="1.6"/>
    <control-input axis="/controls/flight/rudder" square="true" control="FLAP0" invert="true"/>
    <control-input axis="/controls/flight/rudder-trim" control="FLAP0" invert="true"/>
    <control-output control="FLAP0" prop="/surface-positions/rudder-pos-norm" min="1" max="-1"/>
    </vstab>

<mstab>

水平安定板のミラーリングをします。難解な計算の解答に関わらず、同じ形状の水平尾翼を必要なだけ持つことができます。

<stall>

wing タグ内に記述される子要素で、失速時の挙動を表します。stall タグではこの失速時の挙動を以下に示す3つの属性で決定します。

  • 属性
    • aoa:失速時の迎え角 (最大揚力)を度(degrees)で示します。「迎え角」は胴体との角度ではなく、翼(翼弦線)と飛行方向の間の角である事に注意してください。なぜなら翼が胴体と並行に取り付けられているとは限らないからです。
    • width: ストールの「幅」を示す角度です。この値が大きくなる程緩やかなストールとなります。捻り下げの無い翼(twist="0"の翼)にとっては、この値が小さいと非常に危険なストールとなります。捻り下げのある翼は翼全体が同時にストールしないため小さい値でも耐えられます。
    • peak: 揚力がピークとなる高さを、45度におけるストール後の二次ピークとの相対値で表します。デフォルト値は1.5になっています。この値は「魔術」であり、通常は変更する必要はないでしょう。

<flap0> , <flap1> , <slat> , <spoiler>

stall タグと同様、 wing/hstab/vstab タグ内に記述することでエルロンやフラップなどの「舵」の位置、形状、及び効き具合を定義します。

  • 属性
    • start: 翼上における舵の物理的な開始位置を指定します。0.0 は翼の付け根を、1.0 は翼端を示します。
    • end: 翼上における舵の終端位置を指定します。値の意味は start と同じです。
    • lift: 舵を最大にした際の揚力の乗数を示します。標準的なエルロンは 1.2 となり、大型ジェット機のフラップは2.0 となります。
    • drag: lift と同様の条件における抗力の乗数を示します。フラップでは通常 lift より大きな値を指定します。
    • aoa: slat のみの属性です。これは、slatを展開したときの失速時の迎え角がどれだけ大きくなるかを示しています。
  • 使用例と解説 A6M2 の主翼における flap0(フラップ), flap1(エルロン) は以下のようになります。

    <flap0 start="0.0" end="0.4" lift="1.7" drag="1.9"/>
    <flap1 start="0.4" end="1.0" lift="1.4" drag="1.1"/>

<control-input>

舵の制御に用いるフライトギアのプロパティ名を定義します。wing, hstab, vstab, cruise 及び approach タグのサブ要素として記述することができます。control-input タグの必須属性は axis と contorl です。属性の説明は以下の通りです。

  • axis: 舵を操作するフライトギアのプロパティを指定します。flaps の場合 "/controls/flight/flaps" となります。同様に エルロンの場合は "/controls/flight/aileron" となります。これらのプロパティはフライトギアのメニューから "File > Browse Internal Properties" を選択する事で閲覧できます。
  • control: 入力された値が、どこで利用されるかを指定します。
    • THROTTLE: スロットル
    • MIXTURE: 空燃費
    • REHEAT: アフターバーナー(unimpl.)
    • PROP:プロペラピッチ(unimpl.)
    • BRAKE: ランディングギアのブレーキ
    • STEER: ランディングギアのステアリング
    • FLAP0: フラップ0
    • FLAP1: フラップ1
    • FLAP[0/1]EFFECTIVENESS: フラップの揚力に対して、この数字を乗じます。しかし、抗力は増えません。(ブロウンフラップ等、BLCの再現に使うと良いでしょう)
    • SLAT: スラット
    • SPOILER: スポイラー
    • INCIDENCE:翼への入射角度
    • CYCLICAIL:サイクリックの横方向(固定翼機で言う、エルロンに相当)の入力・ローターへの出力(回転翼機のみ)
    • CYCLICELE:サイクリックの縦方向(固定翼機で言う、エレベータに相当)の入力・ローターへの出力(回転翼機のみ)
    • COLLECTIVE : コレクティブ・ピッチレバー(メインローターのピッチを制御)の入力・ローターへの出力(回転翼機のみ)
    • ROTORENGINEON :ローターの始動(未検証ですが、入力元が/controls/engines/engine[0]/magnetosでした。)(回転翼機のみ)
    • WINCHRELSPEED : ウインチの巻上げ速度(グライダーを車両で牽引してグライダーを離陸させる場合などに使用します)
    • LACCEL : カタパルトによって与えられる加速度を指定します。 そのほかにもありますので、FGFDM.cppを参照してください。
  • invert: "true" を指定すると制御の方向を逆にできます。J7W の様に主翼が後ろにある場合などでエレベータの制御を上下逆にする場合に利用します。
  • split: "true" を指定すると左側にはプロパティの値が、右側にはプロパティの値の正負を反転した値(つまり、-1倍した値)がそれぞれ適用されます。
  • square: "true" を指定すると舵を操作する際に、プロパティの平方根を用います。少し舵を切った時の挙動を押さえたい時に利用します。プロパティの範囲が-1.0〜1.0の時のみ利用してください。 A6M2 のフラップでは次のように指定しています。

    <control-input axis="/controls/flight/flaps" control="FLAP0"/>

  • src0/src1/dst0/dst1: この値が与えられると、出力値をソースと直接結び付けます。入力値の値の範囲をsrc0-src1とすると、それはdst0-dst1に直線的に結び付けられます。入力値範囲外では、値は固定されます。

<control-output>

各制御装置の状態を保存する為のフライトギアのプロパティを指定します。このタグにより書き出された値は、Nasal スクリプトや計器表示、アニメーション等で利用されます。指定されたプロパティに書き出される値は、control-input タグの属性や control-speed により加工された値となります。

  • 属性:
    • control: control-input タグと同じ
    • prop: 値を書き込むフライトギアのプロパティ名を指定します。どのプロパティに書き込むべきかは色々な機体のフライトモデルを参考にしてください。
    • side: コントロールを分割することが出来るオプションです。"右"もしくは"左"のどちらかを選んでください。
    • min/max:適用される出力値の上限・下限を指定します。
  • 使用例: A6M2 のフラップ位置の書き出しは、次のようになります。

    <control-output control="FLAP0" prop="/surface-positions/flap-pos-norm"/>

    フラップのアニメーションを行う時は、このプロパティを参照して、フラップの座標を計算しています。(A6M2/Model/a6m2b-anim.xml を参照してください)

<control-speed>

control-input で指定されたプロパティが変化した時の制御速度を指定します。例えば、']' キーを押してフラップを一段下げた場合に /controls/flight/flap は0.0から0.25に変化します。このとき control-speed で2秒と指定しておくと、フラップは2秒掛けて 0.25 の位置に移動する事になります。control-output で指定されたプロパティは 2秒間で 0 から 0.25 に徐々に変化します。A6M2 のフラップに対する control-speed は次のように記述されています。

  • control :コントロールするプロパティを指定します。
  • transition-time :プロパティを変化させる所要時間を指定します。
  • 使用例

    <control-speed control="FLAP1" transition-time="1"/>

    この例ではフラップが下ろされた時に 1 秒掛けて指定された位置に移動することとなります。

<control-setting>

このタグは<cruise>もしくは<approach>タグの内側で特別なセッティングをするのに使用されます。 例えば、アプローチ時のフラップの値や速度などを指定するのに使用されます。

  • 属性
  • axis : コントロールの入力の名前(例えば、プロパティツリー上の名前)を指定します。
  • value : コントロール軸の値を指定します。
  • 使用例
    <cruise>もしくは<approach>を参照してください。

<thruster>

非常にシンプルな「推力」のみを持つエンジンのオブジェクトを定義します。これはF-35BやYak-141を作る時に役に立ちます。これはスロットルの入力軸の値を推力の指定に直接結び付けます。これは燃料などを消費しません・・・

  • 属性
    • thrust : 最大推力(=スロットルを100%にしたときの推力)をポンドで定義します。
    • x,y,z : 推力が発生する場所を指定します。
    • vx,vy,vz : 推力の方向を調整します。指定していない場合は自動で後ろ向きになりますが、指定すると任意の方向に推力を働かせることが出来ます。

<jet>(要補足/修正。特に、デフォルト値関連)

この項は翻訳が正確ではないかもしれないことに注意してください。
ターボジェット/ターボファンエンジンを定義します。これは<control>要素で制御され、推力をエンジンの重心位置と違う場所から発生させるために<actionpt>を子要素として持ちます。

  • x,y,z: エンジンの取り付け位置を重心を基準にして指定します。また、<actionpt>要素が指定されない場合は、この場所で推力を発生させます。
  • mass: エンジンの質量をlbsで指定してください。
  • thrust: 海面高度での推力をlbsで指定してください。
  • afterburner: アフターバーナー(オーグメンター、リヒート)使用時の出力をlbsで指定してください。デフォルトでは"推力増加"はありません。
  • rotate: 推力の偏向の角度を記述します。指定していないときは0(真後ろ)です。
  • n1-idle: アイドル時のファン(もしくは低圧タービン)の回転を%で指定。未指定時は55です。
  • n1-max: 最大時のファン(もしくは低圧タービン)の回転を%で指定。未指定時は102です。
  • n2-idle: アイドル時の高圧タービンの回転%を指定。未指定時は73です。
  • n2-max: 最大時の高圧タービンの回転%を指定。未指定時は103です。
  • tsfc: 推力あたりの燃料消費量を指定します。デフォルトでは0.8(単位不明)ですが、現代的なターボファンエンジンでは、これよりもっと低くあるべきです。
  • egt: 離陸時の排気ガスの温度を指定してください。デフォルトは1050(ケルビンか℃かは不明)です。
  • epr:離陸時の排圧を比率で指示してください。(不正確。おそらく、標準大気圧との比率)
  • exhaust-speed:排気の流速をktで指示してください。
  • spool-time :turbo-lag:出力(スロットル)を90%変化させたときにエンジンの反応が追いつくまでに何秒かかるかを指示します。
    • N1・N2について http://ja.wikipedia.org/wiki/%E7%94%BB%E5%83%8F:Turbofan_operation.png n1は画像の緑色部分の回転を、n2は青色部分の回転を指します。

<propeller>

プロペラ及びエンジンについて記述します。このタグは、<piston-engine>または<turbine-engine>の子要素を必要とします。

  • 属性:
    • x, y, z: プロペラ及びエンジンの重心座標を指定します。単位はm で座標系は他のタグの x,y,z の属性と同じく、3Dモデルの中心点からの位置になります。
    • radius: プロペラの半径を m で記述します。
    • mass: エンジン及びプロペラの重さをポンド (lb) で示します。
    • moment: プロペラによるモーメントを kgm^2 で示します。正/負でプロペラの回転方向を指定します。負の値を指定すると、「ヨーロッパ系」の逆回りのプロペラに出来ます。 この値は現状推測値で、プロペラ半径^2×プロペラ質量 /3で大体よいそうです。 A6M2 では試行錯誤の結果 80 で落ち着いています。
  • cruise-speed: プロペラの最も効率のよい時の速度をkt で示します。機体の対地最高速度とは異なるそうですが、A6M2 では機体の最高速度としています。
  • cruise-rpm: cruise-speed で指定した速度で飛行中のプロペラの回転数を示します。通常、エンジンの最大 RPM * ギア比となります。
  • cruise-alt: sruise-speed で巡航中の高度をフィート(ft) で示します。
  • cruise-power: 巡航中の出力を馬力で指定します。
  • takeoff-power: 離陸時の出力を記述します。A6M2 では940 hp を指定しています。
  • takeoff-rpm: 離陸時のプロペラ回転数をrpm で示します。これも推測値となりますが、A6M2 では単純に cruise-rpm * (max-power / takeoff-power) で算出しています。
  • gear-ratio: ギア比を示します。A6M2 では 0.6875 です。
  • fine-stop: 最小のプロペラピッチを、cruise-rpm 時の理想ピッチに対する比で表現します。デフォルトでは 0.25 です。(高い値を与えると、低回転時、低出力なセッティングになります。)この値を大きくすると滑走時のプロペラ回転数が下がる傾向にあります。A6M2 では試行錯誤の上 0.9 と高めに設定しています。
  • coarse-stop: 最大のプロペラピッチを、cruise-rpm 時の理想ピッチに対する比で表現します。デフォルトでは4.0です。小さい値は、高回転時にハイパワーになるセッティングになります。
  • min-rpm, max-rpm: プロペラの最小/最大回転数をRPM で指定します。エンジンの最大/最小回転数にギア比を掛けたものとなります。
  • contra : これがセットされていると(contra="1")、このプロペラは2重反転プロペラとなります。これは、航空機に対してジャイロモーメントを発生させません。また、反トルクがプロペラ同士で相殺されるので、ボディーに作用しなくなります。また、これが設定されていると、プロペラ後流の偏向はゼロになるでしょう。
  • 使用例

    <propeller x="2.0" y="0" z="0" radius="1.56" mass="1175" moment="80" cruise-alt="15000" cruise-power="950" cruise-speed="288" cruise-rpm="1719" takeoff-power="940" takeoff-rpm="1700" gear-ratio="0.6875" fine-stop="0.9" min-rpm="550" max-rpm="1719" >
    <actionpt x="2.36" y="0" z="0"/>
    <control-input axis="/controls/engines/engine[0]/propeller-pitch" control="ADVANCE" />
    <!-- turbo-mul and wastegate-mp are set to +250mmHg (1.33 bar) -->
    <piston-engine eng-power="950" eng-rpm="2500" turbo-mul="1.333" wastegate-mp="39.372" supercharger="1" >
    <control-input axis="/controls/engines/engine[0]/throttle" control="THROTTLE"/>
    <control-input axis="/controls/engines/engine[0]/starter" control="STARTER"/>
    <control-input axis="/controls/engines/engine[0]/magnetos" control="MAGNETOS"/>
    <control-input axis="/controls/engines/engine[0]/mixture" control="MIXTURE"/>
    <control-input axis="/controls/engines/engine[0]/boost" control="BOOST"/>
    </piston-engine>
    </propeller>

    この例でも分かるように propeller タグ内には actionpt, piston-engine, control-input のサブ要素があります。以下では actionpt 及び piston-engine タグについて説明します。control-input に関しては、単発機であれば、この例の通りに記述して問題ありません。

<piston-engine>

ピストンエンジンの特性を記述します。先述したとおり、propeller タグのサブ要素として記述しなければなりません。

  • :
    • eng-power: 最大出力を hp で記述します。A6M2 では 950 hp です。
    • eng-rpm: エンジンの最大回転数を記述します。A6M2 では 2500 rpm です。
    • displacement: エンジンの排気量(inch^3)を示します。A6M2 ではカタログ通りに記述したら出力が大きく下がったので利用していません。
    • compression: エンジンの圧縮比を示します。A6M2 ではカタログ通りに記述したら出力が大きく下がったので利用していません。
    • turbo-mul: 過給圧の乗数を記述します。A6M2 では最大 :+250mmHg (1.333 気圧)ですので1.333となります。
    • wastegate-mp: 最大過給圧の上限を inHg で記述します。A6M2 では 1.333 気圧ですので、39.72 inHg(=1.333 気圧) としています。turbo-mul を 1.333 以上にしてもこの値で打ち止めとなります。
    • supercharger: 過給器がターボではなくスーパーチャージャーの場合 1 とします。A6M2 はスーパーチャージャーなので 1 となります。
    • turbo-lag: ターボ過給器でパワーを90%変化させたときに、過給圧の変化が追いつくまでのタイムラグを秒で記述します。

<turbine-engine>

この項は翻訳が正確ではないかもしれないことに注意してください。
タービンエンジン(ターボプロップ)を定義します。この要素は、<propeller>タグの子要素でなければなりません。

  • 属性:
    • eng-power: 最大馬力をhpで指定します。ピストンエンジンの時と違い、巡航高度での出力を指定してください。
    • eng-rpm :eng-powerで指定したパワーを発生する時のエンジンの回転数を指示します。これは、プロペラのシャフトの回転数であることに注意してください。この時、親要素の<propeller>タグ内で、gear-ratioを指示してはいけません。
    • alt :eng-powerで指定したパワーを発生する高度を指示します。これは、十分高くなければなりませんが、flat-rating powerより低くなければなりません。
    • flat-rating :エンジンの許容される最大の出力を指定します。ほとんどのターボプロップエンジンは、エンジンの損傷を防ぐために特定の高度、温度域より下で使用されます。
    • min-n2: スロットルレバーを0位置にしたときの、N2タービンの回転速度をパーセントで指示します。
    • max-n2: スロットルレバーをMAX位置にしたときの、N2タービンの回転速度をパーセントで指示します。
    • bsfc: 1hpあたりの燃料消費量を、lbs/時 で指示します。

<actionpt>

propeller、もしくはjetタグのサブ要素であり、プロペラの位置情報orジェットエンジンの推力が発生する位置を記述します。

  • 属性:
    • x, y, z: プロペラの回転中心orジェットエンジンの推力の発生する位置を 3D モデルの中心点からの座標として表現します。単位はメートルです。

<gear>

ランディングギアを定義します。脚一本につき一つの<gear>タグを使ってください。 <control>子要素を含めることで、ステアリングとブレーキを割り当てることが出来ます。

  • 属性
    • x,y,z : 脚を完全に降ろした時の車輪の先の位置を指定してください。
    • compression : 脚がストロークできる長さをメートルで指定してください。
    • initial-load : スプリングにかかるイニシャルロード(プリロード)を指定します。デフォルトでは0です。バネ定数(=spring値)を低くして、initial-loadと併用すると、ギアのジッターを抑えることが出来ます。 注意:バネの強さは一定ですが、0%から20%の圧縮の変化の時は、連続した振る舞いになりません。(タイヤとホイールが変形して衝撃を吸収するので。)
  • upx/upy/upz : 脚を格納する時、足を縮める方向を指定してください。デフォルトでは垂直(0,0,1)が使用されます。 これらは、向きを指定するだけに使います。 - 長さが<compression>で指定されるのと同様に、方向は垂直である必要はありません。
  • sfric : タイヤの静摩擦係数を指定します。デフォルト値は0.8です。
  • dfric : タイヤの動摩擦係数を指定します。デフォルト値は0.7です。'訳者注:普通は、静摩擦係数>動摩擦係数となる点に注意してください。'
  • spring : 自動生成のバネ定数へ乗ずる数を指定して、バネの強さを指定します。値を大きくするとバネは硬くなります。値を小さくするとバネを柔らかくします。以下の、ダンパーの減衰力と大きな関わりがあります。
  • damp : 自動生成のダンパー定数への無次元の係数を指定して、ダンパーの減衰力を指定します。値を増やすと、ギアの伸縮はゆっくりになります、値を減らすと、ギアが活発に動きます。バネの強さに対して減衰力過大の場合、バネでショックを吸収できずに機体が撥ねることがあります。逆に減衰力不足の場合、いつまでも機体の振動が収まりません。 ダンパーの減衰力とスプリングの強さの調整で機体を安定させられないならば、compressionの長さを大きくしてみてください。
  • on-water : これが"0"にセットされている場合、着水することが出来なくなります。デフォルトでは"0"です。
  • on-solid : これが"0"にセットされている場合、水面以外の場所で降りることが出来なくなります。デフォルトでは"1"です。
  • speed-planing :
  • spring-factor-not-planning :(要修正) 停止時の、springの要素に対し、spring-factor-not-planingの値を乗じます。 speed-plannningの上では、1と等しいです。この考えは、フロートの水上での動作のシミュレーションのためにこれを使います。 speed-planningのデフォルトは0です。そして、デフォルト値から1までspeing-factor-not-planningします。
  • reducde-friction-by-extension : サスペンションが伸びきった時に、タイヤのグリップがどれ位の割合で減少するかを定義します。0.7とした場合、30%のグリップになります。1より大きな値を定義した場合、完全に伸びきる前にグリップはゼロになるでしょう。デフォルトでは"0"です。
  • ignored-by-solver : 水上/陸上を定義したタグと共に使用すれば、1機の航空機に1セット以上のギヤを持つことができます。もしFlightGear(自動でバネ定数を計算します)がすべてのギアを考慮に入れるならば、間違った結果になるでしょう。
  • 使用例と解説: A6M2の左メインギアはこのようになっています。

    <gear x="0.91" y="1.75" z="-1.918" compression="0.2" spring="0.7" damp="2.2" dfric="0.05" sfric ="0.10">
    <control-input axis="/controls/gear/brake-left" control="BRAKE"/>
    <control-input axis="/controls/gear/brake-parking" control="BRAKE" split="true"/>

    <!-- ここから先は固定脚には不要です。-->
    <control-input axis="/controls/gear/gear-down" control="EXTEND"/>
    <control-speed control="EXTEND" transition-time="6"/>
    <control-output control="EXTEND" prop="/gear/gear[0]/position-norm"/>
    </gear>

<hook>

着艦フック、もしくは緊急制動用フック(F-15等)を定義します。

# この項は機体データやソースコードから推測したものです。正確かどうかは分りません。

  • 属性:
    • x,y,z : フックの取り付け位置を指定します。
    • length : フックの長さを指定します。
    • down-angle : フックの角度の下限を指定します。
    • up-angle : フックの角度の上限を指定します。

参考のため、A6M2のhook要素を転載します。

<hook x="-4.00" y="0.0" z="-0.400" length="1.5" down-angle="70" up-angle="-5">~ <control-input axis="/controls/gear/tailhook" control="HEXTEND"/>
<control-speed control="HEXTEND" transition-time="3"/>
</hook>

<launchbar>

艦載機等の、ランチバー(もしくはストラップ)を定義します。
デフォルトでの加速度は25m/s^2です。この値はcontrol-inputのLACCELで変更出来ます。

  • 属性:
    • x,y,z : 飛行機側の、ランチバーが取り付けられた場所を指定します。
    • length : ランチバーの、機体側から先端までの長さを指定します。
    • down-angle : ランチバーの水平より下向きの最大角度を指定します。
    • up-angle : ランチバーの水平より上向きの最大角度を指定します。
    • holdback-{x,y,z} : カタパルトの固定具を取り付ける位置を指定します。
    • holdback-length : カタパルト側の固定具のマウントポイントからの長さを指定します。角度の上限と下限はランチバーと同じなので、特に指定しない点に注意してください。
    • control-speed: transition-time 属性で射出時間(秒)を設定します。通常は1で構いません。
    • A6M2での使用例:

      <launchbar x="0.0" y="0.0" z="-0.99" length="1.470" down-angle="90" up-angle="0" holdback-x="0.0" holdback-y="0.0" holdback-z="-0.69" holdback-length="1.65">
      <control-input axis="/controls/gear/launchbar" control="LEXTEND"/>
      <control-speed control="LEXTEND" transition-time="1"/>
      </launchbar>

Nimitz などの空母ではノーズギア射出方式のカタパルトを採用しています。実機のA6M2にはノーズギアもありませんし、ストラップ式カタパルト射出用の装備はありませんが、空母から離陸するのは難しいだろうという事で無理矢理付けています :-p ストラップ(ランチバー)の取り付け位置はコックピット真下の胴体下部からフックが出ていることを想定して指定しています。ホールドバックの取り付け位置はコックピット真下の胴体下部になります。理論的には変ですが、とりあえず飛ばす為にこのような設定になっています。

<tank>

燃料タンクを定義します。ファイルに書かれている順番に、0から番号が与えられます。最初に左タンクを書いた場合、その左タンクは、"tank[0]"になるでしょう。

  • 属性:
    • x,y,z : タンクの位置を指定します。
    • capacity : 燃料タンクの容量をポンドで指定します。ガロンではありません。YASimは燃料の密度変化をサポートしています。
    • jet : bool型変数です。これがtrueなら燃料タンクの中身はJet-Aとして処理されます。そうでないなら、ガソリンの密度を使用します。より入念な密度設定(例えば、lbs/gal.で)を行いやすいようにするつもりです。

<ballast>

これは重心位置を調整するために設定します。バラスト設定は、<aircraft>タグで定義した、航空機の無燃料重量の一部を特定の場所に置く時に指定します。残った重量は胴と翼のいたる所に「知的に」配分されるでしょう。 もう一度以下の点に注意してください。これは無燃料重量を変えません。(バランス調整用の死重は自重に含まれます。)

  • 属性:
    • x,y,z : バラスト位置を指定します。
    • mass : 質量をポンドで指定して、指定した場所に置きます。負の値を与えることも出来る点に注意してください。これは、航空機のテールを軽くする時に必要になるかもしれません。

<weight>

これは乗員乗客・荷物、そのほか自重に含まれない物(例:飲料水・機内食・サービス用品等。軍用機なら、ミサイルや爆弾の類)を定義します。実際の質量がここで指定されないときは、代わりに(訳注:nasalを利用して)プロパティへのマッピングを使用します。 これはパネルなど、外部からのコードで重量を操作することを許します。(貨物の設定をpreference filesから読み込んだり、ランタイム等で爆撃機を使って爆撃したり、等)

  • 属性:
    • x,y,z : 重量の位置を指定します。
    • mass-prop : プロパティツリー上での名前を指定します。この重さはポンドであらわしてください。
    • size : 空気力学の上での"サイズ"をメートルであらわしてください。これが重要になるのは、重量物が機外に取り付けられた場合で、抗力の発生源になりうるからです。爆弾のように空力面が考慮されている物なら、その幅を使用してください。 そうでない物は、あなた自身が決めてください。デフォルトでは0です。(機内の積荷として扱います。)

<solve-weight>

<approach>、<cruise>タグの子要素として記述します。weightタグで荷物を積んでいるときの着陸・巡航に関する設定を解決します。 デフォルトでは、全ての積荷に与えられた番号がゼロであると仮定します。

  • 属性:
    • idx : ファイル中の何番目のweightかを、ゼロから始まる番号で指定します。
    • weight : 重量の設定を、ポンドで指定してください。

<hitch>

ヒッチを定義します。これは、グライダーのウインチ牽引でのスタートや、動力機での曳航、あるいはヘリコプターでの機外への荷物の吊り下げに使用できます。マルチプレイで飛んでいるときでも曳航することが出来ます。(j3とbocianの例を見てください。)

  • 属性:
    • name : ヒッチの名前です。マルチプレイ時の曳航をしたいならば、これが必要になります。あなたは多くのプロパティの中の、/sim/hitches/nameから探してください。 それらの大部分は直接内部の変数に結び付けられ、あなたは好きなようにそれらを変更できます。あなたは"broken"をプロパティに加えることができ、例えば聞こえる音も変わります。(不正確?)
    • x,y,z : ヒッチの位置を指定します。
    • force-is-calculated-by-other : あなたが航空曳航をインターネット上で行いたい場合、曳航機側のこの値を"1"としてください。グライダー側のこの値を特別に"0"に指定しないでください。LAN上ならば、両機のタイムラグは十分に小さく、0に近いかもしれません。 それは意図されていて、これは将来的に自動的に行われるでしょう。

<tow>

曳航用のトゥを定義します。これは<hitch>タグの子要素である必要があります。

  • length : ワイヤーロープの長さをmで定義します。
  • weight-per-meter: ワイヤーの重量をkg/mで指定します。
  • elastic-constant : ワイヤーの弾性定数を指定します。低い値はワイヤーにより高い弾性を与えます。
  • break-force : ワイヤーの引っ張り強さをNで指定します。これより大きな力を掛けると、ワイヤーが千切れます。
  • mp-auto-connect-period : マルチプレイヤーで、x秒ごとに曳航機を探します。見つかったなら、自動的に曳航され、パラメータは自動で相手機からコピーされます。曳航機にのみ設定されるべきで、グライダーに設定するべきではありません。

<winch>

ウインチで牽引する場合、このタグを使用します。これは<hitch>タグの子要素である必要があります。

  • max-tow-length :
  • min-tow-length :
  • initial-tow-length:どれもメートルで指定します。また、initial-tow-lengthはmp-autoconnectで使用される長さ/検索半径を定義します。
  • max-winch-speed : 最大のウインチの巻き取り速度をm/sで指定します。
  • power : ウインチの電動機出力をkWで指定します。
  • max-force : 最大のウインチの牽引力をNで指定します。

<rotor>

ヘリコプターのローターを指定します。これは1つだけ、2つ、あるいはもっとたくさんの<rotor>を書くことが出来ます。 これの描画に関しては、docs/README.yasim.rotor.png、docs/README.yasim.rotor.ods、docs/README.yasim.rotor.xlsを参照してください 図から計測したいくつかの値は、[]で囲ってください。 ローターを指定した場合、<wing>や<hstab>を指定する必要はなくて、<approach>と<cluise>は無視されるでしょう。 ローターはダウンウォッシュを発生させ、全ての面、胴体、安定翼に作用します。 胴体全体にローターのダウンウォッシュを働かせるには、fuselageタグ内で、idrag="0"とすると、よりリアルな結果を得られます。

  • 属性:(要補足・修正。)
    • name : ローターの名前を指定します。(いくつかのデータは /rotors/name に保存されています。)回転数、cone angle、ヨー角度、ロールの角度が保存されています。 ブレード1枚ごとに位置の角度、ピッチ角、入射角が保存されます。全ての角度は「度」で指定され、正の数はいつも「up」を意味します。 これは完全にテストされたわけではありませんが、少なくともローターが半時計周りに回るように働きます。 stallの値は、少しだけローターを失速させます。(少しだけ重量が加えられ、失速なしで揚力と抗力を生みます)。ローター音を変えるのにこれを使用してください。
    • x,y,z : ローターの中心の位置を指定します。
    • nx,ny,nz :ローター中心から垂直になる位置(上)を指定します。
    • fx,fy,fz : ローターから見て「前」になる方向を指示します。正常で無い場合、コンピュータによって修正されるでしょう。
    • diameter : ローター直径をメートルで指定します。[D]
    • numblades: ブレードの枚数を指定します。
    • weightperblade:ブレード1枚の重さをポンドで指定します。
    • relbladecenter : ブレードの相対的な重心を指示します。多分、100%正しく解釈されないでしょう;0.5から初めて、少しずつ値を変更してください。 [b/R]
    • chord : ブレード根元の前縁から後縁の距離。[c]
    • twist : ブレードの付け根の迎え角と翼端の迎え角との差のことで、翼端の迎え角の方が小さければ負の値を示します。通常は負の値となり、翼端の迎え角の方が小さくなります。
    • taper :ブレードの先細り具合を示す数値で、x軸上の翼端の長さをブレードの付け根の長さで割った値となります。1.0で長方形のブレードとなり、0.0でブレードの端が点になります。[d/c]
    • rel-len-where-incidence-is-measured :ローターがねじれている(twistしている)場合、入射角を測定した場所を指定する必要があります。0は根元を意味していて、1はローターの先端を意味しています。通常は0.7付近です。
    • rel-len-blade-start : 通常、ブレードはローターの中心に取り付けられません。[a/R]
    • rpm : ローターの回転数を指示します。
    • phi0 : ローターの初期位置を指定します。
    • ccw : ローターの回転方向を指示します。回転軸の真上から見たとき時計周りなら"false"、反時計回りなら"true"です。(Bo105のローターは反時計回りです)。 将来的には、時計回りを"0"、反時計回りを"1"とする方式に置き換えられ、"true","false"は長くはサポートされない予定です。 ;-)
    • maxcollective : ローターの最大ピッチ角を指定します。
    • mincollective : ローターの最小ピッチ角を指定します。
    • maxcyclicele : 最大の、サイクリックをエレベータのように動作させるためのピッチ角
    • mincyclicele : 最小の、サイクリックをエレベータのように動作させるためのピッチ角
    • maxcyclicail : 最大の、サイクリックをエルロンののように動作させるためのピッチ角
    • mincyclicail : 最小の、サイクリックをエルロンののように動作させるためのピッチ角
    • airfoil-incidence-no-lift : 非対称翼は入射が0度でも揚力を発生します。これは翼に働く揚力が0になる入射角を指定します。0を指定した場合は対称翼(=翼型中心線と翼弦線が一致する翼型:(例)NACA0012)となります。(default)
    • incidence-stall-zero-speed :
    • incidence-stall-half-sonic-speed: 失速する入射角は速度に関する関数です。ある計測値によると、それは広い速度の範囲で直線的に変化します。もちろん、直線的な範囲は0より高い値で終わります。しかし、ただゼロに直線的な振舞いを推測してください。
    • lift-factor-stall : 失速している翼型は、揚力を失います。失速が無いなら、プロフィールのc-liftの想定値は下式で求められます。
        sin(incidence-"airfoil-incidence-no-lift")*liftcoef
      そして、失速中なら、
        sin(2*(incidence-"airfoil-incidence-no-lift"))*liftcoef*"lift-factor-stall"
      したがって、この要素は失速の有無に関わらず揚力との間の商ではありません。適切な値がわからないなら、0.28を使用してください。
    • drag-factor-stall :失速中の抗力は、失速していないときの抗力より大きくなります。失速していないときの抗力c-dragは以下の式で推定されます。
        abs(sin(incidence-"airfoil-incidence-no-lift"))*dragcoef1+dragcoef0)
      失速で、drag-factorの乗数になります。
    • stall-change-over : 入射のための値 "incidence-stall"は失速でなく、入射角のためのものです。
        ("incidence-stall"+"stall-chenge-over")
      これは失速です。この2つの間の範囲では、それが直線的に補間されます。
       
    • pitch-a :
    • pitch-b : コレクティブを操作したときの入射角です。あなたがFlightGearを、--log-level=infoオプションをつけて実行した場合、FlightGearは揚力と必要なパワーのログをレポートします。
  • forceatpitch-a :
  • poweratpitch-b :
  • poweratpitch-0 : これらの要素はあまり長くサポートされません。結果は推測値であり、必ずしも正確な揚力とパワーの値ではないでしょう。 次の、updates.directlyのうちの一つで取り除かれます。変わりに「本当の」係数を使用してください。そして、以下に示すrotor-correction-factorで揚力を調整してください。

ローターのブレードは以下の通り説明されます: 直接、揚力と抗力の係数を定義します。 失速がなければ、翼型のc-liftは以下の式で推定されます。
  sin(incidence-"airfoil-incidence-no-lift")*liftcoef
失速中であるなら、以下のようになります。
  sin(2*(incidence-"airfoil-incidence-no-lift"))*liftcoef*"lift-factor-stall"
失速がなければ、翼型のc-dragは以下の式で推定されます。
  abs(sin(incidence-"airfoil-incidence-no-lift"))*dragcoef1+dragcoef0)
上の式によって、失速に関する係数を定義してください。
パラメータは以下の通りです。

  • airfoil-lift-coefficient : liftcoef
  • airfoil-drag-coefficient0 : dragcoef0
  • airfoil-drag-coefficient1 : dragcoef1 正しい値を求めるために、README.yasim.rotor.ods(OpenOffice.org形式)かREADME.yasim.rotor.xls(MS Excel形式のファイル)を見てください。 これらのファイルで、あなたは、翼型の係数のグラフから、本当の翼型に合わせるようにパラメタを調整することができます。 多くの翼型に関するデータをインターネットで見つけることが出来ます。NACA23012(bo105のメインローター)とNACA0012(bo105のテイルローター)のためのエアフォイルのパラメタは含まれています。
  • rotor-correction-factor : ヘリのローターかプロペラの揚力について計算する時に、vortex effectを考慮して、実測値よりも大きな値を与えます。しかし、古いプラントルの理論でシミュレーションされるため、過大な補正を与え過ぎています。 これはこのトークンで修正されます。デフォルト値は1です。
  • flapmin : 最小のフラッピング角度を指示します。(通常、この値になることはありません)
  • flapmax : 最大のフラッピング角度を指示します。(通常、この値になることはありません)
  • flap0 : ローターが回転していないときのフラッピングの角度を指示します。
  • dynamic : これはローターへの入力に対する結果・反応を変えるでしょう。通常は1を使用してください。(多分、1より小さい場合はローターの反応は敏感で、1より大きい値の場合、反応が鈍感になるでしょう。)多分、Bell UH-1のローターをシミュレートするのに役に立ちます。
  • rellenflaphinge : ローターの中心からフラッピングヒンジまでの相対的な長さ(多分、ローター軸〜フラッピングヒンジの長さ÷ローター半径)を指示します。ヘリコプターを上から見た図を見ればこのデータを取ることができます。(Bell206で0、一般的なローターで0.05)フラッピングヒンジの無い機種(Bo105,Lynx)では平均的な値である0.2を使用してください。この値は、ローターの働きを極端に変えます。[F/r]
  • sharedflaphinge : 一つの中央のヒンジで2枚のローターを支えている、いわゆるシーソーローターやリジットローター(例:Bell206、もしくはBo105のテールローター)なら、"1"にしてください。デフォルトでは0です。
  • delta3 : いくつかのローターは、delta3効果があり、ローターがフラッピングしているとき、入射角を減らします。殆どのヘリコプターがそうであるように、値を0にすることは、ローターが1度動く毎にフラッピング角度が変化しないことを意味していて、値を1にすると、1度回転するごとに1度フラッピングします。したがって、delta3は回転中、入射角が減るごとにフラッピングさせる要素です。例えば、Boのテールローターのdelta3は、1です。 いくつかの刊行物では、delta3は角度によって説明されます。YASimの値はこの角度のatan(逆正接)です。
  • delta : フラッピングの平均的なダンピングのための要素です。1はひとつの近似の解析結果を意味しているにすぎません。controlの入力へのローターシステムの反応が非常に強い結果になります。もし、あなたがサイクリックへの入力に対するフラッピング角度を知っているなら、あなたはこの値を変えて調整することができます。 もしくは、あなたが最大のロールレートを知っているなら・・・(そこからdelta3を調整してみてください)
  • translift-maxfactor :ヘリコプターには、「トランジション(またはトランスレーショナル・リフト)」があります。(それは、乱流によって発生します)。前進の飛行では、ローターは、より乱れの少ない空気を取り入れて、より多くの揚力を発生させます。 この要素は高速時の揚力を低速時の揚力で割ったものであり、ピッチは同じでも、対気速度が速くなると機体が舞い上がります。
  • translift-ve :トランスレーショナルリフトが最大値の1/eになるときの速度を、m/sで指示してください。Bo105では"20"です。
  • ground-effect-constant : 地上付近では、ローターは高度が高い所より多くのトルクを発生させます。地面効果(グランドエフェクト)は以下の式で計算されます。
      factor = 1+diameter/altitude*"ground-effect-constant"
  • number-of-parts :
  • number-of-segments : ローターは"number-of-parts"の異なった方向にシミュレートされます。 ローター上に、number-of-segmentsの数だけの点があり、方向ごとに計算されます。この値が小さすぎる場合、ローターの反応はリアルでないでしょう。この値が大きすぎる場合、CPUパワーが無駄になります。 原文の筆者は現在、メインローターには"number-of-parts","number-of-segments"の値は8を使用して、テイルローターには"number-of-parts"の値を4にし、"number-of-segments"の値を5にしています。 "number-of-parts"の値は4の倍数である必要があります。 (要するに、number-of-partsは方向の数を設定し、ローターをnumber-of-segmentsに分割して、どのような力が働くか、それぞれ計算を行う・・・という意味でよいのだろうか?)
  • cyclic-factor :サイクリックの入力に対して、どれだけのローターのレスポンスがあるかは計算しにくいです。(それは減衰し、共振していて、いくつかのパラメーターがサイクリックのレスポンスに大きな影響を持っています。) この要素を調整すると、本当のheloに近いシミュレーションが出来ます。デフォルト値は1です。
  • downwashfactor : ローターによるダウンウォッシュの要素を指定します。デフォルトは1です。
  • balance : ローターのバランスを指定します。1.0で、完全にバランスが取れています。 0.0で、片側だけブレードが無くなった状態になります。1に近い値(0.98〜0.999)で少しローターに振動を加えることが出来ます。
  • tiltcenterx :
  • tiltcentery :
  • tiltcenterz : ローターヘッド/ローターマストの傾きの中心を指定します。V22やオートジャイロにこれを使用することが出来ます。
  • mintiltyaw :
  • mintiltpitch :
  • mintiltroll :
  • maxtiltyaw :
  • maxtiltpitch :
  • maxtiltroll: ローターヘッドのチルト角(度)の限界を指定します。全てのローターはサイクリック(CYCLICELE, CYCLICAIL)、コレクティブ(COLLECTIVE)の入力に対して<control>の子要素を持つことが出来ます。 また、<control>の子要素はローターヘッド(の回転軸)をX軸(TILTROLL)、Y軸(TILTPITCH)、Z軸(TILTYAW)の方向に傾けることが出来ます。ROTORBALANCEはローターのバランスのための要素です。

<rotorgear>

1つ、あるいはそれ以上のローターを使用する場合、rotorgearを定義する必要があります。これは全てのローターと簡単なエンジンを接続します。 将来的には、これはYASimのエンジンを加えることが可能になるでしょう。

  • max-power-engine : エンジンの最大出力をkWで定義します。
  • engine-prop-factor : エンジンはpd-regulatorとして働きます。これは、調整の幅、または言い換えれば、調整器のpropotional-factorの逆です。 この値を0.02に設定した場合、rotor-rpmの98%の時、エンジンは最大トルクを発生させます。100%の時は、エンジンはまったくトルクを発生させないでしょう。 これは、この簡易エンジンを、YASimのエンジンで置き換える計画のための物です。
  • engine-accel-limit : エンジンのd-factor、%で表現されるエンジンの最大の加速率を%/秒で定義します。デフォルトでは5%/sです。
  • max-power-rotor-brake : 正常な回転数でのローターブレーキの最大の力をkWで指定します。 (正常な回転数で使用されるなら、実際はローターが故障する大部分はオーバーヒートするでしょうが、これは現在、シミュレートされません)
  • rotorgear-friction : 正常な回転数での、摩擦でのパワー損失をkWで指定します。
  • yasimdragfactor :
  • yasimliftfactor : ロータークラフトのためのこの値を計算することが出来ないので、あなたは自分で結果を指定しなければなりません。 抗力(yasimdragfactor)を10にして、揚力(yasimliftfactor)を140にするのは、良い調整開始の値だと思われます。 しかし、これを解決するために少なくとも一つのローターを呼び出すことが出来ません。 巡航速度とアプローチ速度を指定する必要があります。 アプローチ速度が、ギアスプリングについて計算するのに必要です。速度は約50ktを使用します。 これらは、どんな実際の値にもあわせる必要がありません。

    rotorgearは<control>子要素がエンジン(ROTORGEARENGINEON)のために必要で、また<control>子要素に以下の属性を与えることが出来ます。

    • ROTORBRAKE : ローターブレーキ
    • ROTORRELTARGET : ガバナ(調速器)の制御目標として、「正常な」エンジンの回転数に対する相対値を指定します。デフォルトは1です。
    • ROTORENGINEMAXRELTORQUE:エンジン出力によって定義されたトルクに比例する、エンジンの最大トルクを相対値で指定します。デフォルトは1です。 多くに相対的なターゲット(rel-target)を設定することによって、このコントロールでエンジンのコントロールを行えます。別の方法は、個々のスタートアップシーケンスのためにこれら2つの値を使います。詳しい使い方は、シコルスキー S58を見てください。

07/12/01〜07/12/11

hook, launcher の設定を Ki-84 から A6M2 へ変更(最新の Ki-84 及び実機にはにこれらは存在しないので)。いくつかコメントアウトされた記述で正しい物を採択。launchbar の解説を追加 2007/12/12 Tat

1.0.0向けに修正開始。(修正完了までコメントアウト) 2007/12/19 sambar <propeller>の、momentの計算式が間違っていたと思われる(文脈的に慣性モーメント)ので修正&訳文から追記(最後の /3は原文に書いてあったため記載・・・おそらく、空気抵抗や摩擦で、「2/3が回転運動が空気の流れや熱損失などになる」という意味だと思う。)

wing の chord, length の説明が逆だったのを修正 (私の説明が間違えていたようですね) 2007/12/28 Tat

1.0.0が出てしばらく期間が経った&rotor、rotorgearを除き1.0.0の内容に更新出来たので、当該項目を除いてコメントアウト解除・・・いつだったか失念 sambar

1.0.0向けアップデート完了 2008/02/24 sambar

  • リンク先を新サーバに変更。2008/06/15 toshi
  • 1.9.0向けアップデート完了(今回、古いREADME.yasimと新しいREADME.yasimのdiffを取りましたが、control-inputの、FLAP[0/1]EFFECTIVENESS以外に変更点は無かったようです。)
  • 2.2.0向けアップデート(2011/2/20時点でのgitリポジトリ最新版に更新) 2011/2/20 sambar
  • 微修正 2013/1/17 sambar
  • <rotor>の--airfoil-incidence-no-liftの説明(誤訳?)を修正しました。2013/6/18 100WAX

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-18 (火) 19:55:37 (3955d)