Request

Model ElementRequestは、MotionSolveで出力要求エンティティを定義します。

クラス名

Request

説明

RequestMotionSolve出力ファイルに書き込まれ、HyperGraphでのプロットや信号処理に使用できます。

Requestは次の4つのタイプで提供されています:
  • 組み込みのマーカーベースの関数として
  • MotionSolve実行時の式言語に基づく式のセットとして
  • コンパイルされた言語(Fortran、C、またはC++)で記述されたユーザーサブルーチンとして
  • Pythonで記述されたユーザーサブルーチンとして

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()   ×
label Str ()
type Enum ("DISPLACEMENT VELOCITY ACCELERATION FORCE")  
i Reference (Marker)
j Reference (Marker)
rm Reference (Marker)
f1 Function ()
f2 Function ()
f3 Function ()
f4 Function ()
f5 Function ()
f6 Function ()
f7 Function ()
f8 Function ()
function Function ("REQSUB")  
routine Routine ()  
comment String ()  
results_name String ()  
cnames String ()  
cunits String ()  
clabels String ()  
variables Reference ("Variable", count=0)  
active Bool ()

使用法

#1. As built-in marker-based functions
Request (type=string, i=objMarker, optional_attributes)

#2: As a set of expressions based on the MotionSolve run-time expression language
Request (optional_attributes)

#3. As a user-subroutine written in a compiled language Fortran, C or C++
Request (function=userString, routine=string, optional_attributes)

#4. As a user-subroutine written in Python
Request (function=userString, routine=functionPointer, optional_attributes)

属性

組み込みのマーカーベースの関数として
type
文字列
REQUEST要素のタイプを指定します。"DISPLACEMENT"、"VELOCITY"、"ACCELERATION"、および"FORCE"から選択します。
type属性は必須です。
i
既存のMarkerオブジェクトへの参照。
情報が計算されるReference_Marker IDを指定します。
i属性は必須です。
j
既存のMarkerオブジェクトへの参照。
情報を計算するReference_Marker IDを指定します。この情報は、一般に、変位、速度、加速度、または力など、jに関連する何らかのベクトルまたは方向です。
j属性は省略可能です。
指定しない場合、jはデフォルトで全体座標系になります。j=0に設定して、全体座標系であることを示すこともできます。
rm
既存のMarkerオブジェクトへの参照。
ベクトル成分を計算する座標系を持つMarkerを指定します。rmは、地面を含め、どのボディ上のマーカーでもかまいません。
rm属性は省略可能です。
指定しない場合、rmはデフォルトで全体座標系になります。rm=0に設定して、全体座標系であることを示すこともできます。
式のセットとして
f1, f2, f3,f4, f5, f6,f7, f8
有効なMotionSolve式を定義する文字列。
これらの属性のそれぞれに、実行時に出力として計算されるスカラー量を指定する式が含まれています。
これらの属性はすべて省略可能です。指定しない場合は、デフォルトで0になります。
コンパイルされた言語(Fortran、C、またはC++)で記述されたユーザーサブルーチンとして
function
有効なユーザー関数MotionSolve式を定義する文字列。
データファイルから、Requestが定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。
function属性は必須です。
routine
文字列
ユーザーサブルーチンの代替名を指定します。この名前は、“∷”で区切られた情報の2つの部分で構成されます。1つ目は、ユーザー定義のVforceの応答を計算する関数を含む共有ライブラリへのパス名です。2つ目は、計算を実行する共有ライブラリ内の関数の名前です。
例: routine="/staff/Altair/engine.dll::myRequest"
  • "/staff/Altair/engine.dllはDLLです。
  • "myRequest"は、計算を実行するこのDLL内の関数です。
属性routineは省略可能です。
指定しない場合、routineはデフォルトでREQSUBになります。
Pythonで記述されたユーザーサブルーチンとして
function
有効なユーザー関数MotionSolve式を定義する文字列。
データファイルから、Requestが定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。
function属性は必須です。
routine
Python内の呼び出し可能な関数へのポインタ。
例:routine=myRequest
  • myRequestは、モデルが存在する場所ならどこからでも呼び出すことが可能なPython関数またはメソッドです。
属性routineは省略可能です。
指定しない場合、routineはデフォルトでREQSUBになります。
オプション属性 - すべてのバリアントに使用できます。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのGforceオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
Gforceオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
comment
文字列
このRequestで測定される信号の概要を示す文字列。任意の長さにすることができます。
この属性は省略可能です。
cnames
文字列のリスト。
8つの信号それぞれの8つの成分名を指定します。
この属性は省略可能です。
cunits
文字列のリスト。
それぞれの信号の単位を指定します。
この属性は省略可能です。
active
ブール
TrueFalseのどちらかを選択します。
  • Trueは、要素がモデル内でアクティブであり、システムの動作に影響を与えていることを示します。
  • Falseは、要素がモデル内で非アクティブであり、システムの動作に影響を与えていないことを示します。エンティティがモデルから削除される場合とほとんど同じですが、必要に応じて“ON”にできる点が異なります。

属性activeは省略可能です。指定しない場合、activeはデフォルトでTrueに設定されます。

  1. XMLの例:Marker変位REQUEST
    req1 = Request(type="DISPLACEMENT", i=satellite.cm, comment="Satellite trajectory time history")
  2. XMLの例:角運動量REQUEST
    Hx = "{M}*WX ({i},0,{i})".format(M=satellite.mass, i=satellite.cm)
    Hy = "{M}*WY ({i},0,{i})".format(M=satellite.mass, i=satellite.cm)
    Hz = "{M}*WZ ({i},0,{i})".format(M=satellite.mass, i=satellite.cm )
    req2 = Request (f2=Hx, f3=Hy, f4=Hz, comment="Satellite angular momentum")
  3. XMLの例:力REQUEST
    req3 = Request (type="Force", i=m1102, j=m1972, rm=m1972, comment="Tether force time history")

コメント

  1. プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
  2. Requestの詳細については、Post: Request.をご参照ください。