next up previous contents
: スカラー量の補間 : 2次元アイソパラメトリック要素 : 形状関数の勾配   目次

実装

形状関数の勾配を自然座標で評価する 関数は以下のようになる。

/* 形状関数の勾配 */
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]);
  }
}



Hiroshi KAWAI 平成15年4月19日