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
- [整数]
- 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