/* 形状関数 */
void WH_Fem__Shape1D__N_arrayIn
(WH_Fem__Element1DType elementType,
int nNodes,
double xi,
double OUT__N_arrayIn[/* nNodes */])
/*
入力引数:
nNodes は整数で、要素節点数
xi はスカラーで、自然座標
出力引数:
OUT__N_arrayIn はスカラーの節点配列で、形状関数
*/
{
switch (elementType) {
case WH_FEM__ELEMENT1D__LINE2N:
WH_Fem__Shape1D__Line2N__N_arrayIn
(xi,
OUT__N_arrayIn);
break;
case WH_FEM__ELEMENT1D__LINE3N:
WH_Fem__Shape1D__Line3N__N_arrayIn
(xi,
OUT__N_arrayIn);
break;
default:
assert(0);
break;
}
}
/* 形状関数の自然座標についての微分 */
void WH_Fem__Shape1D__whP_N_xi_arrayIn
(WH_Fem__Element1DType elementType,
int nNodes,
double xi,
double OUT__whP_N_xi_arrayIn[/* nNodes */])
/*
入力引数:
nNodes は整数で、要素節点数
whV_xi はスカラーで、自然座標
出力引数:
OUT__whP_N_xi_arrayIn はスカラーの節点配列で、
形状関数の自然座標に関する微分
*/
{
switch (elementType) {
case WH_FEM__ELEMENT1D__LINE2N:
WH_Fem__Shape1D__Line2N__whP_N_xi_arrayIn
(xi,
OUT__whP_N_xi_arrayIn);
break;
case WH_FEM__ELEMENT1D__LINE3N:
WH_Fem__Shape1D__Line3N__whP_N_xi_arrayIn
(xi,
OUT__whP_N_xi_arrayIn);
break;
default:
assert(0);
break;
}
}