next up previous contents
: 形状関数の微分 : 2次 : 形状関数   目次

実装

形状関数を面積座標および自然座標で評価する関数は それぞれ以下のようになる。 これは、全節点の形状関数について一度に計算される。

/* 形状関数(面積座標で評価) */
void WH_Shape__Triangle6Nodes__N_arrayIn_atAC
(double L0, double L1, double L2,
 double OUT__N_arrayIn[6])
/*
  入力引数:
    L0, L1, L2 は面積座標
  出力引数:
    OUT__N_arrayIn はスカラーの節点配列で、形状関数
*/
{
  OUT__N_arrayIn[0] =  L0 * (2 * L0 - 1);
  OUT__N_arrayIn[1] =  L1 * (2 * L1 - 1);
  OUT__N_arrayIn[2] =  L2 * (2 * L2 - 1);
  OUT__N_arrayIn[3] =  4 * L0 * L1;
  OUT__N_arrayIn[4] =  4 * L1 * L2;
  OUT__N_arrayIn[5] =  4 * L2 * L0;
}

/* 形状関数(自然座標で評価) */
void WH_Shape__Triangle6Nodes__N_arrayIn
(double whV_xi[2],
 double OUT__N_arrayIn[6])
/*
  入力引数:
    whV_xi はベクトルで、自然座標
  出力引数:
    OUT__N_arrayIn はスカラーの節点配列で、形状関数
*/
{
  double L0, L1, L2;

  WH_Shape__Triangle__NaturalToArea
    (whV_xi,
     &L0, &L1, &L2);
  WH_Shape__Triangle6Nodes__N_arrayIn_atAC
    (L0, L1, L2,
     OUT__N_arrayIn);
}



Hiroshi KAWAI 平成15年4月19日