next up previous contents
: 位置 から自然座標 への変換 : 位置の自然座標に関する微分 : 位置の自然座標に関する微分   目次

実装

Jacobian を評価する 関数は以下のようになる。

/* Jacobian 位置の自然座標に関する微分 */
void WH_Fem__Isoparam2D__Volume__whPt_whV_x_whV_xi
(int nNodes,
 double whP_N_whV_xi_arrayIn[/* nNodes */][2],
 double whV_x_arrayIn[/* nNodes */][2],
 double OUT__whPt_whV_x_whV_xi[2][2])
/*
  入力引数:
    nNodes は整数で、要素節点数
    whP_N_whV_xi_arrayIn はベクトルの節点配列で、
      形状関数の自然座標に関する微分
    whV_x_arrayIn はベクトルの節点配列で、位置(節点座標)
  出力引数:
    OUT__whPt_whV_x_whV_xi はテンソルで、Jacobian
*/
{
  int In;

  WH_Tensor2D__assign_whT_OUT_whT
    (WH_Tensor2D__whT_O,
     OUT__whPt_whV_x_whV_xi);
  for (In = 0; In < nNodes; In++) {
    double whT_tmp[2][2];

    WH_Tensor2D__whV_otimes_whV_OUT_whT
      (whP_N_whV_xi_arrayIn[In], whV_x_arrayIn[In], 
       whT_tmp);
    WH_Tensor2D__whT_add_whT_OUT_whT
      (OUT__whPt_whV_x_whV_xi, whT_tmp,
       OUT__whPt_whV_x_whV_xi);
  }
}



Hiroshi KAWAI 平成15年8月11日