msautotilsでのSDF関数とのインターフェース

SDFを生成するために必要なMotionSolveの.xmlステートメントの説明。

フロントエンドとリアエンドの車両アナリシス(運動特性とコンプライアンスのアナリシス、静荷重アナリシス、ライドアナリシスなど)では、msautoutils.soまたはmsautoutils.dllのユーザー関数群を使用して、スクラブ半径、ホイール剛性、スイングアーム長などのサスペンション設計係数(SDF: Suspension Design Factor)を計算します。
SDFを計算するためのデータは、サスペンションのマーカーに基づいて、主に実行時の測定値に依存します。ただし、アンチリフトやアンチダイブなどの一部のSDFでは、フルビークルに関する情報(車両重心の高さなど)が必要になります。使いやすくするために、SDF出力要求では、特定のSDFで入力の一部のみが必要な場合でも、他のSDFと同じユーザー関数と入力が使用されます。すべてのSDF出力要求の形式は次のとおりです:
<Post_Request
     id                  = "80000000"
     comment             = "Wheel Vert. Displacement and Vert. Force"
     type                = "USERSUB"
     usrsub_param_string = "USER(0,0,1,31000200,0,31000100)"
     usrsub_dll_name     = "msautoutils"
     usrsub_fnc_name     = "sdfrequest"
  />
Post_Request要素の‘user_param_string’属性では、サブルーチンに渡すデータを定義します。USER配列の各メンバーは、次の表に従って定義します。
Index 名前 想定される型 目的
0 Axle ID 符合なし整数 0 アクスルの一意の識別子を指定します。アクスルのインデックス(前から後ろに向かってカウントし、0は最初のアクスルのインデックス)は、通常は適切な一意の識別子です。
この値を使用して、同じIDを持つ任意の登録済みのステアリングロックまたはトラベルロックがサスペンションに割り当てられます。
Note: 現時点の実装では、出力値を区別するために、この値に基づいて接尾辞として“front”と“rear”が想定されます。
1 Branch ID 符合なし整数 350 SDF出力の表に従って、計算する要求を特定します。
2 Testrig-Param-Array Version 符合なし整数 1 これに続く配列に想定するバージョンを指定します。バージョン0は、HyperWorks 2020より前のバージョンを指します。最新はバージョン1です。
3 Testrig-Param-Array 整数 / 配列ID 31000200 試験装置に関する情報および試験装置でサスペンションに測定をどのように適用するかに関する情報を記述した配列のソルバーIDです。
4 Vehicle-Param-Array Version 符合なし整数 0 これに続く配列に想定するバージョンを指定します。最新はバージョン0です。
5 Vehicle-Param-Array 整数 / 配列ID 31000100 車両に関する情報およびサスペンションが車両にどのように関係しているのかに関する情報を記述した配列のソルバーIDです。

試験装置のパラメータの配列

USER配列のインデックス2の要素で指定するIDは、次のレイアウトのソルバー配列を指しています。
Index 名前 想定される型 目的
0 左ホイール中心のマーカー 整数 / マーカーID mrk_wc.l.id このマーカーは、ナックルに対して定義し、ホイールの中心に配置する必要があります。このマーカーがホイールと共に自由に回転することがないようにする必要があります。
1 Right Wheel Center Marker 整数 / マーカーID mrk_wc.r.id
2 Left Lower Marker on Steer-Axis 整数 / マーカーID mrk_kp.l.id 上側と下側のステア軸マーカーが同じボディに結合されている場合は、そのボディのステア軸の位置でこのマーカーを定義する必要があります。これは通常は下側のキングピンです。この場合、このマーカーのz軸はステア軸(上側のキングピン)の方向を向いている必要があります。

これら2つのマーカーが同じボディに結合されていない場合(マクファーソンストラット)、このマーカーの方向とボディには何の効果もありませんが、2番目のマーカーをインデックス13と14の要素で定義する必要があります。

3 Right Lower Marker on Steer-Axis 整数 / マーカーID mrk_kp.r.id
4 Left Ground Reference Marker 整数 / マーカーID mrk_gnd.l.id このマーカーは、地面に対して定義し、ホイールの中心に配置する必要があります。このマーカーは、ホイールのトラベルとステアを測定するための基準となります。
5 Vehicle-Param-Array 整数 / マーカーID mrk_gnd.r.id
6 Left Marker on Jack 整数 / マーカーID sfo_jack_actuator.l.i.id このマーカーは、ジャッキに対して定義する必要があります。このマーカーでは、ジャッキの運動を測定します。
7 Right Marker on Jack 整数 / マーカーID sfo_jack_actuator.l.r.id
8 Left Jack reference Marker on Ground 整数 / マーカーID sfo_jack_actuator.l.j.id このマーカーは、ジャッキのマーカーと同じ位置で地面に対して定義する必要があります。このマーカーでは、ジャッキの運動を測定します。
9 Right Jack reference Marker on Ground 整数 / マーカーID sfo_jack_actuator.r.j.id
10 Steering Actuation Input Marker 整数 / マーカーID j_st_wheel_i_id このマーカーでは、スクラブ半径やキャスタートレールなどのステアリング関連の値を計算するための仮想ステアリング入力を適用します。

最も簡潔な例では、これはステアリングホイール上またはピニオン上のマーカーであり、このマーカーのz軸は回転軸の方向を向いています。

11 Steering Actuation Orientation Marker 整数 / マーカーID -1 前のインデックスのマーカーがステアリング軸またはステアリングラックの方を向いている場合は、このマーカーを省略してもかまいません(-1)。このマーカーを指定すると、このマーカーと前のインデックスのマーカーを結ぶラインが目的の方向であると想定されます。
12 Steering Actuation Mode 整数 6 この値は、ステアリング入力の方向を示すモード(1 = TX、2 = TY、4 = RX、6 = RZ)を指定します。2番目のマーカーを設定していない場合にのみ、この値を使用します。

2つのマーカーを使用している場合に、この値に負の値を指定すると、2つのマーカーが入れ替わり、インデックス11のマーカーによってステアリング入力の適用方法が決まります。

13 Left Upper Marker on Steer-Axis 整数 / マーカーID mrk_upr_mnt.l.id このマーカーを定義すると(!=-1)、このマーカーがインデックス2または3のマーカーと共に使用されて、ステア軸が計算されます。左側のステア軸は、インデックス2と13のマーカーを通過するライン、右側のステア軸は、インデックス3と14のマーカーを通過するラインと想定されます。

このマーカーを定義していない場合は、インデックス2と3のマーカーのz軸に基づいてステア軸が想定されます。

14 Right Upper Marker on Steer-Axis 整数 / マーカーID mrk_upr_mnt.r.id
15 Left Ground Level and Orientation Marker 整数 / マーカーID mrk_jack_cp.l.id このマーカーを使用して、各ホイールの地表面が測定されます。スクラブ半径とキャスタートレールの計算では、このマーカーによって、地表面の傾斜を考慮できます。
16 Right Ground Level and Orientation Marker 整数 / マーカーID mrk_jack_cp.r.id

Vehicle Parameters Array

Index 名前 想定される型 / 次元 目的
0 Vehicle End/role 符合なし整数 ds_vehpar.veh_end.ival 車両のフロントエンドまたはリアエンドのどちらにアクスルがあるのかを示します。
1 Type of suspension 符合なし整数 ds_vehpar.dif_mnt.ival サスペンションが独立懸架であるか(0)(左と右は互いに影響しない)、独立懸架でないか(1)を示します。
2 Tire Static Loaded Radius (mm) 浮動小数点[L] ds_vehpar.tire_slr.value インデックス4の要素が正の値である場合は、ロックする場所とボディを指定します。

インデックス3の要素に値の指定がなく(-1)、インデックス4の要素が正の値である場合は、z軸を基準とした方向を指定します。

インデックス3の要素に値が指定されている場合は(2番目のマーカー)、目的の方向の参照ポイントを指定します。

3 Tire Vertical Spring Rate (N/mm) 浮動小数点[F/L] ds_vehpar.tire_rate.value インデックス4の要素が負の値である場合は、ロックする場所とボディを指定します。

目的の方向の2番目のポイントが定義されていれば、それを指定します(2番目のマーカー)。

4 Vehicle CG Height (mm) 浮動小数点[L] ds_vehpar.cg_height.value 地面からの重心の高さ。
5 Wheel Base (mm) 浮動小数点[L] ds_vehpar.wheel_base.value フロントとリアのホイール中心間の距離。
6 Front Braking Ratio (-) 浮動小数点[-] ds_vehpar.front_brake.value 前輪での制動力配分。1の値は、フロントでの100%の制動を意味します。
7 Front Drive Ratio (-) 浮動小数点[-] ds_vehpar.front_drive.value フロントアクスルに配分されるエンジン出力の割合。1の値は、すべての出力がフロントアクスルに送られることを意味します。
8 Axle Ratio (-) 浮動小数点[-] ds_vehpar.axle_ratio.value 出力ギアの角速度に対する入力ギアの角速度の割合。ギア比または速度比と呼ばれることもあります。
9 Vehicle Weight (N) 浮動小数点[F] ds_vehpar.veh_weight.value 車両の合計質量。