CURSUB

Modeling参照曲線要素用にユーザー定義の曲線要素とその導関数を指定するために使用します。通常、ユーザー定義の曲線は、ポイント-曲線間、曲線-曲線間、および曲線-サーフェス間の拘束と組み合わせて使用されます。

使用

CURSUBで計算された曲線を使用したユーザー定義の参照パラメータ曲線:

<Reference_ParamCurve
     id                  = "111"
     is_u_closed         = "TRUE"
     u_start             = "-1."
     u_end               = "1."
     usrsub_param_string = "USER(100)"
     usrsub_dll_name     = "NULL">
</Reference_ParamCurve>

フォーマット

Fortranの呼出し構文
SUBROUTINE CURSUB (ID, PAR, NPAR, ALPHA, IORD, IFLAG, VALUES)
C/C++の呼出し構文
void STDCALL CURSUB (int *id, double *par, int *npar, double *alpha, int *iord, int *iflag, double *values)
Pythonの呼出し構文
def CURSUB(id, par, npar, alpha, iord, iflag):
    return values
MATLABの呼出し構文
function values = CURSUB(id, par, npar, alpha, iord, iflag)

属性

ID
[整数]
曲線サブルーチン要素識別子。
PAR
[倍精度]
ユーザー定義のステートメントで提供されたリストにある定数引数を格納した配列。
NPAR
[整数]
PAR配列のエントリの数。
ALPHA
[倍精度]
曲線サブルーチンで曲線を評価するために使用される独立変数の値。
IFLAG
[論理]
初期化フラグ。
IORD
[整数]
曲線サブルーチンが返す導関数の次数。
0
曲線座標。
1
曲線座標ALPHAに関する曲線1次導関数。
2
曲線座標ALPHAに関する曲線2次導関数。

出力

VALUES
[倍精度]
生成された曲線のx、y、およびz座標を含む次元3のベクトル出力値。または、IORD入力パラメータに応じた、ALPHAに関する1次 / 2次導関数。

def CURSUB(id, par, npar, alpha, iord, iflag):
    values =3*[0.0]
    if iord == 0:
        values[0] = par[0]*cos((alpha+1.0)*pi)
        values[1] = 0 
        values[2] = par[0]*sin((alpha+1.0)*pi)
    return values