Gforce
Model ElementGforceは、2つのマーカー間で作用する一般的な力とトルクを定義します。
クラス名
Gforce
説明
力およびトルクベクトルは、3つ目のマーカーを基準にして、3つの成分により定義されます。成分は、MotionSolveの式を使用するか、ユーザー定義のサブルーチンを使用して定義できます。任意のシステム状態および時間の関数にできます。
属性の概要
名前 | プロパティ | コマンドで変更可能か | 設計可能か |
---|---|---|---|
id | Int () | ||
label | Str () | ○ | |
i | Reference (Marker) | ○ | ○ |
jfloat | Reference (Marker) | ○ | ○ |
rm | Reference (Marker) | ○ | ○ |
fx | Function () | ○ | ○ |
fy | Function () | ○ | ○ |
fz | Function () | ○ | ○ |
tx | Function () | ○ | ○ |
ty | Function () | ○ | ○ |
tz | Function () | ○ | ○ |
function | Function ("GFOSUB") | ○ | |
routine | Routine () | ||
active | Bool () | ○ |
使用法
- MotionSolve式で定義される力とトルク。
Gforce (i=objMarker, j=objMarker, fx=expressionString, fy=expressionString, fz=expressionString, tx=expressionString, ty=expressionString, tz=expressionString, optional_attributes)
- コンパイルされたDLLで定義される力とトルク。
Gforce (i=objMarker, j=objMarker, function=userString, routine=string, optional_attributes)
- 力とトルクのPython/Matlabスクリプト。
Gforce (i=objMarker, j=objMarker, function=userString, routine=functionPointer, optional_attributes)
属性
- i
- 既存のMarkerオブジェクトへの参照。
- j
- 既存のフローティングMarkerオブジェクトへの参照。
- fx
- 有効なMotionSolve式を定義する文字列。
- fy
- 有効なMotionSolve式を定義する文字列。
- fz
- 有効なMotionSolve式を定義する文字列。
- tx
- 有効なMotionSolve式を定義する文字列。
- ty
- 有効なMotionSolve式を定義する文字列。
- tz
- 有効なMotionSolve式を定義する文字列。
- i
- 既存のMarkerオブジェクトへの参照。
- j
- 既存のフローティングMarkerオブジェクトへの参照。
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- 文字列
- i
- 既存のMarkerオブジェクトへの参照。
- j
- 既存のフローティングMarkerオブジェクトへの参照。
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- Python内の呼び出し可能な関数へのポインタ。
- id
- 整数
- label
- 文字列
- rm
- 既存のMarkerオブジェクトへの参照。
- active
- ブール
例
- 式を介して定義されるGforce。
gfo1 = gforce (label="nonlinear bushing", i=m1801, jfloat=m1901, rm=m1903, fx="-1e3*DX(1801,1903,1903)", fy="-1e3*DY(1801,1903,1903)", fz="-1e3*DZ(1801,1903,1903)", tx="-5e3*AX(1801,1903) - 2*WX(1801,1903,1903)**, ty="-5e3*AY(1801,1903) - 2*WY(1801,1903,1903)**3" tz="-5e3*AZ(1801,1903) - 2*WZ(1801,1903,1903)**3" )
- Python関数で定義されるGforce。
# Define the user subroutine first def myGfosub (id, time, par, npar, dflag, iflag): i = par[0] j = par[1] k = par[2] kt= par[3] ct= par[4] # Get the state of the bushing dx = DX(i,j,j) dy = DY(i,j,j) dz = DZ(I,j,j) 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 & torque fx = -k*dx fy = -k*dy fz = -k*dz tx = -kt*ax - ct*(wx**3) ty = -kt*ay - ct*(wy**3) tz = -kt*az - ct*(wz**3) return [fx, fy, fz, tx, ty, tz] # Define a bushing with nonlinear damping gfo2 = Gforce (label="nonlinear bushing", i=m1801, jfloat=m1901, rm=m1903, function="user(1801,1903,1000.0,5000.0, 2.0)", routine=myGfosub )
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- Gforceの詳細については、Force: Two Body Scalarをご参照ください。