next up previous contents
: 三角形 : 二次元 : 二次元   目次

実装

/* 形状関数 */
void WH_Fem__Shape2D__N_arrayIn
(WH_Fem__Element2DType elementType,
 int nNodes,
 double whV_xi[2],
 double OUT__N_arrayIn[/* nNodes */])
/*
  入力引数:
    nNodes は整数で、要素節点数
    whV_xi はベクトルで、自然座標
  出力引数:
    OUT__N_arrayIn はスカラーの節点配列で、形状関数
*/
{
  switch (elementType) {
  case WH_FEM__ELEMENT2D__TRI3N:
    WH_Fem__Shape2D__Tri3N__N_arrayIn
      (whV_xi,
       OUT__N_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__TRI6N:
    WH_Fem__Shape2D__Tri6N__N_arrayIn
      (whV_xi,
       OUT__N_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD4N:
    WH_Fem__Shape2D__Quad4N__N_arrayIn
      (whV_xi,
       OUT__N_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD8N:
    WH_Fem__Shape2D__Quad8N__N_arrayIn
      (whV_xi,
       OUT__N_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD9N:
  default:
    assert(0);
    break;
  }
}

/* 形状関数の自然座標についての微分 */
void WH_Fem__Shape2D__whP_N_whV_xi_arrayIn
(WH_Fem__Element2DType elementType,
 int nNodes,
 double whV_xi[2],
 double OUT__whP_N_whV_xi_arrayIn[/* nNodes */][2])
/*
  入力引数:
    nNodes は整数で、要素節点数
    whV_xi はベクトルで、自然座標
  出力引数:
    OUT__whP_N_whV_xi_arrayIn はベクトルの節点配列で、
      形状関数の自然座標に関する微分
*/
{
  switch (elementType) {
  case WH_FEM__ELEMENT2D__TRI3N:
    WH_Fem__Shape2D__Tri3N__whP_N_whV_xi_arrayIn
      (whV_xi,
       OUT__whP_N_whV_xi_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__TRI6N:
    WH_Fem__Shape2D__Tri6N__whP_N_whV_xi_arrayIn
      (whV_xi,
       OUT__whP_N_whV_xi_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD4N:
    WH_Fem__Shape2D__Quad4N__whP_N_whV_xi_arrayIn
      (whV_xi,
       OUT__whP_N_whV_xi_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD8N:
    WH_Fem__Shape2D__Quad8N__whP_N_whV_xi_arrayIn
      (whV_xi,
       OUT__whP_N_whV_xi_arrayIn);
    break;
  case WH_FEM__ELEMENT2D__QUAD9N:
  default:
    assert(0);
    break;
  }
}



Hiroshi KAWAI 平成15年8月11日