補間関数勾配の行列を求める 関数は、以下のようになる。
/* 補間関数勾配の行列:三次元:シンプレックス一次 */ void WH_ThermalFem3D__Linear__Simplex__whM_N_x (double whV_x_arrayIn[4][3], double V, double OUT__whM_N_x[3][4]) /* 入力引数: whV_x_arrayIn はベクトルの節点配列で、位置(節点座標) V はスカラーで、体積 出力引数: OUT__whM_N_x は行列で、補間関数勾配の行列 */ { double b0, b1, b2, b3; double c0, c1, c2, c3; double d0, d1, d2, d3; WH_Fem__Simplex3D__bcd (whV_x_arrayIn[0], whV_x_arrayIn[1], whV_x_arrayIn[2], whV_x_arrayIn[3], V, &b0, &b1, &b2, &b3, &c0, &c1, &c2, &c3, &d0, &d1, &d2, &d3); OUT__whM_N_x[0][0] = b0; OUT__whM_N_x[0][1] = b1; OUT__whM_N_x[0][2] = b2; OUT__whM_N_x[0][3] = b3; OUT__whM_N_x[1][0] = c0; OUT__whM_N_x[1][1] = c1; OUT__whM_N_x[1][2] = c2; OUT__whM_N_x[1][3] = c3; OUT__whM_N_x[2][0] = d0; OUT__whM_N_x[2][1] = d1; OUT__whM_N_x[2][2] = d2; OUT__whM_N_x[2][3] = d3; }