# DMPSUB

Modeling弾性体のカスタムモード減衰比を計算するために使用します。

## 使用

DMPSUBで計算される減衰比を使用した弾性体：

<Body_Flexible
id                  = "30103"
lprf_id             = "63330103"
h3d_file            = "../qa_depot/h3d/beam.h3d"
is_user_damp        = "TRUE"
usrsub_param_string = "USER(30102020,30101010)"
usrsub_dll_name     = "NULL"
flexdata_id         = "30102"
v_ic_x              = "0."
v_ic_y              = "0."
v_ic_z              = "0."
w_ic_x              = "0."
w_ic_y              = "0."
w_ic_z              = "0."
v_ic_x_flag         = "FALSE"
v_ic_y_flag         = "FALSE"
v_ic_z_flag         = "FALSE"
w_ic_flag           = "FALSE">
</Body_Flexible>

## フォーマット

Fortranの呼出し構文
SUBROUTINE DMPSUB (ID, TIME, PAR, NPAR, FREQ, NMODE, H, CRATIOS)
C/C++の呼出し構文
void STDCALL DMPSUB (int *ID, double *time, double *par, int *npar, double *freq, double *nmode, double *h, double *cratios)
Pythonの呼出し構文
def DMPSUB(id, time, par, npar, freq, nmode, h):
return cratios
MATLABの呼出し構文
function cratios = DMPSUB(id, time, par, npar, freq, nmode, h)

## 属性

ID
[整数]

TIME
[倍精度]

PAR
[倍精度]
ユーザー定義のステートメントで提供されたリストにある定数引数を格納した配列。
NPAR
[整数]
PAR配列のエントリの数。
FREQ
[倍精度]

NMODE
[倍精度]

H
[倍精度]

CRATIOS
[倍精度]

## 例

def DMPSUB(id, time, par, npar, freq, nmode, h):
cratios = nmode*[0.0]
[nq, errflg] = py_nmodes(id)
if nq<=30:
[mode, xfreq, errflg] = py_modinf(id)
for i in xrange(nmode):
if freq[i] < par[1]:
cratios[i] = par[0]
elif freq[i] < par[3]:
cratios[i] = par[2]
else:
cratios[i] = par[4]
return cratios