Vtorque

Model ElementMotionSolve式で定義されるトルク

クラス名

Vtorque

説明

任意のシステム状態および時間の関数にできます。

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()    
label Str ()    
i Reference (Marker)
jfloat Reference (Marker)
rm Reference (Marker)
tx Function ()
ty Function ()
tz Function ()
function Function ("VTOSUB")  
routine Routine ()    
active Bool ()  

使用法

Vtorqueは次のように使用できます:
#1. Torque defined in a MotionSolve expression 
Vtorque (i=objMarker, j=objMarker, fx=expressionString, fy=expressionString, fz=expressionString, optional_attributes)
#2. Torque defined in a compiled DLL
Vtorque (i=objMarker, j=objMarker, function=userString, routine=string,optional_attributes)
#3. Torque y
Vtorque (i=objMarker, j=objMarker, function=userString, routine=functionPointer,optional_attributes)

属性

MotionSolve式で定義されるトルク。
i
既存のMarkerオブジェクトへの参照。
トルクが適用されるマーカーを指定します。これは力の作用点として指定されます。
j
既存のフローティングMarkerオブジェクトへの参照。
反トルクが適用されるマーカーを指定します。これは力の反作用点として指定されます。
tx
有効なMotionSolve式を定義する文字列。
参照座標系のx軸周りに作用するトルクを定義するMotionSolve式を指定します(後述するrmを参照)。任意の有効な実行時MotionSolve式を入力として指定できます。
ty
有効なMotionSolve式を定義する文字列。
参照座標系のy軸周りに作用するトルクを定義するMotionSolve式を指定します(後述するrmを参照)。任意の有効な実行時MotionSolve式を入力として指定できます。
tz
有効なMotionSolve式を定義する文字列。
参照座標系のz軸周りに作用するトルクを定義するMotionSolve式を指定します(後述するrmを参照)。任意の有効な実行時MotionSolve式を入力として指定できます。
MotionSolve式で定義されるトルク
i
既存のMarkerオブジェクトへの参照。
トルクが適用されるマーカーを指定します。これはトルクの作用点として指定されます。
j
既存のフローティングMarkerオブジェクトへの参照。
反トルクが適用されるマーカーを指定します。これはトルクの反作用点として指定されます。
function
有効なユーザー関数MotionSolve式を定義する文字列。
データファイルから、Vtorqueが定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。
routine
文字列。
ユーザーサブルーチンの代替名を指定します。この名前は、“∷”で区切られた情報の2つの部分で構成されます。1つ目は、ユーザー定義のVforceの応答を計算する関数を含む共有ライブラリへのパス名です。2つ目は、計算を実行する共有ライブラリ内の関数の名前です。
例: routine="/staff/Altair/engine.dllmyVtorque"
  • "/staff/Altair/ engine.dllはDLLです。
  • "myVtorque"は、計算を実行するこのDLL内の関数です。
指定しない場合、routineはデフォルトでVTOSUBになります。
Python関数で定義されるトルクまたはトルクの大きさ
i
既存のMarkerオブジェクトへの参照。
トルクが適用されるマーカーを指定します。これはトルクの作用点として指定されます。
i属性は必須です。
j
既存のフローティングMarkerオブジェクトへの参照。
反トルクが適用されるマーカーを指定します。これはトルクの反作用点として指定されます。
function
有効なユーザー関数MotionSolve式を定義する文字列。
データファイルから、Vtorqueが定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。
routine
Python内の呼び出し可能な関数へのポインタ。
例:routine=myVtorque
  • myVtorqueは、モデルが存在する場所ならどこからでも呼び出すことが可能なPython関数またはメソッドです。
指定しない場合、routineはデフォルトでVTOSUBになります。
オプション属性 - すべてのバリアントに使用できます。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのVtorqueオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列。
Vtorqueオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
rm
既存のMarkerオブジェクトへの参照。
トルク成分を計算する座標系を持つマーカーを指定します。rmは、地面を含め、どのボディ上のマーカーでもかまいません。
rm属性は省略可能です。
指定しない場合、rmはデフォルトで全体座標系になります。

式を介して定義されるVtorque
vto1 = Vtorque (label="nonlinear bushing", i=m1801, jfloat=m1901, rm=m1903,
fx="-1e3*AX(1801,1903) - 2*(WX(1801,1903,1903))**3",
fy="-1e3*AY(1801,1903) - 2*(WY(1801,1903,1903))**3",
fz="-1e3*AZ(1801,1903) - 2*(WZ(1801,1903,1903))**3")
Python関数で定義される前の例のVtorque
# Define the user subroutine first
def myVtosub (id, time, par, npar, dflag, iflag):
  i = par[0]
  j = par[1]
  k = par[2]
  c = par[3]
  
  # Get the state of the bushing
  ax = AX(i,j)
  ay = AY(i,j)
  az = AZ(i,j)

  wx = WX(i,j,j)
  wy = WY(i,j,j)
  wz = WZ(i,j,j)

  # Compute force
  tx = -k*ax - c*(wx**3)
  ty = -k*ay - c*(wy**3)
  tz = -k*az - c*(wz**3)
  
  return [tx, ty, tz]

# Refer to the user subroutine in the bushing statementvto1 = Vtorque (label="nonlinear bushing", i=m1801, jfloat=m1901, rm=m1903,
function="user(1801,1903,1000.0,2.0)", routine=myVtosub )

コメント

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