next up previous contents
: 稜線上の法線方向成分指定の積分 : 稜線上の積分 : 稜線上の積分   目次

実装

稜線上の線積分の変換子 $J^l$ を評価する 関数は以下のようになる。

/* 稜線上の線積分の変換子 */
void WH_Fem__Isoparam2D__Quad__J_l_Iedge
(int Iedge, 
 double whPt_whV_x_whV_xi[2][2],
 double a,
 double *OUT__J_l)
/*
  入力引数:
    Iedge は整数で、要素辺ID
    whPt_whV_x_whV_xi はテンソルで、Jacobian
    a はスカラーで、厚み
  出力引数:
    OUT__J_l はスカラーで、線積分の変換子
*/
{
  double whP_whV_x_xi[2];
  double whP_whV_x_eta[2];
  double tmp;

  whP_whV_x_xi[0] = whPt_whV_x_whV_xi[0][0];
  whP_whV_x_xi[1] = whPt_whV_x_whV_xi[0][1];
  whP_whV_x_eta[0] = whPt_whV_x_whV_xi[1][0];
  whP_whV_x_eta[1] = whPt_whV_x_whV_xi[1][1];

  switch (Iedge) {
  case 3:   /* -xi */
  case 1:   /* +xi */
    WH_Tensor2D__whLen_whV_OUT_s
      (whP_whV_x_eta,
       &tmp);
    break;
  case 0:   /* -eta */
  case 2:   /* +eta */
    WH_Tensor2D__whLen_whV_OUT_s
      (whP_whV_x_xi,
       &tmp);
    break;
  default:
    assert(0);
    break;
  }

  *OUT__J_l = a * tmp;
}



Hiroshi KAWAI 平成15年8月11日