形状関数の勾配を自然座標で評価する 関数は以下のようになる。
/* 形状関数の勾配 */ void WH_Element2D__whP_N_whV_x_arrayIn (double whPt_whV_x_whV_xi[2][2], int nNodes, double whP_N_whV_xi_arrayIn[/* nNodes */][2], double OUT__whP_N_whV_x_arrayIn[/* nNodes */][2]) /* 入力引数: whPt_whV_x_whV_xi はテンソルで、Jacobian nNodes は要素節点数 whP_N_whV_xi_arrayIn はベクトルの節点配列で、 形状関数の自然座標に関する微分 出力引数: OUT__whP_N_whV_x_arrayIn はベクトルの節点配列で、 形状関数の勾配 */ { int In; double whPt_whV_xi_whV_x[2][2]; WH_Tensor2D__whInv_whT_OUT_whT (whPt_whV_x_whV_xi, whPt_whV_xi_whV_x); for (In = 0; In < nNodes; In++) { WH_Tensor2D__whT_cdot_whV_OUT_whV (whPt_whV_xi_whV_x, whP_N_whV_xi_arrayIn[In], OUT__whP_N_whV_x_arrayIn[In]); } }