AKISPL

Utility/Data Access Subroutineスプラインフィッティングの手法を使用して、Reference_Spline要素の補間値またはその補間値の1次 / 2次導関数を返します。

使用

この関数は、任意のユーザー定義のサブルーチンから呼び出すことができます。

フォーマット

Fortranの呼出し構文
CALL AKISPL (XVAL, ZVAL, ID, IORD, ARRAY, ERRFLG)
C/C++の呼出し構文
c_akispl (xval, zval, id, iord, array, errflg)
Pythonの呼出し構文
[array, errflg] = py_akispl (xval, zval, id, iord)
Compose/MATLABの呼出し構文
[array, errflg] = m_akispl (xval, zval, id, iord)

説明

AKISPLは、曲線上の6つ以上のポイントを必要とする非平滑化スプラインベースの補間(5次)です。2次導関数が急激に変化する曲線によくフィットするため、近似される関数のゼロ次および1次導関数については良好な結果が生成されますが、2次導関数の結果は通常あまり信頼できません。AKISPLは、CUBSPLQUISPLより高速で、通常は、スプリングデータに基づく力要素に使用されます。

属性

XVAL
[倍精度]
スプライン関数が出力値を補間することになっている曲線またはサーフェスの1つ目の独立変数。
ZVAL
[倍精度]
スプライン関数が出力値を補間することになっているサーフェスの2つ目の独立変数。曲線補間のみが必要な場合は、この値を0に設定します。
ID
[整数]
Reference_Spline要素のID。
IORD
スプライン関数で返される導関数の次数。有効なエンティティは0、1、または2のみです。

出力

ARRAY
[倍精度]
次元3のベクトル出力値。
  • IORDが0の場合、ARRAY(1)には、計算済みの補間された値yが含まれます。
  • IORDが1の場合、ARRAY(1)とARRAY(2)には、yのxとzについての導関数が含まれます。
  • IORDが2の場合、ARRAY(1)、ARRAY(2)、およびARRAY(3)には、yのxx、xz、およびzzについての2次導関数が含まれます。
ERRFLG
[論理]
呼び出し元のサブルーチンに返され、スプライン関数呼び出しの成功を示す論理変数。

AKISPLデータアクセスサブルーチンを呼び出すPythonベースのユーザー定義要求要素を以下に示します。
def REQSUB(id, time, par, npar, iflag):
  results = [0.0]*8
  results[0]  = AKISPL(time,0,100,0)
  results[1]  = AKISPL(time,0,100,1)
  results[2]  = AKISPL(time,0,100,2)
  return results