スカラー量の勾配を求める 関数は以下のようになる。
/* スカラー量の勾配 */ void WH_Element2D__whP_f_whV_x (int nNodes, double f_arrayIn[/* nNodes */], double whP_N_whV_x_arrayIn[/* nNodes */][2], double OUT__whP_f_whV_x[2]) /* 入力引数: nNodes は要素節点数 f_arrayIn はスカラーの節点配列で、スカラー量 whP_N_whV_x_arrayIn はベクトルの節点配列で、形状関数の勾配 出力引数: OUT__whP_f_whV_x はベクトルで、スカラー量の勾配 */ { int In; WH_Tensor2D__assign_whV_OUT_whV (WH_Tensor2D__whV_O, OUT__whP_f_whV_x); for (In = 0; In < nNodes; In++) { double whV_tmp[2]; WH_Tensor2D__s_mul_whV_OUT_whV (f_arrayIn[In], whP_N_whV_x_arrayIn[In], whV_tmp); WH_Tensor2D__whV_add_whV_OUT_whV (OUT__whP_f_whV_x, whV_tmp, OUT__whP_f_whV_x); } }