GFOSUB

Modeling一般力エンティティの力とトルクの6つの成分を計算するために使用します。

使用

GFOSUBで計算された力とトルクを使用するユーザー定義の力:

<Force_Vector_TwoBody
     id                   = "30701"
     type                 = " ForceAndTorque"
     i_marker_id          = "30701010"
     body1_id             = "30301"
     j_floating_marker_id = "30701012"
     body2_id             = "30101"
     ref_marker_id        = "30301010"
     ref_body_id          = "30101"
     usrsub_param_string  = "USER(1,30700800,30700700,30301011)"
     usrsub_dll_name      = "NULL">
</Force_Vector_TwoBody>

フォーマット

Fortranの呼出し構文
SUBROUTINE GFOSUB (ID, TIME, PAR, NPAR, DFLAG, IFLAG, RESULTS)
C/C++の呼出し構文
void STDCALL GFOSUB (int *id, double *time, double *par, int *npar, int *dflag, int *iflag, double *result)
Pythonの呼出し構文
def GFOSUB(id,  time, par, npar, dflag, iflag):
    return result
MATLABの呼出し構文
function results = GFOSUB(id, time, par, npar, dflag, iflag)

属性

ID
[整数]
一般力要素識別子。
TIME
[倍精度]
現在のシミュレーション時間。
PAR
[倍精度]
ユーザー定義のステートメントで提供されたリストにある定数引数を含む配列。
NPAR
[整数]
PAR配列のエントリの数。
DFLAG
[論理]
差分フラグ。
IFLAG
[論理]
初期化フラグ。

出力

RESULT
[倍精度]
計算された力 / トルクを含む次元6のベクトル出力値(3つの並進成分と3つの回転成分)。

ここでは、GFOSUBを使用して、下の3つの並進(力)成分と3つの回転(トルク)成分からなるGFORCEの6つの成分が計算されます。

次の数式がGFOSUBの計算に使用されます:

f = -k*x - c*xdot